embedded-software
reusable software modules for embedded systems
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nrf24network.c File Reference
#include <string.h>
#include "project_settings.h"
#include "nrf24network.h"
#include "task.h"
#include "subsystem.h"
#include "hal_general.h"
#include "uart.h"
#include <strings.h>
Include dependency graph for nrf24network.c:

Macros

#define GET_THIS_BRANCH(x)   (x>>3)
 
#define ADDRESS_TO_INDEX(x)   (x)
 
#define INDEX_TO_ADDRESS(x)   (x)
 
#define NRFNET_PARENT_PIPE   0x07
 
#define NRFNET_RX_PIPE   1
 

Functions

void nrf24_NetworkInit (void(*ce)(uint8_t), void(*csn)(uint8_t), uint8_t spi_channel)
 Initialize nRF24 Network Module. More...
 
void nrf24_NetworkInitN (nrfnet_t *net, void(*ce)(uint8_t), void(*csn)(uint8_t), uint8_t spi_channel, uint8_t node)
 
void nrf24_RegisterMsgHandler (enum nrf24_msg_id msg_id, nrf24_handler_fn_t fn_ptr)
 
void nrf24_RegisterMsgHandlerN (nrfnet_t *net, enum nrf24_msg_id msg_id, nrf24_handler_fn_t fn_ptr)
 
void nrf24_SendMsg (uint8_t to, enum nrf24_msg_id msg_id, uint8_t *data, uint8_t len)
 
void nrf24_SendMsgN (nrfnet_t *net, uint8_t to, enum nrf24_msg_id msg_id, uint8_t *data, uint8_t len)
 
void nrf24_RegisterControlHandler (enum nrf24_control_msg control_id, nrf24_handler_fn_t fn_ptr)
 
void nrf24_RegisterControlHandlerN (nrfnet_t *net, enum nrf24_control_msg control_id, nrf24_handler_fn_t fn_ptr)
 
void nrf24_RegisterSensorHandler (enum nrf24_sensor_msg sensor_id, nrf24_handler_fn_t fn_ptr)
 
void nrf24_RegisterSensorHandlerN (nrfnet_t *net, enum nrf24_sensor_msg sensor_id, nrf24_handler_fn_t fn_ptr)
 
void nrf24_Ping (uint8_t to)
 
char * NameFromAddress (uint8_t address)
 
uint8_t AddressFromName (char *name)
 
void PrintNames (void)
 
void nrf24_NetworkISRHandler (void)
 

Variables

char names [ADDRESS_TO_INDEX(LAST_ADDRESS)][5]
 
nrfnet_t default_net
 
nrfnet_tsecond_net_ptr = 0
 
uint32_t ping_time
 

Macro Definition Documentation

#define ADDRESS_TO_INDEX (   x)    (x)
#define GET_THIS_BRANCH (   x)    (x>>3)
#define INDEX_TO_ADDRESS (   x)    (x)
#define NRFNET_PARENT_PIPE   0x07
#define NRFNET_RX_PIPE   1

Function Documentation

void PrintNames ( void  )

Variable Documentation

nrfnet_t default_net
char names[ADDRESS_TO_INDEX(LAST_ADDRESS)][5]
uint32_t ping_time
nrfnet_t* second_net_ptr = 0