Arduino Tiny

I'm very happy to hear this from you... :cold_sweat:
Do you remember this problem:
Linux Kernel 3.0 stopped ArduinoISP working

So, if 1+1=2, I can say for sure that the Linux AVR toolchain is BUGGY at the maximal level! Crap....
This is not the first problem that I'm having with the toolchain, with Tiny but with Arduino/Atmega328 too.

With ArchLinux I had to heavely patch all the toolchain because I had a lot of problems compiling the sketches, and after I patched everything, I discovered the above bug.... that was replicated on the latest Ubuntu 11.10 too.... So I roll back to Ubuntu 11.04.... and a new bug has emerged!!
:0

Start thinking to switch to PIC for their Linux support.... :roll_eyes:

leo72:
I'm very happy to hear this from you... :cold_sweat:

I am sorry for bringing you such bad and annoying news.

Do you remember this problem:
Linux Kernel 3.0 stopped ArduinoISP working

I do. And I (finally) have a possible theory (see the other thread).

Start thinking to switch to PIC for their Linux support.... :roll_eyes:

Noooo! You must not fall to the Darkside!

XD
By the way, I don't understand why Atmel isn't supporting other OSes than Windows! Atmel is very common through hobbiest and hackers but a lot of them use Linux rather than Win's....

I think Atmel has a "supported" Linux toolset available from their website. I believe they even have two (or more) binary packages available.

Have you tried the toolset available from Atmel?

For "Linux support" I mean an official IDE. AVRStudio works only under Windows. Microchip has its IDE both for Win and Linux. The AVR toolchain under Linux has always been bugged (starting from binutils-avr ending to gcc-avr)... :roll_eyes:

Have you tried the toolset available from Atmel?

Where are they? I didn't know about them.

Scott Howard graciously posted this to the Developers List...

They do, and this is where Debian/Ubuntu's tool chain directly comes from:
http://distribute.atmel.no/tools/opensource/avr-gcc/

Also, here are precompiled binaries (32 and 64 bit)
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=17311&category_id=163&family_id=607&subfamily_id=1965

Arduino Playground - Debian
Arduino Playground - Ubuntu

That is, quite literally, all I know about it.

Those are patches to apply to the GNU AVR tools. But it seems that they are a little bit out of date since they seem to be dated feb/2011. Debian/Ubuntu should already have the AVR tools patched.

Bummer.

One question about PWM with Attiny85.
In the file pins_arduino.c there are the alternative functions of the pins, and PWM signals are marked on pins D0 and D1.

#if defined( __AVR_ATtinyX5__ )

// ATMEL ATTINY45 / ARDUINO
//
//                           +-\/-+
//  Ain0       (D  5)  PB5  1|    |8   VCC
//  Ain3       (D  3)  PB3  2|    |7   PB2  (D  2)  INT0  Ain1
//  Ain2       (D  4)  PB4  3|    |6   PB1  (D  1)        pwm1
//                     GND  4|    |5   PB0  (D  0)        pwm0
//                           +----+

// these arrays map port names (e.g. port B) to the
// appropriate addresses for various functions (e.g. reading
// and writing) tiny45 only port B

But the datasheet says that both timers 0 & 1 are capables of PWM functions, and that the PWM pin are D0, D1, D3 and D4 (to be more exact, D3 is the inverse of the signal that is present on D4). Does the core Tiny support PWM signals on pin D4 too? Is the pin mapping out of date?

Yes and yes.

Hi all,

I have a AtT4313 and want to use its inboard UART. When ever it try to upload the sketch it fails with this error:

Binary sketch size: 2350 bytes (of a 4096 byte maximum)
avrdude: ERROR: address 0x0810 out of range at line 129 of C:\Users\xxx\AppData\Local\Temp\build7553309411575013505.tmp\RX_Blink_ATT2313.cpp.hex
avrdude: write to file 'C:\Users\xxx\AppData\Local\Temp\build7553309411575013505.tmp\RX_Blink_ATT2313.cpp.hex' failed

Im trying to get a Serial LCD to display data. Here is the code:

const int CR = 13;

void setup(){
  Serial.begin(9600);
  for (int i=0; i<15; i++){
    Serial.print(CR, BYTE);
  }
}

