Files
picomap/firmware/lib/net.cpp

32 lines
695 B
C++

#include "net.h"
#include "pico/unique_id.h"
#include "w6300.h"
bool net_init() {
w6300::init_spi();
w6300::init_critical_section();
w6300::reset();
w6300::init();
if (!w6300::check()) return false;
pico_unique_board_id_t uid;
pico_get_unique_board_id(&uid);
w6300::net_info info = {};
info.mac[0] = (uid.id[0] & 0xFC) | 0x02;
info.mac[1] = uid.id[1];
info.mac[2] = uid.id[2];
info.mac[3] = uid.id[3];
info.mac[4] = uid.id[4];
info.mac[5] = uid.id[5];
info.ip[0] = 169;
info.ip[1] = 254;
info.ip[2] = info.mac[4];
info.ip[3] = info.mac[5];
info.sn = {255, 255, 0, 0};
w6300::init_net(info);
return true;
}