|
|
@ -7,6 +7,7 @@ import DevicesIcon from '@material-ui/icons/Devices'; |
|
|
|
import MemoryIcon from '@material-ui/icons/Memory'; |
|
|
|
import ShowChartIcon from '@material-ui/icons/ShowChart'; |
|
|
|
import SdStorageIcon from '@material-ui/icons/SdStorage'; |
|
|
|
import StorageIcon from '@material-ui/icons/Storage'; |
|
|
|
import DataUsageIcon from '@material-ui/icons/DataUsage'; |
|
|
|
import PowerSettingsNewIcon from '@material-ui/icons/PowerSettingsNew'; |
|
|
|
import RefreshIcon from '@material-ui/icons/Refresh'; |
|
|
@ -26,6 +27,11 @@ interface SystemStatusFormState { |
|
|
|
|
|
|
|
type SystemStatusFormProps = AuthenticatedContextProps & RestFormProps<SystemStatus>; |
|
|
|
|
|
|
|
function asNum(num: number){ |
|
|
|
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, " "); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
class SystemStatusForm extends Component<SystemStatusFormProps, SystemStatusFormState> { |
|
|
|
|
|
|
|
state: SystemStatusFormState = { |
|
|
@ -67,7 +73,7 @@ class SystemStatusForm extends Component<SystemStatusFormProps, SystemStatusForm |
|
|
|
<MemoryIcon /> |
|
|
|
</Avatar> |
|
|
|
</ListItemAvatar> |
|
|
|
<ListItemText primary="Heap (Free / Max Alloc)" secondary={data.free_heap + ' / ' + data.max_alloc_heap + ' bytes (~' + this.approxHeapFragmentation() + '% fragmentation)'} /> |
|
|
|
<ListItemText primary="Heap (Free / Max Alloc)" secondary={asNum(data.free_heap) + ' / ' + asNum(data.max_alloc_heap) + ' bytes (~' + this.approxHeapFragmentation() + '% fragmentation)'} /> |
|
|
|
</ListItem> |
|
|
|
<Divider variant="inset" component="li" /> |
|
|
|
<ListItem > |
|
|
@ -76,7 +82,7 @@ class SystemStatusForm extends Component<SystemStatusFormProps, SystemStatusForm |
|
|
|
<DataUsageIcon /> |
|
|
|
</Avatar> |
|
|
|
</ListItemAvatar> |
|
|
|
<ListItemText primary="Sketch (Size / Free)" secondary={data.sketch_size + ' / ' + data.free_sketch_space + ' bytes'} /> |
|
|
|
<ListItemText primary="Sketch Size (used/max)" secondary={asNum(data.sketch_size) + ' / ' + asNum(data.free_sketch_space) + ' bytes'} /> |
|
|
|
</ListItem> |
|
|
|
<Divider variant="inset" component="li" /> |
|
|
|
<ListItem > |
|
|
@ -85,12 +91,20 @@ class SystemStatusForm extends Component<SystemStatusFormProps, SystemStatusForm |
|
|
|
<SdStorageIcon /> |
|
|
|
</Avatar> |
|
|
|
</ListItemAvatar> |
|
|
|
<ListItemText primary="Flash Chip (Size / Speed)" secondary={data.flash_chip_size + ' bytes / ' + (data.flash_chip_speed / 1000000).toFixed(0) + ' MHz'} /> |
|
|
|
<ListItemText primary="Flash Chip (Size / Speed)" secondary={asNum(data.flash_chip_size) + ' bytes / ' + (data.flash_chip_speed / 1000000).toFixed(0) + ' MHz'} /> |
|
|
|
</ListItem> |
|
|
|
<ListItem > |
|
|
|
<ListItemAvatar> |
|
|
|
<Avatar> |
|
|
|
<StorageIcon /> |
|
|
|
</Avatar> |
|
|
|
</ListItemAvatar> |
|
|
|
<ListItemText primary="SPIFFS (Used / Total | Free)" secondary={asNum(data.spiffs_used) + ' / ' + asNum(data.spiffs_size) + ' bytes | '+ asNum(data.spiffs_size-data.spiffs_used) + ' bytes free'} /> |
|
|
|
</ListItem> |
|
|
|
<Divider variant="inset" component="li" /> |
|
|
|
</Fragment> |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
renderRestartDialog() { |
|
|
|
return ( |
|
|
|