Thank you for taking the time to write about your experience and posting a link here.
Regards to Coding Badly for the good software.
My pleasure. I'm glad you find it useful.
Have (had) you considered using Knock-Bang instead of Serial? I use it with an ATtiny13 processor so the footprint has to be even smaller than TinyDebugSerial. (There are a few other benefits over Serial.)
No, I have not tried the Knock-Bang protocol, because I thought it needs more flash-ROM space than the serial protocol.
When you say so that it needs less space, I will give it a try.
Knock-Bang uses roughly half the space of TinyDebugSerial. println of an integer is 292 bytes versus 582 bytes. println of a Flash string constant is 282 versus 638. One println of each is 348 versus 710.
Erni:
I did not know your Tiny core supported the attiny13 ?
The version on my desk (mostly) does. It has some goodies that actually make the ATtiny13 useful. But the core is not complete (no: analogRead, delay, delayMicroseconds, tone w/ variable parameters).
I have used smeezekitty's tiny13 core, which is great, but it would be nice to be able to use your TinyISP.
Knock-Bang should be independent of the core. TinyISP + Knock-Bang should work well with smeezekitty's core (or any other core).
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
Serial.begin( 9600 );
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000);
Serial.println( "Testing..."); // debug output
}
I think the buty about Serial Relay is that you have two way communication. This makes the tiny environment look and feel almost like an Arduino.
If you want to utilize this feature you have to use SoftwareSerial, atleast that is my understanding.
On the other hand I can see the advantage of using the TinyDebugSerial: You can take a Arduino sketch an compile it for a tiny without midifying the Serial.print() statements.
I have tried using KnockBang on a Attiny13, with no luck
I get this error:
In file included from tiny_knockbang.cpp:1:
D:\arduino-1.01\arduino-1.0.1-windows (1)\arduino-1.0.1\libraries\TinyDebugKnockBang/TinyDebugKnockBang.h:55: error: 'fstr_t' does not name a type
D:\arduino-1.01\arduino-1.0.1-windows (1)\arduino-1.0.1\libraries\TinyDebugKnockBang/TinyDebugKnockBang.h:152: error: expected ',' or '...' before '*' token
I added these to the WProgram.h, which gave another error:
D:\arduino-1.01\arduino-1.0.1-windows (1)\arduino-1.0.1\libraries\TinyDebugKnockBang/TinyDebugKnockBang.h:156: error: 'DEC' was not declared in this scope
So I added #include "print.h" in the WProgram.h , and now it compiles and uploads.
When I open the serial monitor (19200 baud) and type a ! I get this error:
--- Knock-Bang fault: 15 ---
I was thinking it maybe had something to do with the clock speed which was 128kHz, so I tried at 9,6 mHz and got this error:
--- Knock-Bang fault: 11 ---
i get the correct respons from the serial monitor, when I use @,# and !