-kill_all
-
-./bin/khatus_x4_sensor_datetime &
-./bin/khatus_x4_sensor_mpd &
-./bin/khatus_x4_sensor_energy &
-
-while :
-do
- battery_state="$(read_sensor ${dir}/khatus_x4_sensor_energy/out/battery_state)"
- battery_percentage="$(read_sensor ${dir}/khatus_x4_sensor_energy/out/battery_percentage)"
- datetime="$(read_sensor ${dir}/khatus_x4_sensor_datetime/out/datetime)"
- mpd="$(read_sensor ${dir}/khatus_x4_sensor_mpd/out/status)"
- echo "E[${battery_state} ${battery_percentage}] [${mpd}] ${datetime}"
- sleep 1
-done
+sensors_read_all() {
+ while :
+ do
+ battery_state="$(sensor_read_one ${dir}/khatus_x4_sensor_energy/out/battery_state)"
+ battery_state_poll="$(sensor_read_one ${dir}/khatus_x4_sensor_energy_poller/out/battery_state)"
+ battery_percentage="$(sensor_read_one ${dir}/khatus_x4_sensor_energy/out/battery_percentage)"
+ battery_percentage_poll="$(sensor_read_one ${dir}/khatus_x4_sensor_energy_poller/out/battery_percentage)"
+ bluetooth_controllers="$(sensor_read_one ${dir}/khatus_x4_sensor_bluetooth/out/count_powered_controllers)"
+ bluetooth_devices="$(sensor_read_one ${dir}/khatus_x4_sensor_bluetooth/out/count_connected_devices)"
+ datetime="$(sensor_read_one ${dir}/khatus_x4_sensor_datetime/out/datetime)"
+ mpd="$(sensor_read_one ${dir}/khatus_x4_sensor_mpd/out/status)"
+ mem="$(sensor_read_one ${dir}/khatus_x4_sensor_memory/out/percent_used)"
+ load="$(sensor_read_one ${dir}/khatus_x4_sensor_loadavg/out/load_avg_1min)"
+ temp="$(sensor_read_one ${dir}/khatus_x4_sensor_temp/out/thermal_zone0)"
+ disk="$(sensor_read_one ${dir}/khatus_x4_sensor_disk/out/disk_usage_percentage)"
+ vol_left="$(sensor_read_one ${dir}/khatus_x4_sensor_volume/out/vol_left)"
+ vol_right="$(sensor_read_one ${dir}/khatus_x4_sensor_volume/out/vol_right)"
+ vol_state="$(sensor_read_one ${dir}/khatus_x4_sensor_volume/out/state)"
+ vol_mute="$(sensor_read_one ${dir}/khatus_x4_sensor_volume/out/mute)"
+ echo "E[${battery_state} ${battery_percentage} | ${battery_state} ${battery_percentage_poll}] M:${mem}% L:${load} T:${temp}°C D:${disk}% [${mpd}] B:${bluetooth_controllers}:${bluetooth_devices} V:${vol_state}:${vol_left}:${vol_right}:${vol_mute} ${datetime}"
+ sleep 1
+ done
+}
+
+main() {
+ sensors_kill_all
+ sensors_fork_all
+ sensors_read_all
+}
+
+main