Interface documentation for LDL.
Interface Groups
Useful Links
Example
Below is an example of how to use the interfaces to activate a device and send data.
Functions marked as "extern" have not been implemented for brevity.
This example would need the following Build Options to be defined:
#include <stdlib.h>
#include <string.h>
#include "ldl_radio.h"
#include "ldl_mac.h"
#include "ldl_sm.h"
#include "ldl_system.h"
extern const void *app_key_ptr;
extern const void *dev_eui_ptr;
extern const void *join_eui_ptr;
void *app_pointer;
void *chip_interface_pointer;
extern bool chip_write(void *self, const void *opcode, size_t opcode_size, const void *data, size_t size);
extern bool chip_read(void *self, const void *opcode, size_t opcode_size, void *data, size_t size);
extern void wakeup_after(uint32_t ticks);
extern void sleep(void);
extern void enable_interrupts(void);
uint32_t system_ticks(void *app);
unsigned int system_rand(void *app);
int main(void)
{
{
arg.
chip = chip_interface_pointer,
}
{
arg.
ticks = system_ticks;
}
enable_interrupts();
for(;;){
const char msg[] = "hello world";
}
else{
}
}
{
if(ticks_until_next_event > 0U){
wakeup_after(ticks_until_next_event);
sleep();
}
}
}
}
{
switch(type){
break;
break;
break;
break;
break;
default:
break;
}
}
uint32_t system_ticks(void *app)
{
return 0;
}
unsigned int system_rand(void *app)
{
(void)app;
}
void dio0_rising_edge_isr(void)
{
}
void dio1_rising_edge_isr(void)
{
}