driver, firmware: Rm active report mode & cmd

This commit is contained in:
linuswck 2025-01-20 12:32:47 +08:00
parent 85f81ee8e4
commit cd3347798c
4 changed files with 3 additions and 88 deletions

View File

@ -11,14 +11,6 @@ async def enter_dfu_mode(kirdy: Kirdy):
""" """
await kirdy.device.dfu() await kirdy.device.dfu()
async def active_report(kirdy: Kirdy):
"""
Configure Kirdy to actively report status to connected socket
Press Ctrl + C to exit active report mode
"""
async for data in kirdy.report_mode():
pp(data)
async def device_cfg(kirdy: Kirdy): async def device_cfg(kirdy: Kirdy):
""" """
Configure Kirdy's network and board specific transconductance settings. Configure Kirdy's network and board specific transconductance settings.
@ -127,7 +119,6 @@ async def main():
await kirdy.wait_until_connected() await kirdy.wait_until_connected()
await ld_thermostat_cfg(kirdy) await ld_thermostat_cfg(kirdy)
# await active_report(kirdy)
# await device_cfg(kirdy) # await device_cfg(kirdy)
# await enter_dfu_mode(kirdy) # await enter_dfu_mode(kirdy)

View File

@ -25,7 +25,6 @@ class CmdList:
SetIPSettings = _dt.ip_settings SetIPSettings = _dt.ip_settings
SetPdFinGain = _dt.f32 SetPdFinGain = _dt.f32
SetPdTransconductance = _dt.f32 SetPdTransconductance = _dt.f32
SetActiveReportMode = _dt.bool
GetHwRev = _dt.none GetHwRev = _dt.none
GetStatusReport = _dt.none GetStatusReport = _dt.none
GetSettingsSummary = _dt.none GetSettingsSummary = _dt.none
@ -209,13 +208,6 @@ class Device:
} }
) )
async def set_active_report_mode(self, on):
"""
Set active report to be on. If it is on, Kirdy will send status report
to the client socket according to the temperature polling rate set.
"""
return await self._send_cmd(self._cmd._target, self._cmd.SetActiveReportMode, on)
async def set_pd_mon_fin_gain(self, gain): async def set_pd_mon_fin_gain(self, gain):
""" """
Configure the photodiode monitor final analog front-end stage gain. Configure the photodiode monitor final analog front-end stage gain.
@ -657,7 +649,6 @@ class Kirdy:
self._event_loop = None self._event_loop = None
self._msg_queue_get_report = False self._msg_queue_get_report = False
self._report_mode_on = False
self._state = State.disconnected self._state = State.disconnected
self.read_response_task, self.handler_task = None, None self.read_response_task, self.handler_task = None, None
@ -675,7 +666,7 @@ class Kirdy:
def set_report_sig(self, sig): def set_report_sig(self, sig):
""" """
Connect a PyQt Signal to the active report output(dict). This should be configured before the session is started. Connect a PyQt Signal to the status report output(dict). This should be configured before the session is started.
""" """
self._report_sig = sig self._report_sig = sig
@ -749,30 +740,6 @@ class Kirdy:
if not(self.connected()): if not(self.connected()):
await self.connected_event.wait() await self.connected_event.wait()
async def report_mode(self):
"""
Enable and retrieve active report from Kirdy
"""
if self.connected():
self._report_mode_on = True
await self.device.set_active_report_mode(True)
report = None
while self._report_mode_on:
report = await self._report_queue.get()
if not(isinstance(report, dict)):
self.stop_active_report()
else:
yield report
if isinstance(report, dict):
await self.device.set_active_report_mode(False)
else:
raise ConnectionError
def stop_report_mode(self):
self._report_mode_on = False
def task_dispatcher(self, awaitable_fn): def task_dispatcher(self, awaitable_fn):
""" """
Enqueue a task to be handled by the handler. Enqueue a task to be handled by the handler.
@ -859,9 +826,6 @@ class Kirdy:
async def _read_response_handler(self): async def _read_response_handler(self):
try: try:
while True: while True:
if self._report_mode_on:
response = await asyncio.wait_for(self._read_response(), self._timeout)
else:
response = await self._read_response() response = await self._read_response()
if response["msg_type"] == 'HardReset': if response["msg_type"] == 'HardReset':
@ -891,9 +855,6 @@ class Kirdy:
logging.warn("Read Response Handler experienced an error. Exiting.", exc_info=True) logging.warn("Read Response Handler experienced an error. Exiting.", exc_info=True)
self._task_queue.put_nowait_overwrite(exec) self._task_queue.put_nowait_overwrite(exec)
self._int_msg_queue.put_nowait_overwrite(exec) self._int_msg_queue.put_nowait_overwrite(exec)
if self._report_mode_on:
self._report_mode_on = False
self._report_queue.put_nowait_overwrite(TimeoutError)
async def _stop_handler(self): async def _stop_handler(self):
for task in asyncio.all_tasks(): for task in asyncio.all_tasks():

