SIO Command $FF Reset FujiNet - FujiNetWIFI/fujinet-firmware GitHub Wiki

This is a command for Device $70 - The FujiNet Device itself (see SIO-Commands-for-Device-ID-$70).

Reset FujiNet ($FF)

Description

Causes the ESP to reboot, and thereby also re-mount the CONFIG boot disk.

[!IMPORTANT] It's important to wait 5 seconds after issuing this command, to give the ESP sufficient time to reboot.

Parameters

DCB Value
DDEVIC $70
DUNIT $01
DCOMND $FF
DSTATS 0x00
DBUF NULL
DTIMLO $0F
DBYT 0
DAUX1 0
DAUX2 0

Examples

CC65

/**
 * Reset the ESP
 */
void reset(void)
{
  OS.dcb.ddevic=0x70;
  OS.dcb.dunit=1;
  OS.dcb.dcomnd=0xFF; // reset FujiNet device
  OS.dcb.dstats=0x40; // Peripheral->Computer
  OS.dcb.dbuf=0x00;
  OS.dcb.dtimlo=0x0F; // 15 second timeout
  OS.dcb.dbyt=0;      
  OS.dcb.daux=0;
  siov();

  OS.rtclok[0]=OS.rtclok[1]=OS.rtclok[2]=0;

  while (OS.rtclok[2]<255) { }  // Wait...
  asm("JMP $E477"); // do a cold start.

  return OS.dcb.dstats;
}