What is the status of serial on a tiny85

I have use for software serial on a ATTINY85 using arduino tiny, what is the status of serial communications? I started to design a board and thought I better check, using the 1.0 included lib results in issue 49 ... any work arounds? I just need to receive streams of characters

Thanks

I have not tried it myself. As far as I know, the solution is... http://arduino.cc/forum/index.php/topic,58756.msg422560.html#msg422560 http://arduino.cc/forum/index.php/topic,51984.msg472041.html#msg472041

cool, I will play around with it tomorrow and over the weekend (search was failing me)

at work they tore down quite a few old test carts that were in storage, our lab is now the proud owners of 7 boards containing 24, 60 volt, 3 amp SSR's each, and I would rather not use the old ISA machines they were attached to ... FTDI cable + tiny + 595's = happy

Osgeld:
cool, I will play around with it tomorrow and over the weekend (search was failing me)

Please report back with a thumbs-up or thumbs-down.

at work they tore down quite a few old test carts that were in storage, our lab is now the proud owners of 7 boards containing 24, 60 volt, 3 amp SSR’s each,

60 volts? What were they controlling? Motors?

and I would rather not use the old ISA machines they were attached to … FTDI cable + tiny + 595’s = happy

If you use the internal oscillator, how have you been tuning (or do you)?

Please report back with a thumbs-up or thumbs-down.

will do

60 volts? What were they controlling? Motors?

no light testers @ 13VDC, the current was the important part

If you use the internal oscillator, how have you been tuning (or do you)?

I havent been before

If you decide to tune let me know. I have something that should make the process painless.

ok well the software serial included in 1.0...

formerly NewSoftSerial

does not contain the lines given in the link above, so I am going to get the older verion and see what happens

here is what I am getting with the "new" software serial included in 1.0

In file included from Blink.cpp:1:0: /usr/share/arduino/libraries/SoftwareSerial/SoftwareSerial.h:92:18: error: conflicting return type specified for ‘virtual size_t SoftwareSerial::write(uint8_t)’ /usr/share/arduino/hardware/arduino/cores/tiny/Print.h:71:18: error: overriding ‘virtual void Print::write(uint8_t)’

nothing I try seems to work, and I cant find a older version of new soft serial

crap =(

NewSoftwareSerial 10c from this post does not work? http://arduino.cc/forum/index.php/topic,58756.msg422560.html#msg422560

Osgeld: here is what I am getting with the "new" software serial included in 1.0 ...error: conflicting return type specified for ‘virtual size_t SoftwareSerial::write(uint8_t)’

Several folks are complaining about that problem. I'll try to get it knocked out this week. The problem is that the Tiny Core still includes Print.* from 0022. You may be able to drop in the two files from 1.0. Wait, that probably won't work.

it doesnt :)

I used

http://hlt.media.mit.edu/?p=1695

and its quite crappy but I was able to get 2400 baud to work properly once tonight @8Mhz, maybe with a arduino tiny tuneup I can get it consistant, and maybe faster (though I am sending 3 whole bytes at a time speed isnt really an issue here)

Perfect! That is exactly what I needed to know. I've been trying to set aside some time to run that exact test. Thank you for posting!

I can now go back to mucking with the TIny Core.

maybe with a arduino tiny tuneup I can get it consistant, and maybe faster

If you want to test drive an experimental replacement let me know.

Please give this a try... http://arduino-tiny.googlecode.com/files/arduino-tiny-0100-0014.zip

Only support for the ATtiny85 family was added. After a few folks have tested it, I will add support for the ATtiny84 family and the ATtiny2313 family.

If anyone reading this tests SoftwareSerial with the Tiny Core, please report back.

Success. I tried with attiny85 at 8Mhz and it worked just fine. I only tried with 4800, but will test with higher baudrate.

my test sketch:

#include 
const int rx=2;
const int tx=3;


SoftwareSerial mySerial(rx, tx);

int i=0;
char buf[10];

void setup() 
{ 
  pinMode(rx,INPUT);
  pinMode(tx,OUTPUT);
   mySerial.begin(4800);
  
} 

void loop() 
{ 
  if (mySerial.available()>0){
   
    buf[i]= mySerial.read(); 
   
    if (int(buf[i])==13 || int(buf[i])==10 ){  //If Carriage return has been reached
  
        mySerial.println(buf);
        
      for(int x=0;x<=8;x++){
      buf[x]=' ';
      }
     i=0;  //start over again
   
    } //if enter
    i++; 
    } //IF mySerial.available
    
}//LOOP

Hi, I am keen to see this fix in the tiny84 currently I get the compile error: ~~~~ C:\Users\John\Documents\arduino\libraries\jeelib/Ports.h:325: error: conflicting return type specified for 'virtual void UartPlug::write(byte)' C:\Dropbox\SKETCHES\hardware\tiny\cores\tiny/Print.h:73: error: overriding 'virtual size_t Print::write(uint8_t)' ~~~~

In the first sketch I used the serial monitor as input.

Now I tried this sketch on my Uno, connected UNO tx->tiny rx It works as it should, no garbled characters and at 9600 baud.

I use a CP2103 serial/USB converter from Ebay to test the output from the Tiny

int x=0;
char buffer[10];

void setup() 
{ 
   Serial.begin(9600);

} 

void loop() 
{ 
  sprintf(buffer, "Test:%03d",x);
 Serial.println(buffer);
  x++;
  delay(500);
}//LOOP

JohnO: Hi, I am keen to see this fix in the tiny84 currently I get the compile error:

With the version in Reply #14?

@Erni: Thanks!