📄 flashshellp.nc
字号:
module FlashShellP {
uses {
interface Boot;
interface Leds;
interface ShellCommand;
interface BlockRead;
interface BlockWrite;
}
} implementation {
event void Boot.booted() {
if (call BlockWrite.erase() != SUCCESS)
call Leds.led1Toggle();
}
event void BlockRead.readDone(storage_addr_t addr, void* buf, storage_len_t len,
error_t error) {
uint16_t r_len = snprintf(reply_buf, MAX_REPLY_LEN,"read done addr: 0x%x len: %i error: %i data: ",
addr, len, error);
if (len < MAX_REPLY_LEN - r_len - 1)
memcpy(reply_buf + r_len, buf, len);
reply_buf[r_len + len + 1] = '\n';
call UDP.sendto(&session_endpoint, reply_buf, r_len + len + 1);
}
event void BlockRead.computeCrcDone(storage_addr_t addr, storage_len_t len,
uint16_t crc, error_t error) {
}
event void BlockWrite.writeDone(storage_addr_t addr, void* buf, storage_len_t len,
error_t error) {
uint16_t r_len = snprintf(reply_buf, MAX_REPLY_LEN,"write done addr: 0x%x len: %i error: %i\n",
addr, len, error);
call UDP.sendto(&session_endpoint, reply_buf, r_len);
}
event void BlockWrite.eraseDone(error_t error) {
call Leds.led0Toggle();
}
event void BlockWrite.syncDone(error_t error) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -