Extend Status (#121)
* Added Sdk Version and ~heap fragmentation to system page * Add flash chip speed to status page Co-authored-by: kasedy <kasedy@gmail.com>
This commit is contained in:
parent
13f97b630f
commit
db0d98d425
@ -34,6 +34,11 @@ class SystemStatusForm extends Component<SystemStatusFormProps, SystemStatusForm
|
|||||||
processing: false
|
processing: false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
approxHeapFragmentation = (): number => {
|
||||||
|
const { data: { max_alloc_heap, free_heap } } = this.props;
|
||||||
|
return 100 - Math.round((max_alloc_heap / free_heap) * 100);
|
||||||
|
}
|
||||||
|
|
||||||
createListItems() {
|
createListItems() {
|
||||||
const { data } = this.props
|
const { data } = this.props
|
||||||
return (
|
return (
|
||||||
@ -44,7 +49,7 @@ class SystemStatusForm extends Component<SystemStatusFormProps, SystemStatusForm
|
|||||||
<DevicesIcon />
|
<DevicesIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary="Platform" secondary={data.esp_platform} />
|
<ListItemText primary="Device (Platform / SDK)" secondary={data.esp_platform + ' / ' + data.sdk_version} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
<ListItem >
|
<ListItem >
|
||||||
@ -62,7 +67,7 @@ class SystemStatusForm extends Component<SystemStatusFormProps, SystemStatusForm
|
|||||||
<MemoryIcon />
|
<MemoryIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary="Free Heap" secondary={data.free_heap + ' bytes'} />
|
<ListItemText primary="Heap (Free / Max Alloc)" secondary={data.free_heap + ' / ' + data.max_alloc_heap + ' bytes (~' + this.approxHeapFragmentation() + '% fragmentation)'} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
<ListItem >
|
<ListItem >
|
||||||
@ -71,7 +76,7 @@ class SystemStatusForm extends Component<SystemStatusFormProps, SystemStatusForm
|
|||||||
<DataUsageIcon />
|
<DataUsageIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary="Sketch Size (used/max)" secondary={data.sketch_size + ' / ' + data.free_sketch_space + ' bytes'} />
|
<ListItemText primary="Sketch (Size / Free)" secondary={data.sketch_size + ' / ' + data.free_sketch_space + ' bytes'} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
<ListItem >
|
<ListItem >
|
||||||
@ -80,7 +85,7 @@ class SystemStatusForm extends Component<SystemStatusFormProps, SystemStatusForm
|
|||||||
<SdStorageIcon />
|
<SdStorageIcon />
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</ListItemAvatar>
|
</ListItemAvatar>
|
||||||
<ListItemText primary="Flash Chip Size" secondary={data.flash_chip_size + ' bytes'} />
|
<ListItemText primary="Flash Chip (Size / Speed)" secondary={data.flash_chip_size + ' bytes / ' + (data.flash_chip_speed / 1000000).toFixed(0) + ' MHz'} />
|
||||||
</ListItem>
|
</ListItem>
|
||||||
<Divider variant="inset" component="li" />
|
<Divider variant="inset" component="li" />
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
export interface SystemStatus {
|
export interface SystemStatus {
|
||||||
esp_platform: string;
|
esp_platform: string;
|
||||||
|
max_alloc_heap: number;
|
||||||
cpu_freq_mhz: number;
|
cpu_freq_mhz: number;
|
||||||
free_heap: number;
|
free_heap: number;
|
||||||
sketch_size: number;
|
sketch_size: number;
|
||||||
free_sketch_space: number;
|
free_sketch_space: number;
|
||||||
|
sdk_version: string;
|
||||||
flash_chip_size: number;
|
flash_chip_size: number;
|
||||||
|
flash_chip_speed: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface OTASettings {
|
export interface OTASettings {
|
||||||
|
@ -12,8 +12,10 @@ void SystemStatus::systemStatus(AsyncWebServerRequest* request) {
|
|||||||
JsonObject root = response->getRoot();
|
JsonObject root = response->getRoot();
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
root["esp_platform"] = "esp32";
|
root["esp_platform"] = "esp32";
|
||||||
|
root["max_alloc_heap"] = ESP.getMaxAllocHeap();
|
||||||
#elif defined(ESP8266)
|
#elif defined(ESP8266)
|
||||||
root["esp_platform"] = "esp8266";
|
root["esp_platform"] = "esp8266";
|
||||||
|
root["max_alloc_heap"] = ESP.getMaxFreeBlockSize();
|
||||||
#endif
|
#endif
|
||||||
root["cpu_freq_mhz"] = ESP.getCpuFreqMHz();
|
root["cpu_freq_mhz"] = ESP.getCpuFreqMHz();
|
||||||
root["free_heap"] = ESP.getFreeHeap();
|
root["free_heap"] = ESP.getFreeHeap();
|
||||||
|
Loading…
Reference in New Issue
Block a user