Go Down

Topic: Tiny Core 2 + ATtiny861 (Read 25900 times) previous topic - next topic

smithy

#45
Mar 02, 2014, 12:35 pm Last Edit: Mar 03, 2014, 05:15 pm by smithy Reason: 1
Thanks for your fast response !

Well when you look at this page http://www.microfusion.de/e-/Microcontroller/AVR-Overview/ATtiny.html#ATtiny261 and are looking for the most precise current measure + most pins it´s obvious to chose the x61 family.
I want to drive an lcd in 4 bit mode + 2-3 buttons, which is quite hard if you use a pdip8.
It is possible but you have to buy 2 PCF8574 or a 16 bit port expander for which the pin definition for driving the lcd with i2c lib is not clear to me. It also increases the cost for this project alot !
Since the 85 only has 1x and 20x gain, I first went for the 32u4, but it only has bipolar mode resulting in 9 bits and theres no pdip :(
The 861 is the only chip having unipolar mode and even better gain stages of 1, 8, 20 and 32x plus plenty of pins to mess with !

Code: [Select]
Or are you referring to version 1 (Tiny Core without the "2")?
I´m sorry i kinda messed something up in my head when writing this, after checking my documents folder it seems i have the TC core still installed, but it seems i got knockbang to work with it.
I´m still a bit confused about which versions to use since i worked with tinycore1 before and had all the "old" versions, i saw that you named the zips on the google code page to version 2.
So far i have replaced only the knockbang, i guess its wise to replace tinyisp aswell ?

Just curious, what does
Code: [Select]

#if TC_VERSION < 200
typedef fstr_t __FlashStringHelper;
#endif

do ?

Gonna switch to tinycore2 and do some testing to report after.

As far as the pin mapping is concerned, i guess the reason i have even more weird pin mappings is due to the other core ?
My pin mapping would look like this.

                   +-\/-+
      (D 0)  PB0  1|    |20 PA0  (D 15)
     *(D 1)  PB1  2|    |19 PA1  (D 14)
      (D 2)  PB2  3|    |18 PA2  (D 13)  INT1
     *(D 3)  PB3  4|    |17 PA3  (D 12)
             VCC  5|    |16 AGND
             GND  6|    |15 AVCC
      (D 4)  PB4  7|    |14 PA4  (D 11)
     *(D 5)  PB5  8|    |13 PA5  (D 10)
INT0  (D 6)  PB6  9|    |12 PA6  (D 9)
      (D 7)  PB7 10|    |11 PA7  (D 8 )
                   +----+

A0 should be ADC0 and so on, haven´t made an own pinout yet so i don´t know how that works.

smithy

#46
Mar 02, 2014, 03:43 pm Last Edit: Mar 03, 2014, 05:12 pm by smithy Reason: 1
Switched to Tinycore2 and having different compiler problems now :(

Delay doesnt workt but can be replaced with _delay_ms it seems.
I removed the outcommented lines from knockbang.h and it compiles and works.
When i try to compile the lcd blink example i get :
Code: [Select]
In file included from Blink.ino:40:
C:\My Progs\arduino-1.0.3\libraries\LiquidCrystal/LiquidCrystal.h:45: error: expected class-name before '{' token
C:\My Progs\arduino-1.0.3\libraries\LiquidCrystal/LiquidCrystal.h:82: error: 'size_t' does not name a type
C:\My Progs\arduino-1.0.3\libraries\LiquidCrystal/LiquidCrystal.h:85: error: 'Print' has not been declared
In file included from Blink.ino:43:
C:\Users\Master\Documents\Arduino\hardware\Tinycore2\cores\tiny/Arduino.h: In function 'int32_t randomI(int32_t)':
C:\Users\Master\Documents\Arduino\hardware\Tinycore2\cores\tiny/Arduino.h:1261: error: 'UINT8_MAX' was not declared in this scope
C:\Users\Master\Documents\Arduino\hardware\Tinycore2\cores\tiny/Arduino.h:1265: error: 'UINT16_MAX' was not declared in this scope
C:\Users\Master\Documents\Arduino\hardware\Tinycore2\cores\tiny/Arduino.h:1276: error: 'UINT8_MAX' was not declared in this scope
C:\Users\Master\Documents\Arduino\hardware\Tinycore2\cores\tiny/Arduino.h:1280: error: 'UINT16_MAX' was not declared in this scope
Blink.ino: In function 'void setup()':
Blink:49: error: 'class LiquidCrystal' has no member named 'print'

Now i know why i switched to the TCWORLD core again, because i could compile using libraries using print.
But isn´t  knockbang using print aswell and can compile ?

I´d really like to stay with your work but for now I have no other solution than switching to TCWORLD core again and find out its pin mapping.

For those interested, heres the pinout for the TCWORLD Core, got the lcd to work in 4bit mode, but only with the standard lcd library.
Even though this is a bit offtopic :
The extended lcd lib keeps complaining about Wire.h when compiling (even though i didnt include LiquidCrystal_I2C.h) so i deleted LCDI2CIO.h/cpp and LiquidCrystal_I2C.h/cpp leaving me with following error :
LiquidCrystal\LCD.cpp.o:(.rodata._ZTV3LCD+0xe): undefined reference to `__cxa_pure_virtual'
Any clue ?

Big thanks for your time !

Go Up