Adding basic remote capabilities + UART Rx DMA buffers
- Rx buffers weren't fast enough, had to use DMA :D - Basic LCD remote capabilities are working, single node - Multi-node broadcast seems to have a bug still - DMA ring buffer allowed for significant processing simplification * There is an overrun risk, but the buffer is large and generally there isn't too much data being sent (just very quickly) - Split out LCD layer stack capability into itself and an "exact" version used for updating remote nodes
This commit is contained in:
parent
44a9803cab
commit
7e68e81f47
9 changed files with 572 additions and 280 deletions
|
@ -119,11 +119,14 @@ typedef struct AnimationCommand {
|
|||
// Remote Capability Command
|
||||
// Initiated by the master to trigger a capability on a given node
|
||||
// RemoteOutput is enabled while capability is activated
|
||||
// Set id to 255 if command should be sent in all directions
|
||||
typedef struct RemoteCapabilityCommand {
|
||||
Command command;
|
||||
uint8_t id;
|
||||
Capability capability;
|
||||
uint8_t numArgs;
|
||||
uint8_t capabilityIndex;
|
||||
uint8_t state;
|
||||
uint8_t stateType;
|
||||
uint8_t numArgs; // # of bytes, args may be larger than 1 byte
|
||||
uint8_t firstArg[0];
|
||||
} RemoteCapabilityCommand;
|
||||
|
||||
|
@ -162,4 +165,5 @@ void Connect_setup( uint8_t master );
|
|||
void Connect_scan();
|
||||
|
||||
void Connect_send_ScanCode( uint8_t id, TriggerGuide *scanCodeStateList, uint8_t numScanCodes );
|
||||
void Connect_send_RemoteCapability( uint8_t id, uint8_t capabilityIndex, uint8_t state, uint8_t stateType, uint8_t numArgs, uint8_t *args );
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue