Pages: [1] 2   Go Down
Author Topic: Library: Arduino + ATtiny compatible Manchester encoding/decoding  (Read 4790 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I have just published a Manchester encoding/decoding library which is compatible with Arduino and ATtiny. 

This library was originally published on this thread: http://arduino.cc/forum/index.php?action=post;topic=63755.0;num_replies=16

A friend and I have since been working with it and improving it. 

I have now published it in the following location:

http://mchr3k-arduino.blogspot.com/2012/01/wireless-sensor-node-code-management.html
https://github.com/mchr3k/arduino-libs-manchester

This library is ideal for use with the cheap 315Mhz/434Mhz RF transmitters and receivers which are available. 

Would this be an appropriate library to add to the list on this page: http://arduino.cc/en/Reference/Libraries

I am currently using the library with Arduino IDE 0022. I found there were issues with 1.0 support for the ATtiny. 
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 525
Posts: 26551
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Is this different/better somehow from the encoding that the VirtualWire library does for the same kind of transmitter/receivers?
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Global Moderator
Dallas
Online Online
Shannon Member
*****
Karma: 200
Posts: 12782
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I found there were issues with 1.0 support for the ATtiny.

  ?


Quote
Would this be an appropriate library to add to the list on this page: http://arduino.cc/en/Reference/Libraries

Does the library work on an Uno?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Is this different/better somehow from the encoding that the VirtualWire library does for the same kind of transmitter/receivers?
The main difference is that this library works on an ATtiny85 (as well as an Arduino Uno) which is a nice cheap MCU to use for low power wireless nodes.

I haven't actually looked in detail at the code for the VirtualWire library so I can't say whether the encoding is any better/worse.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I found there were issues with 1.0 support for the ATtiny.

  ?


Quote
Would this be an appropriate library to add to the list on this page: http://arduino.cc/en/Reference/Libraries

Does the library work on an Uno?


The library works on an Uno and on an ATtiny85. However I haven't managed to get it to compile using the IDE 1.0 ATtiny85 support.
Logged

Global Moderator
Dallas
Online Online
Shannon Member
*****
Karma: 200
Posts: 12782
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Which core are you using?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Which core are you using?


I'm using the Core linked from this page: http://hlt.media.mit.edu/?p=1695

I managed to resolve the compile errors on my project with IDE 1.0. However, the programming failed with the following errors.

Code:
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x64
avrdude: stk500_cmd(): protocol error

Looks like I'll be sticking with Arduino 0022 for now.
Logged

Global Moderator
Dallas
Online Online
Shannon Member
*****
Karma: 200
Posts: 12782
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
protocol error, expect=0x14, resp=0x64

...is a problem with the ArduinoISP sketch compiled with 1.0.  You can lower the baud rate to 9600, increase the receive buffer size, or I have an update that works correctly with 1.0.  If you'd like a copy, send me a Personal Message with your email address.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the offer - I've sent you a PM. Is there a bug tracking this so it will be fixed in Arduino IDE 1.1?

I've taken a look at the VirtualWire library and it looks like it is a more advanced interrupt based solution. However, as per this thread apparently VirtualWire can be sensitive to the clock frequency changing with temperature.

I am investigating getting VirtualWire working properly on ATtiny so that I can do a fair comparison.
Logged

Global Moderator
Dallas
Online Online
Shannon Member
*****
Karma: 200
Posts: 12782
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the offer - I've sent you a PM.

Sketch on the way.

Quote
Is there a bug tracking this so it will be fixed in Arduino IDE 1.1?

http://code.google.com/p/arduino/issues/detail?id=661
https://github.com/arduino/Arduino/commit/80a2154279a02fd69f995ef6ff9eb889363c73ca
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I've tried using your updated Arduino ISP sketch and I can now program my ATtiny85 using Arduino IDE 1.0 without any errors.

I had to switch to use the http://code.google.com/p/arduino-tiny/ 1.0 compatible ATtiny85 core.
Logged

Global Moderator
Dallas
Online Online
Shannon Member
*****
Karma: 200
Posts: 12782
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Excellent!  I'm glad you have it working.


Quote
Would this be an appropriate library to add to the list on this page: http://arduino.cc/en/Reference/Libraries

Probably.  I suspect there are two obstacles...

1. "Full" Arduino support.  I believe all those libraries have been shown to work on most or all Arduino boards.  At a minimum, your library should be tested on one or both Mega boards.

2. Attention.  The Arduino folks have fallen a bit behind in the documentation.  Even if they agree to add your library, I suspect it would be months before it happened.  Were I in your shoes I would continue the path you've started: publishing and documenting from a site you control.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Excellent!  I'm glad you have it working.

Quote
Would this be an appropriate library to add to the list on this page: http://arduino.cc/en/Reference/Libraries

Probably.  I suspect there are two obstacles...

1. "Full" Arduino support.  I believe all those libraries have been shown to work on most or all Arduino boards.  At a minimum, your library should be tested on one or both Mega boards.

2. Attention.  The Arduino folks have fallen a bit behind in the documentation.  Even if they agree to add your library, I suspect it would be months before it happened.  Were I in your shoes I would continue the path you've started: publishing and documenting from a site you control.

Thanks for the warning. Is there any official process to have the library added to a list for future consideration?

I don't really mind if/when it ever gets linked from the Libraries page. It just seemed like it might be a useful library for other users.
Logged

Global Moderator
Dallas
Online Online
Shannon Member
*****
Karma: 200
Posts: 12782
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Is there any official process to have the library added to a list for future consideration?

I am not aware of one.  I'll try to find out...
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 26
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I have now added interrupt driven message reception to the Manchester library. Full details are available here: http://mchr3k-arduino.blogspot.com/2012/02/wireless-sensor-node-part-6.html
Logged

Pages: [1] 2   Go Up
Jump to: