Go Down

Topic: SoftwareSerial with ATTiny84 using ATtiny library (Read 51 times) previous topic - next topic

daywalkerdha

Thanks, but it won't compile
Code: [Select]

In file included from TinyISP.cpp:43:
TinyISP_SanityChecks.h:45:6: error: #error The Knock-Bang Relay and Serial Relay are mutually exclusive for this processor. Enable one or the other but not both. See the <TinyISP_BuildOptions.h> file.
TinyISP_SanityChecks.h:51:10: error: #error Ensure the "#include <SoftwareSerial.h>" line in the sketch is not commented-out or set RELAY_SERIAL_ENABLED to 0 in the <TinyISP_BuildOptions.h> file.

I can remove the 2nd error by removing the comment from the "//#include <SoftwareSerial.h>" line but once I changed the "#define RELAY_KNOCK_BANG_ENABLED  1" to "#define RELAY_KNOCK_BANG_ENABLED 0" in "TinyISP_BuildOptions.h" a whole bunch of compile errors appear.

Code: [Select]

SoftwareSerial/SoftwareSerial.cpp.o: In function `__vector_3':
/Applications/Arduino.app/Contents/Resources/Java/libraries/SoftwareSerial/SoftwareSerial.cpp:302: multiple definition of `__vector_3'
KnockBangReceiver.cpp.o:KnockBangReceiver.cpp:271: first defined here
TinyISP/KnockBangParser.cpp.o: In function `TinyDebugKnockBangParserClass::process()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangParser.cpp:51: multiple definition of `TinyDebugKnockBangParserClass::process()'
KnockBangParser.cpp.o:KnockBangParser.cpp:51: first defined here
TinyISP/KnockBangParser.cpp.o:/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangParser.cpp:51: multiple definition of `TinyDebugParser'
KnockBangParser.cpp.o:KnockBangParser.cpp:51: first defined here
TinyISP/KnockBangReceiver.cpp.o: In function `TinyDebugKnockBangClass_AssemblyMacros()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangReceiver.cpp:155: multiple definition of `TinyDebugKnockBangClass_AssemblyMacros()'
KnockBangReceiver.cpp.o:KnockBangReceiver.cpp:155: first defined here
TinyISP/KnockBangReceiver.cpp.o: In function `KnockBangReceive_begin()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangReceiver.cpp:184: multiple definition of `KnockBangReceive_begin()'
KnockBangReceiver.cpp.o:KnockBangReceiver.cpp:184: first defined here
TinyISP/KnockBangReceiver.cpp.o: In function `KnockBangReceive_end()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangReceiver.cpp:211: multiple definition of `KnockBangReceive_end()'
KnockBangReceiver.cpp.o:KnockBangReceiver.cpp:211: first defined here
TinyISP/KnockBangReceiver.cpp.o: In function `KnockBangReceive_available()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangReceiver.cpp:238: multiple definition of `KnockBangReceive_available()'
KnockBangReceiver.cpp.o:KnockBangReceiver.cpp:238: first defined here
TinyISP/KnockBangReceiver.cpp.o: In function `KnockBangReceive_read()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangReceiver.cpp:250: multiple definition of `KnockBangReceive_read()'
KnockBangReceiver.cpp.o:KnockBangReceiver.cpp:250: first defined here
TinyISP/KnockBangReceiver.cpp.o: In function `__vector_3':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangReceiver.cpp:271: multiple definition of `__vector_3'
KnockBangReceiver.cpp.o:KnockBangReceiver.cpp:271: first defined here
TinyISP/KnockBangReceiver.cpp.o: In function `KnockBangReceive_getStats(kbr_stats_t&)':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangReceiver.cpp:598: multiple definition of `KnockBangReceive_getStats(kbr_stats_t&)'
KnockBangReceiver.cpp.o:KnockBangReceiver.cpp:598: first defined here
TinyISP/KnockBangReceiver.cpp.o: In function `KnockBangReceive_getLastFault()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangReceiver.cpp:637: multiple definition of `KnockBangReceive_getLastFault()'
KnockBangReceiver.cpp.o:KnockBangReceiver.cpp:637: first defined here
TinyISP/KnockBangReceiver.cpp.o: In function `KnockBangReceive_getLastDebug1()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/KnockBangReceiver.cpp:656: multiple definition of `KnockBangReceive_getLastDebug1()'
KnockBangReceiver.cpp.o:KnockBangReceiver.cpp:656: first defined here
TinyISP/TinyISP_AispLED.cpp.o: In function `AispLEDClass::setMode(AispLEDClass::mode_t)':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_AispLED.cpp:94: multiple definition of `AispLEDClass::setMode(AispLEDClass::mode_t)'
TinyISP_AispLED.cpp.o:TinyISP_AispLED.cpp:94: first defined here
TinyISP/TinyISP_AispLED.cpp.o: In function `AispLEDClass::update()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_AispLED.cpp:108: multiple definition of `AispLEDClass::update()'
TinyISP_AispLED.cpp.o:TinyISP_AispLED.cpp:108: first defined here
TinyISP/TinyISP_AispLED.cpp.o: In function `AispLEDClass::flash()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_AispLED.cpp:77: multiple definition of `AispLEDClass::flash()'
TinyISP_AispLED.cpp.o:TinyISP_AispLED.cpp:77: first defined here
TinyISP/TinyISP_AispLED.cpp.o: In function `AispLEDClass::error()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_AispLED.cpp:66: multiple definition of `AispLEDClass::error()'
TinyISP_AispLED.cpp.o:TinyISP_AispLED.cpp:66: first defined here
TinyISP/TinyISP_AispLED.cpp.o: In function `AispLEDClass::begin(unsigned char)':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_AispLED.cpp:53: multiple definition of `AispLEDClass::begin(unsigned char)'
TinyISP_AispLED.cpp.o:TinyISP_AispLED.cpp:53: first defined here
TinyISP/TinyISP_AispLED.cpp.o:/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_AispLED.cpp:94: multiple definition of `StatusIndicator'
TinyISP_AispLED.cpp.o:TinyISP_AispLED.cpp:94: first defined here
TinyISP/TinyISP_Monitor.cpp.o: In function `monitor_run(unsigned char&)':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_Monitor.cpp:123: multiple definition of `monitor_run(unsigned char&)'
TinyISP_Monitor.cpp.o:TinyISP_Monitor.cpp:123: first defined here
TinyISP/TinyISP_Programmer.cpp.o: In function `programmer_toggle_hold_in_reset()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_Programmer.cpp:820: multiple definition of `programmer_toggle_hold_in_reset()'
TinyISP_Programmer.cpp.o:TinyISP_Programmer.cpp:820: first defined here
TinyISP/TinyISP_Programmer.cpp.o: In function `programmer_error_occurred()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_Programmer.cpp:857: multiple definition of `programmer_error_occurred()'
TinyISP_Programmer.cpp.o:TinyISP_Programmer.cpp:857: first defined here
TinyISP/TinyISP_Programmer.cpp.o: In function `programmer_release_target_from_reset()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_Programmer.cpp:829: multiple definition of `programmer_release_target_from_reset()'
TinyISP_Programmer.cpp.o:TinyISP_Programmer.cpp:829: first defined here
TinyISP/TinyISP_Programmer.cpp.o: In function `programmer_hold_target_in_reset()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_Programmer.cpp:852: multiple definition of `programmer_hold_target_in_reset()'
TinyISP_Programmer.cpp.o:TinyISP_Programmer.cpp:852: first defined here
TinyISP/TinyISP_Programmer.cpp.o: In function `programmer_reset_target()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_Programmer.cpp:834: multiple definition of `programmer_reset_target()'
TinyISP_Programmer.cpp.o:TinyISP_Programmer.cpp:834: first defined here
TinyISP/TinyISP_Programmer.cpp.o: In function `programmer_toggle_hold_in_reset()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_Programmer.cpp:820: multiple definition of `param'
TinyISP_Programmer.cpp.o:TinyISP_Programmer.cpp:820: first defined here
TinyISP/TinyISP_Programmer.cpp.o: In function `programmer_process_command(unsigned char)':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_Programmer.cpp:689: multiple definition of `programmer_process_command(unsigned char)'
TinyISP_Programmer.cpp.o:TinyISP_Programmer.cpp:689: first defined here
TinyISP/TinyISP_Programmer.cpp.o: In function `programmer_toggle_hold_in_reset()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_Programmer.cpp:820: multiple definition of `programmer_active'
TinyISP_Programmer.cpp.o:TinyISP_Programmer.cpp:820: first defined here
TinyISP/TinyISP_SPI.cpp.o: In function `spi_begin()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_SPI.cpp:67: multiple definition of `spi_begin()'
TinyISP_SPI.cpp.o:TinyISP_SPI.cpp:67: first defined here
TinyISP/TinyISP_SPI.cpp.o: In function `spi_end()':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_SPI.cpp:102: multiple definition of `spi_end()'
TinyISP_SPI.cpp.o:TinyISP_SPI.cpp:102: first defined here
TinyISP/TinyISP_SPI.cpp.o: In function `spi_send':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_SPI.cpp:120: multiple definition of `spi_transaction(unsigned char, unsigned char, unsigned char, unsigned char)'
TinyISP_SPI.cpp.o:TinyISP_SPI.cpp:120: first defined here
TinyISP/TinyISP_SPI.cpp.o: In function `spi_transaction2(unsigned long)':
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_SPI.cpp:183: multiple definition of `spi_transaction2(unsigned long)'
TinyISP_SPI.cpp.o:TinyISP_SPI.cpp:183: first defined here