void loop(){
}

void LCDWrite(int s) {
  Serial.print("ad");
  Serial.print(s);
  Serial.print(CR, BYTE);
}

I know the Attiny2313 only has 2048 of flash but the Attiny4313 has 4096 of flash.

I have increased the size in boards.txt.

attiny2313at1.upload.maximum_size=4096

and i have updated the core to support the Attiny4313.

Can anybody help?

Thanks

Question about SoftwareSerial support. Is there any change to have the new SoftwareSerial lib that is shipped with Arduino 1.0 works with the last Tiny core 1.0? I tried today an example but I get some errors during compilation. Or should I continue to use the old NewSoftSerial modded to work with Tiny cores?

@dlar: The Tiny Core has support for the ATtiny4313. Just use the latest version.

leo72:
Is there any change to have the new SoftwareSerial lib that is shipped with Arduino 1.0 works with the last Tiny core 1.0?

I don't know. I believe the Arduino 1.0 SoftwareSerial is very very similar to the previous NewSoftSerial. If they are similar then SoftwareSerial, like NewSoftSerial has to be modified to work on ATtiny processors.

I tried today an example but I get some errors during compilation. Or should I continue to use the old NewSoftSerial modded to work with Tiny cores?

There does not appear to be any new bug fixes and just one new feature...
http://arduiniana.org/libraries/newsoftserial/
http://code.google.com/p/arduino/issues/list?q=softwareserial

So, it looks like the best course is to continue using the modified "old" NewSoftserial.

The libraries are different. SoftwareSerial has been changed and if you download NewSoftSerial1.2 you can check that libraries don't match.
SoftwareSerial has taken the "write" method instead of "print" one, following the new trend of the Arduino IDE 1.0 but those methods conflict the some code in the tiny/cores/tiny/Print.h file.
I will try to use the "old" & modded NewSoftSerial1.2 instead of the SoftwareSerial.

One question. Why did you remove the links to the old Tiny core from Google code?
Isn't it possible to download the old 0022 version?
Forget about it.... I had just to click on "deprecated downloads" :sweat_smile:

using linux mint I followed the instructions on arduinos page to install 1.0 on ubuntu, everything works fine until I hit the tiny, using the latest and greatest core I get the following

In file included from /usr/share/arduino/hardware/arduino/cores/tiny/WProgram.h:17,
                 from /usr/share/arduino/hardware/arduino/cores/tiny/Arduino.h:4,
                 from Blink.cpp:8:
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:629: error: ‘TINY_DEBUG_SERIAL_REGISTER’ was not declared in this scope
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:629: error: ‘TINY_DEBUG_SERIAL_BIT’ was not declared in this scope
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:629: error: template argument 1 is invalid
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:629: error: template argument 2 is invalid
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:629: error: invalid type in declaration before ‘;’ token
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:630: error: ‘TINY_DEBUG_SERIAL_REGISTER’ was not declared in this scope
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:630: error: ‘TINY_DEBUG_SERIAL_BIT’ was not declared in this scope
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:630: error: template argument 1 is invalid
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:630: error: template argument 2 is invalid
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:630: error: invalid type in declaration before ‘;’ token
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:631: error: ‘TINY_DEBUG_SERIAL_REGISTER’ was not declared in this scope
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:631: error: ‘TINY_DEBUG_SERIAL_BIT’ was not declared in this scope
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:631: error: template argument 1 is invalid
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:631: error: template argument 2 is invalid
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:631: error: invalid type in declaration before ‘;’ token
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h: In member function ‘void TinyDebugSerial::begin(long int)’:
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:682: error: cannot convert ‘TinyDebugSerialWriter_9600*’ to ‘TinyDebugSerialWriter*’ in assignment
/usr/share/arduino/hardware/arduino/cores/tiny/TinyDebugSerial.h:686: error: cannot convert ‘TinyDebugSerialWriter_38400*’ to ‘TinyDebugSerialWriter*’ in assignment

while uploading a simple blink sketch ... help?

Which board do you have selected?

attiny 84 @ 8 mhz

I can't find any problems.

using the latest and greatest core

Did you get it from the Source tab, Downloads tab, or the Home tab? Maybe one of the links is pointing to something out-of-date.