platform-atmelavr icon indicating copy to clipboard operation
platform-atmelavr copied to clipboard

Compilation error with digispark-tiny board and OneWire Library

Open NilsRo opened this issue 5 years ago • 1 comments

Hi,

I tried to program an ATTiny85 with Micronucleus bootloader (digispark-tiny) which works really fine. But when I add the OneWire Library I could not build anymore. If I change the board it runs fine again. So it seems some relationship between the board and the library. Does anybody knows a solution? All components are up-to-date, Processing digispark-tiny (platform: atmelavr; board: digispark-tiny; framework: arduino) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/digispark-tiny.html PLATFORM: Atmel AVR (3.0.0) > Digispark USB
HARDWARE: ATTINY85 16MHz, 512B RAM, 5.87KB Flash DEBUG: Current (simavr) On-board (simavr)
PACKAGES:

  • framework-arduino-avr-digistump 1.6.7
  • toolchain-atmelavr 1.50400.190710 (5.4.0)
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 37 compatible libraries Scanning dependencies... Dependency Graph |-- <PID> 1.2.1 |-- <DS18B20> 0.1.6
    | |-- <OneWire> 2.3.5
    | | |-- <VirtualWire> |-- <OneWire> 2.3.5
    | |-- <VirtualWire>
    Building in release mode Compiling .pio\build\digispark-tiny\lib03a\OneWire\OneWire.cpp.o In file included from C:\Users\nrott.platformio\packages\framework-arduino-avr-digistump\cores\dtiny/Stream.h:24:0, from C:\Users\nrott.platformio\packages\framework-arduino-avr-digistump\cores\dtiny/TinyDebugSerial.h:31, from C:\Users\nrott.platformio\packages\framework-arduino-avr-digistump\cores\dtiny/WProgram.h:18, from C:\Users\nrott.platformio\packages\framework-arduino-avr-digistump\cores\dtiny/Arduino.h:4, from C:\Users\nrott.platformio\lib\OneWire\OneWire.cpp:142: C:\Users\nrott.platformio\packages\framework-arduino-avr-digistump\cores\dtiny/Print.h:37:0: warning: "BIN" redefined #define BIN 2 ^ In file included from c:\users\nrott.platformio\packages\[email protected]\avr\include\avr\iotn85.h:38:0, from c:\users\nrott.platformio\packages\[email protected]\avr\include\avr\io.h:428, from c:\users\nrott.platformio\packages\[email protected]\avr\include\avr\interrupt.h:38, from C:\Users\nrott.platformio\packages\framework-arduino-avr-digistump\cores\dtiny/WProgram.h:8, from C:\Users\nrott.platformio\packages\framework-arduino-avr-digistump\cores\dtiny/Arduino.h:4, from C:\Users\nrott.platformio\lib\OneWire\OneWire.cpp:142: c:\users\nrott.platformio\packages\[email protected]\avr\include\avr\iotnx5.h:55:0: note: this is the location of the previous definition #define BIN 7 ^ In file included from C:\Users\nrott.platformio\packages\framework-arduino-avr-digistump\cores\dtiny/WProgram.h:13:0, from C:\Users\nrott.platformio\packages\framework-arduino-avr-digistump\cores\dtiny/Arduino.h:4, from C:\Users\nrott.platformio\lib\OneWire\OneWire.cpp:142: C:\Users\nrott.platformio\lib\OneWire\OneWire.cpp: In member function 'void OneWire::begin(uint8_t)': C:\Users\nrott.platformio\packages\framework-arduino-avr-digistump\cores\dtiny/pins_arduino.h:81:93: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define portInputRegister(P) ( (volatile uint8_t )( pgm_read_byte( port_to_input_PGM + (P))) ) ^ C:\Users\nrott.platformio\lib\OneWire\util/OneWire_direct_gpio.h:13:42: note: in expansion of macro 'portInputRegister' #define PIN_TO_BASEREG(pin) (portInputRegister(digitalPinToPort(pin))) ^ C:\Users\nrott.platformio\lib\OneWire\OneWire.cpp:151:12: note: in expansion of macro 'PIN_TO_BASEREG' baseReg = PIN_TO_BASEREG(pin); ^ C:\Users\nrott.platformio\lib\OneWire\OneWire.cpp: In static member function 'static uint16_t OneWire::crc16(const uint8_t, uint16_t, uint16_t)': C:\Users\nrott.platformio\lib\OneWire\OneWire.cpp:554:42: error: '_crc16_update' was not declared in this scope crc = _crc16_update(crc, input[i]); ^ *** [.pio\build\digispark-tiny\lib03a\OneWire\OneWire.cpp.o] Error 1 ================================================================================================== [FAILED] Took 2.47 seconds ================================================================================================== The terminal process "C:\Users\nrott.platformio\penv\Scripts\pio.exe 'run', '--environment', 'digispark-tiny'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

Cheers, Nils

NilsRo avatar Dec 02 '20 21:12 NilsRo

Hi Nils, sorry for the late reply. Does it work in the Arduino IDE?

valeros avatar Jan 06 '21 16:01 valeros