/* Set disk format routine */ static t_stat set_format(UNIT *uptr, int32 val, char *cptr, void *desc) { char fmtname[DPB_NAME_LENGTH + 1]; int32 i; if (cptr == NULL) return SCPE_ARG; if (uptr == NULL) return SCPE_IERR; if (sscanf(cptr, "%" QUOTE2(DPB_NAME_LENGTH) "s", fmtname) == 0) return SCPE_ARG; for (i = 0; dpb[i].capac != 0; i++) { if (strncmp(fmtname, dpb[i].name, strlen(fmtname)) == 0) { uptr -> HDSK_FORMAT_TYPE = i; uptr -> capac = dpb[i].capac; /* Set capacity */ /* Configure physical disk geometry */ uptr -> HDSK_SECTOR_SIZE = (128 << dpb[uptr -> HDSK_FORMAT_TYPE].psh); uptr -> HDSK_SECTORS_PER_TRACK = dpb[uptr -> HDSK_FORMAT_TYPE].spt >> dpb[uptr -> HDSK_FORMAT_TYPE].psh; uptr -> HDSK_NUMBER_OF_TRACKS = (uptr -> capac + uptr -> HDSK_SECTORS_PER_TRACK * uptr -> HDSK_SECTOR_SIZE - 1) / (uptr -> HDSK_SECTORS_PER_TRACK * uptr -> HDSK_SECTOR_SIZE); return SCPE_OK; } }
{ struct dhcps_lease dhcp_lease; IP4_ADDR(&dhcp_lease.start_ip, 192, 168, $$com.sysprogs.esp8266.http.subnet$$, 100); IP4_ADDR(&dhcp_lease.end_ip, 192, 168, $$com.sysprogs.esp8266.http.subnet$$, 105); wifi_softap_set_dhcps_lease(&dhcp_lease); } #ifndef EXAMPLE_BUILD_NUMBER #define EXAMPLE_BUILD_NUMBER 1 #endif #define QUOTE(x) #x #define QUOTE2(x) QUOTE(x) static char s_Message[] = "HTTP/1.1 200 OK\r\nContent-type: text/html\r\n\r\n<html><body><h1>Hello, World</h1>This page is served by HTTP Server build " QUOTE2(EXAMPLE_BUILD_NUMBER) ". <a href=\"http://192.168.$$com.sysprogs.esp8266.http.subnet$$.1:88/\">Begin upgrade</a>.</body></html>"; static char s_UpgradeMessage[] = "HTTP/1.1 200 OK\r\nContent-type: text/html\r\n\r\n<html><body><h1>OTA upgrade initiated</h1>If your computer is running ESPImageTool on port 8888, the upgrade will happen automatically. <a href=\"http://192.168.$$com.sysprogs.esp8266.http.subnet$$.1/\">Go back to main page</a>.</body></html>"; static void ota_finished_callback(void *arg) { upgrade_server_info *pUpdate = (upgrade_server_info *)arg; if (pUpdate->upgrade_flag == true) { system_upgrade_reboot(); } else { } } static void __attribute__((section(".irom.text"))) upgradeCb(void *arg)