31 #define CRYPTO_LITTLE_ENDIAN
37 #ifndef MY_SERIALDEVICE
38 #define MY_SERIALDEVICE Serial
44 #ifndef MY_DEBUGDEVICE
45 #define MY_DEBUGDEVICE MY_SERIALDEVICE
53 #ifndef MY_STM32_TEMPERATURE_OFFSET
54 #define MY_STM32_TEMPERATURE_OFFSET (0)
61 #ifndef MY_STM32_TEMPERATURE_GAIN
62 #define MY_STM32_TEMPERATURE_GAIN (100)
68 #define snprintf_P(s, n, ...) snprintf((s), (n), __VA_ARGS__)
71 #define vsnprintf_P(s, n, ...) vsnprintf((s), (n), __VA_ARGS__)
89 #define hwDigitalWrite(__pin, __value) digitalWrite(__pin, __value)
90 #define hwDigitalRead(__pin) digitalRead(__pin)
91 #define hwPinMode(__pin, __value) pinMode(__pin, __value)
94 #define hwMillis() millis()
100 uint32_t hwGetSleepRemaining(
void);
111 void hwWatchdogReset(
void);
125 int32_t hwReadInternalTemp(
void);
131 void hwRandomNumberInit(
void);
139 void hwReadConfigBlock(
void *buf,
void *addr,
size_t length);
147 void hwWriteConfigBlock(
void *buf,
void *addr,
size_t length);
154 void hwWriteConfig(
const int addr, uint8_t value);
161 uint8_t hwReadConfig(
const int addr);
213 int8_t
hwSleep(
const uint8_t interrupt,
const uint8_t mode, uint32_t ms);
226 int8_t
hwSleep(
const uint8_t interrupt1,
const uint8_t mode1,
227 const uint8_t interrupt2,
const uint8_t mode2, uint32_t ms);
231 #error Soft SPI is not available on this architecture!
239 static __inline__ uint8_t __disableIntsRetVal(
void)
245 static __inline__
void __priMaskRestore(
const uint32_t *priMask)
247 __set_PRIMASK(*priMask);
251 #define MY_CRITICAL_SECTION for ( uint32_t __savePriMask __attribute__((__cleanup__(__priMaskRestore))) = __get_PRIMASK(), __ToDo = __disableIntsRetVal(); __ToDo ; __ToDo = 0 )
254 #endif // MyHwSTM32_h