Split w6300 headers into public w6300.h and w6300_internal.h, rename pio files
This commit is contained in:
22
picomap.cpp
22
picomap.cpp
@@ -4,8 +4,7 @@
|
||||
#include "pico/unique_id.h"
|
||||
#include "device.h"
|
||||
|
||||
#include "wizchip_conf.h"
|
||||
#include "wizchip_spi.h"
|
||||
#include "w6300.h"
|
||||
|
||||
static void send_bytes(const std::vector<uint8_t> &data) {
|
||||
for (auto b : data) {
|
||||
@@ -19,15 +18,18 @@ static bool w6300_init() {
|
||||
wizchip_cris_initialize();
|
||||
wizchip_reset();
|
||||
wizchip_initialize();
|
||||
if (getCIDR() != 0x6300) return false;
|
||||
if (!wizchip_check()) return false;
|
||||
|
||||
pico_unique_board_id_t uid;
|
||||
pico_get_unique_board_id(&uid);
|
||||
uint8_t mac[6] = {
|
||||
static_cast<uint8_t>((uid.id[0] & 0xFC) | 0x02),
|
||||
uid.id[1], uid.id[2], uid.id[3], uid.id[4], uid.id[5]
|
||||
};
|
||||
setSHAR(mac);
|
||||
wiz_NetInfo net_info = {};
|
||||
net_info.mac[0] = (uid.id[0] & 0xFC) | 0x02;
|
||||
net_info.mac[1] = uid.id[1];
|
||||
net_info.mac[2] = uid.id[2];
|
||||
net_info.mac[3] = uid.id[3];
|
||||
net_info.mac[4] = uid.id[4];
|
||||
net_info.mac[5] = uid.id[5];
|
||||
network_initialize(net_info);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -67,7 +69,9 @@ int main() {
|
||||
pico_unique_board_id_t uid;
|
||||
pico_get_unique_board_id(&uid);
|
||||
std::copy(uid.id, uid.id + 8, info.board_id.begin());
|
||||
getSHAR(info.mac.data());
|
||||
wiz_NetInfo net_info;
|
||||
wizchip_getnetinfo(&net_info);
|
||||
std::copy(net_info.mac, net_info.mac + 6, info.mac.begin());
|
||||
send_bytes(encode_response(msg->message_id, info));
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user