#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.lla[0] = 0xfe; info.lla[1] = 0x80; info.lla[8] = info.mac[0] ^ 0x02; info.lla[9] = info.mac[1]; info.lla[10] = info.mac[2]; info.lla[11] = 0xff; info.lla[12] = 0xfe; info.lla[13] = info.mac[3]; info.lla[14] = info.mac[4]; info.lla[15] = info.mac[5]; w6300::init_net(info); return true; }