1

I have a stack of TinyDuino boards including

TinyZero and 433MHZ Long Range Radio TinyShield.

I previously has this processor and had no problem compiling the sketch and uploading it.

With the TinyZero now I get the following error.

RadioHead.h:463:29: error: RHutil/atomic.h: No such file or directory
   #include <RHutil/atomic.h>

Obviously there is a file missing, when I tried to copy the file from the web I got another error saying:

    sketch/RHHardwareSPI.cpp: In member function 'virtual void RHHardwareSPI::begin()':
RHHardwareSPI.cpp:99:58: error: invalid conversion from 'uint8_t {aka unsigned char}' to 'BitOrder' [-fpermissive]
     _settings = SPISettings(frequency32, bOrder, dataMode);
                                                          ^
In file included from sketch/RHGenericSPI.h:13:0,
                 from sketch/RHHardwareSPI.h:10,
                 from sketch/RHHardwareSPI.cpp:7:
/home/ktsirakos/.arduino15/packages/TinyCircuits/hardware/samd/1.0.8/libraries/SPI/SPI.h:50:3: error:   initializing argument 2 of 'SPISettings::SPISettings(uint32_t, BitOrder, uint8_t)' [-fpermissive]
   SPISettings(uint32_t clock, BitOrder bitOrder, uint8_t dataMode) {
   ^

What the board does is to get Accelerometer values and send it to a receiver with the same RadioHead board.

I think it is because of the ARM of the TinyZero processor because the RadioHead.h header file includes these lines of code.

    // This is an attempt to make a portable atomic block
#if (RH_PLATFORM == RH_PLATFORM_ARDUINO)
#if defined(__arm__)
  #include "atomic.h"
 #else
  #include <util/atomic.h>
 #endif
 #define ATOMIC_BLOCK_START     ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
 #define ATOMIC_BLOCK_END }
#elif (RH_PLATFORM == RH_PLATFORM_UNO32)
 #include <peripheral/int.h>
 #define ATOMIC_BLOCK_START unsigned int __status = INTDisableInterrupts(); {
 #define ATOMIC_BLOCK_END } INTRestoreInterrupts(__status);
#else 
 // TO BE DONE:
 #define ATOMIC_BLOCK_START
 #define ATOMIC_BLOCK_END
#endif

Any suggestion if it is possible to run these 2 together? (TinyZero and RadioHead)?

Thank you very much in advance.

5
  • When using the newest RadioHead and a new official arduino Zero with a new bootloader from arduino.cc, it should work according to the RadioHead page: airspayce.com/mikem/arduino/RadioHead How old is the core software for the TinyZero? Commented Jan 20, 2019 at 19:51
  • Helly @Jot , the software has been build to run on this processor: tinycircuits.com/products/… Commented Jan 23, 2019 at 18:30
  • Konstantinos Tsirakos, that is with the atmega328p microcontroller, the same as in the arduino uno, nano, pro mini and so on. That is very compatible. The arduino zero and clones with samd21 processors are not so compatible. There are even a few different official arduino boards with the samd21 (arduino M0, arduino zero, arduino mkr). I think they build a new core environment for the TinyZero which is somehow going in its own direction or is too old. Commented Jan 23, 2019 at 21:30
  • The problem was with the drivers, I updated them from the site you send to me and everything worked ok with that. :) Commented Jan 24, 2019 at 11:31
  • That's very nice. I try to keep up with the newest software/firmware/bootloaders. For me, a arduino clone is no problem, as long as I can use the arduino software. I stay away from other "compatible" boards that have their own core. Commented Jan 24, 2019 at 15:12

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.