View File

@ -77,7 +77,6 @@ fn main() -> ! {
}, },
}; };
let mut active_report: [bool; net::net::NUM_OF_SOCKETS] = [false; net::net::NUM_OF_SOCKETS];
let mut state = State::default(); let mut state = State::default();
@ -88,9 +87,7 @@ fn main() -> ! {
loop { loop {
wd.feed(); wd.feed();
if net::net::eth_poll_link_status_and_update_link_speed() { net::net::eth_poll_link_status_and_update_link_speed();
active_report = [false; net::net::NUM_OF_SOCKETS];
}
match state { match state {
State::LoadFlashSettings => { State::LoadFlashSettings => {
@ -166,23 +163,6 @@ fn main() -> ! {
thermostat.power_down(); thermostat.power_down();
} }
net::net::for_each(|mut socket, id| {
if net::net::eth_is_socket_active(socket, true) && net::net::eth_is_socket_connected(socket) {
if active_report[id] {
if net::net::eth_can_sock_send(socket) {
net::cmd_handler::send_status_report(
eth_data_buffer,
&mut laser,
&mut thermostat,
&mut socket,
);
}
}
} else {
active_report[id] = false;
}
});
thermostat.start_tec_readings_conversion(); thermostat.start_tec_readings_conversion();
} }
@ -207,7 +187,6 @@ fn main() -> ! {
&mut thermostat, &mut thermostat,
&mut state, &mut state,
&mut device_settings, &mut device_settings,
&mut active_report[id],
); );
} }
} }

View File

@ -66,7 +66,6 @@ enum DeviceCmd {
Reserved, Reserved,
GetHwRev, GetHwRev,
SetIPSettings, SetIPSettings,
SetActiveReportMode,
SetPdFinGain, SetPdFinGain,
SetPdTransconductance, SetPdTransconductance,
GetStatusReport, GetStatusReport,
@ -308,7 +307,6 @@ pub fn execute_cmd(
thermostat: &mut Thermostat, thermostat: &mut Thermostat,
state: &mut State, state: &mut State,
device_settings: &mut DeviceSettings, device_settings: &mut DeviceSettings,
active_report: &mut bool,
) { ) {
let mut cmd = TecSetICmd { let mut cmd = TecSetICmd {
json: TecSetICmdJson::default(), json: TecSetICmdJson::default(),
@ -358,20 +356,6 @@ pub fn execute_cmd(
net::eth_poll_iface(); net::eth_poll_iface();
*state = State::PrepareForDfu; *state = State::PrepareForDfu;
} }
Some(DeviceCmd::SetActiveReportMode) => match cmd.json.data_bool {
Some(val) => {
send_response(buffer, ResponseEnum::Acknowledge, None, socket);
*active_report = val;
}
None => {
send_response(
buffer,
ResponseEnum::InvalidDatatype,
Some(ERR_MSG_MISSING_DATA_BOOL),
socket,
);
}
},
Some(DeviceCmd::SetPdFinGain) => match cmd.json.data_f32 { Some(DeviceCmd::SetPdFinGain) => match cmd.json.data_f32 {
Some(val) => { Some(val) => {
send_response(buffer, ResponseEnum::Acknowledge, None, socket); send_response(buffer, ResponseEnum::Acknowledge, None, socket);