2026-04-05 21:04:56 +09:00
|
|
|
#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];
|
2026-04-06 17:20:13 +09:00
|
|
|
|
2026-04-07 06:58:39 +09:00
|
|
|
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};
|
2026-04-06 17:20:13 +09:00
|
|
|
|
2026-04-05 21:04:56 +09:00
|
|
|
w6300::init_net(info);
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|