Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. wagi
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    wagi

    @wagi

    0
    Reputation
    4
    Posts
    2
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online
    Location Poland

    wagi Follow

    Best posts made by wagi

    This user hasn't posted anything yet.

    Latest posts made by wagi

    • RE: ATmega128 compilation errors with example GatewayW5100 sketch

      Now it is on github also : https://github.com/mysensors/MySensors/issues/1403

      posted in Feature Requests
      wagi
      wagi
    • RE: ATmega128 compilation errors with example GatewayW5100 sketch

      We can see the problem is with MyHwAVR.cpp, where was not declared somethings when board is ATmega128.
      But deeper is MyHwAVR.h, and has included wdt.h. There are this definitions:

      #define wdt_reset() __asm__ __volatile__ ("wdr")
      
      #ifndef __DOXYGEN__
      
      #if defined(WDP3)
      # define _WD_PS3_MASK       _BV(WDP3)
      #else
      # define _WD_PS3_MASK       0x00
      #endif
      
      #if defined(WDTCSR)
      #  define _WD_CONTROL_REG     WDTCSR
      #elif defined(WDTCR)
      #  define _WD_CONTROL_REG     WDTCR
      #else
      #  define _WD_CONTROL_REG     WDT
      #endif
      
      #if defined(WDTOE)
      #define _WD_CHANGE_BIT      WDTOE
      #else
      #define _WD_CHANGE_BIT      WDCE
      #endif
      
      #endif	/* !__DOXYGEN__ */
      

      I've noticed, that when compiling good-working boards i.e. ATmega2560, we have defined WDP3, WDTCSR and WDTOE is not defined. But when compiling ATmega128 board we have NOT defined WDP3, NOT defined WDTCSR, but defined WDTCR and NOT defined WDTOE.

      I'm not programmer, but I suppose, maybe in MyHwAVR.cpp there should be used the new other defined here constants. What do you think ?

      posted in Feature Requests
      wagi
      wagi
    • ATmega128 compilation errors with example GatewayW5100 sketch

      Hello,

      I'm working on GatewayW5100 example sketch. When board is with ATmega328P or ATmega2560 it is ok, but with ATmega128 board there are errors during compilation. Tested on ArduinoIDE and on PlatformIO.

      Do you have any ideas what to do for repair or workaround ?

      See output for ATmega128

      > Executing task in folder home_light_automation: C:\.platformio\penv\Scripts\platformio.exe run <
      
      Processing ATmega128 (platform: atmelavr; board: ATmega128; framework: arduino)
      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Verbose mode can be enabled via `-v, --verbose` option
      CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/ATmega128.html
      PLATFORM: Atmel AVR 2.0.0 > ATmega128/A
      HARDWARE: ATMEGA128 16MHz, 4KB RAM, 127KB Flash
      PACKAGES:
       - framework-arduino-avr-megacore 2.0.2
       - 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 14 compatible libraries
      Scanning dependencies...
      Dependency Graph
      |-- <Ethernet> 2.0.0
      |   |-- <SPI> 1.0
      |-- <MySensors> 2.3.1
      |   |-- <Wire> 1.0
      |   |-- <SPI> 1.0
      |   |-- <EEPROM> 2.0
      Building in release mode
      Compiling .pio\build\ATmega128\src\main.cpp.o
      Compiling .pio\build\ATmega128\lib475\SPI\SPI.cpp.o
      Compiling .pio\build\ATmega128\lib134\Ethernet-2.0.0\Dhcp.cpp.o
      Compiling .pio\build\ATmega128\lib134\Ethernet-2.0.0\Dns.cpp.o
      In file included from C:\.platformio\packages\framework-arduino-avr-megacore\cores\MegaCore/Arduino.h:30:0,
                       from lib\Ethernet-2.0.0\src/Ethernet.h:49,
                       from src\main.cpp:124:
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp: In function 'void WDT_vect()':
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:79:6: warning: 'WDT_vect' appears to be a misspelled signal handler, missing __vector prefix [-Wmisspelled-isr]
       ISR (WDT_vect)
            ^
      In file included from lib\MySensors/MySensors.h:62:0,
                       from src\main.cpp:125:
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp: In function 'void hwPowerDown(uint8_t)':
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:93:26: error: 'WDTCSR' was not declared in this scope
        const uint8_t WDTsave = WDTCSR;
                                ^
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:97:33: error: 'WDIE' was not declared in this scope
         WDTCSR |= (1 << WDCE) | (1 << WDIE);
                                       ^
      In file included from c:\.platformio\packages\toolchain-atmelavr\avr\include\avr\io.h:99:0,
                       from c:\.platformio\packages\toolchain-atmelavr\avr\include\avr\pgmspace.h:90,
                       from C:\.platformio\packages\framework-arduino-avr-megacore\cores\MegaCore/Arduino.h:28,
                       from lib\Ethernet-2.0.0\src/Ethernet.h:49,
                       from src\main.cpp:124:
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp: In function 'bool hwUniqueID(uint8_t (*)[16])':
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:264:27: error: 'SIGRD' was not declared in this scope
        *((uint8_t *)uniqueID) = boot_signature_byte_get(0x00);
                                 ^
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:265:31: error: 'SIGRD' was not declared in this scope
        *((uint8_t *)uniqueID + 1) = boot_signature_byte_get(0x02);
                                     ^
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:266:31: error: 'SIGRD' was not declared in this scope
        *((uint8_t *)uniqueID + 2) = boot_signature_byte_get(0x04);
                                     ^
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:267:31: error: 'SIGRD' was not declared in this scope
        *((uint8_t *)uniqueID + 3) = boot_signature_byte_get(0x01); //OSCCAL
                                     ^
      In file included from lib\MySensors/MySensors.h:62:0,
                       from src\main.cpp:125:
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp: In function 'uint16_t hwCPUFrequency()':
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:304:26: error: 'WDTCSR' was not declared in this scope
        const uint8_t WDTsave = WDTCSR;
                                ^
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:308:2: error: 'TIFR1' was not declared in this scope
        TIFR1 = 0xFF;
        ^
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:315:18: error: 'WDIE' was not declared in this scope
        WDTCSR |= (1 << WDIE);
                        ^
      In file included from c:\.platformio\packages\toolchain-atmelavr\avr\include\avr\io.h:99:0,
                       from c:\.platformio\packages\toolchain-atmelavr\avr\include\avr\pgmspace.h:90,
                       from C:\.platformio\packages\framework-arduino-avr-megacore\cores\MegaCore/Arduino.h:28,
                       from lib\Ethernet-2.0.0\src/Ethernet.h:49,
                       from src\main.cpp:124:
      lib\MySensors/hal/architecture/AVR/MyHwAVR.cpp:320:29: error: 'WDIF' was not declared in this scope
        while (bit_is_clear(WDTCSR,WDIF)) {};
                                   ^
      *** [.pio\build\ATmega128\src\main.cpp.o] Error 1
      =================================================================================== [FAILED] Took 1.07 seconds ===================================================================================
      The terminal process terminated with exit code: 1
      
      Terminal will be reused by tasks, press any key to close it.
      
      

      And for ATmega2560 board output is here:

      > Executing task in folder home_light_automation: C:\.platformio\penv\Scripts\platformio.exe run <
      
      Processing ATmega2560 (platform: atmelavr; board: ATmega2560; framework: arduino)
      ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Verbose mode can be enabled via `-v, --verbose` option
      CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/ATmega2560.html
      PLATFORM: Atmel AVR 2.0.0 > ATmega2560
      HARDWARE: ATMEGA2560 16MHz, 8KB RAM, 255KB Flash
      PACKAGES:
       - framework-arduino-avr-megacore 2.0.2
       - 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 14 compatible libraries
      Scanning dependencies...
      Dependency Graph
      |-- <Ethernet> 2.0.0
      |   |-- <SPI> 1.0
      |-- <MySensors> 2.3.1
      |   |-- <Wire> 1.0
      |   |-- <SPI> 1.0
      |   |-- <EEPROM> 2.0
      Building in release mode
      Checking size .pio\build\ATmega2560\firmware.elf
      Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
      RAM:   [=         ]  11.6% (used 952 bytes from 8192 bytes)
      Flash: [=         ]   7.8% (used 20492 bytes from 261120 bytes)
      =================================================================================== [SUCCESS] Took 0.90 seconds ===================================================================================
      
      Terminal will be reused by tasks, press any key to close it.
      
      posted in Feature Requests
      wagi
      wagi