mirror of
https://github.com/alexhopeoconnor/firmware.git
synced 2026-10-17 09:01:30 +10:00
misc NRF52 fixes
This commit is contained in:
@@ -11,6 +11,7 @@ typedef uint8_t PacketId; // A packet sequence number
|
||||
|
||||
#define NODENUM_BROADCAST 255
|
||||
#define ERRNO_OK 0
|
||||
#define ERRNO_NO_INTERFACES 33
|
||||
#define ERRNO_UNKNOWN 32 // pick something that doesn't conflict with RH_ROUTER_ERROR_UNABLE_TO_DELIVER
|
||||
|
||||
typedef int ErrorCode;
|
||||
|
||||
+1
-2
@@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
#include <assert.h>
|
||||
#include <list>
|
||||
|
||||
template <class T> class Observable;
|
||||
@@ -14,7 +14,6 @@ template <class T> class Observer
|
||||
Observable<T> *observed = NULL;
|
||||
|
||||
public:
|
||||
|
||||
virtual ~Observer();
|
||||
|
||||
void observe(Observable<T> *o);
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
#include <assert.h>
|
||||
|
||||
static inline void debugger_break(void)
|
||||
{
|
||||
__asm volatile("bkpt #0x01\n\t"
|
||||
"mov pc, lr\n\t");
|
||||
}
|
||||
|
||||
// handle standard gcc assert failures
|
||||
void __attribute__((noreturn)) __assert_func(const char *file, int line, const char *func, const char *failedexpr)
|
||||
{
|
||||
debugger_break();
|
||||
}
|
||||
@@ -114,6 +114,11 @@ bool RH_RF95::init()
|
||||
return enableInterrupt();
|
||||
}
|
||||
|
||||
// If on a platform without level trigger definitions, just use RISING and suck it up.
|
||||
#ifndef ONHIGH
|
||||
#define ONHIGH RISING
|
||||
#endif
|
||||
|
||||
bool RH_RF95::enableInterrupt()
|
||||
{
|
||||
// Determine the interrupt number that corresponds to the interruptPin
|
||||
|
||||
@@ -39,6 +39,16 @@ class RadioInterface
|
||||
|
||||
virtual void loop() {} // Idle processing
|
||||
|
||||
/**
|
||||
* Return true if we think the board can go to sleep (i.e. our tx queue is empty, we are not sending or receiving)
|
||||
*
|
||||
* This method must be used before putting the CPU into deep or light sleep.
|
||||
*/
|
||||
bool canSleep() { return true; }
|
||||
|
||||
/// Prepare hardware for sleep. Call this _only_ for deep sleep, not needed for light sleep.
|
||||
virtual bool sleep() { return true; }
|
||||
|
||||
/**
|
||||
* Send a packet (possibly by enquing in a private fifo). This routine will
|
||||
* later free() the packet to pool. This routine is not allowed to stall.
|
||||
|
||||
Reference in New Issue
Block a user