Coding Badly


Coding Badly


My apologies.  The current version is configured for a Teensy.  Try this...

• Load the TinyISP sketch

• Undo whatever changes you made

• Navigate to the TinyISP_BuildOptions.h file

• Locate this line...

[font=Courier New]#define RELAY_KNOCK_BANG_ENABLED          1[/font]

 ...and change it to this (change the one to a zero)...

[font=Courier New]#define RELAY_KNOCK_BANG_ENABLED          0[/font]

• Locate this line...

[font=Courier New]#define RELAY_SERIAL_ENABLED              1[/font]

 ...and change it to this (change the one to a zero)...

[font=Courier New]#define RELAY_SERIAL_ENABLED              0[/font]

Erni

I have tried the TinyISP in Arduino version 1.0 and an Attiny85.

After making the changes above evrything works, the heartbeat Led beats, and and I can upload the Blink example.

I have tried it in version 0021 too, without much succes.
In that version, heartbeat ok, burn bootloader OK, but when I try oplading the Blink example, it just get stuck without any error messages.

Now I just need to find out how to use the serial communication.




daywalkerdha

I'm using the newest Arduino version and changed the lines, but now I get:

Code: [Select]

TinyISP_RelaySoftSerial.h:45: error: 'SoftwareSerial' does not name a type
TinyISP_RelaySoftSerial.h:51: error: 'SerialRelay' does not name a type
/Users/daniel/Dropbox/Code/Arduino/libraries/TinyISP/TinyISP_Monitor.cpp: In function 'bool monitor_run(uint8_t&)':
TinyISP_Monitor.cpp:130: error: 'RelaySerial' was not declared in this scope


Didn't I disable the serial relay by setting the setting to 0, because that's what I need in the end ;)

Go Up