ardupilot/libraries/AP_Networking/AP_Networking_ChibiOS.h

36 lines
852 B
C++

#pragma once
#include "AP_Networking_Config.h"
#if AP_NETWORKING_BACKEND_CHIBIOS
#include "AP_Networking_Backend.h"
class AP_Networking_ChibiOS : public AP_Networking_Backend
{
public:
using AP_Networking_Backend::AP_Networking_Backend;
/* Do not allow copies */
CLASS_NO_COPY(AP_Networking_ChibiOS);
bool init() override;
void update() override;
private:
bool allocate_buffers(void);
void thread(void);
static void link_up_cb(void*);
static void link_down_cb(void*);
static int8_t ethernetif_init(struct netif *netif);
static int8_t low_level_output(struct netif *netif, struct pbuf *p);
static bool low_level_input(struct netif *netif, struct pbuf **pbuf);
struct lwipthread_opts *lwip_options;
uint8_t macaddr[6];
struct netif *thisif;
};
#endif // AP_NETWORKING_BACKEND_CHIBIOS