MCPcopy Index your code
hub / github.com/DreamSourceLab/DSView / on_device_lib_event

Method on_device_lib_event

DSView/pv/sigsession.cpp:2031–2118  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2029 }
2030
2031 void SigSession::on_device_lib_event(int event)
2032 {
2033 if (_callback == NULL)
2034 {
2035 dsv_detail("The callback is null, so the device event was ignored.");
2036 return;
2037 }
2038
2039 switch (event)
2040 {
2041 case DS_EV_DEVICE_RUNNING:
2042 _device_status = ST_RUNNING;
2043 set_receive_data_len(0);
2044 break;
2045
2046 case DS_EV_DEVICE_STOPPED:
2047 _device_status = ST_STOPPED;
2048 // Confirm that SR_DF_END was received
2049 if ( !_capture_data->get_logic()->last_ended()
2050 || !_capture_data->get_dso()->last_ended()
2051 || !_capture_data->get_analog()->last_ended())
2052 {
2053 dsv_err("Error!The data is not completed.");
2054 assert(false);
2055 }
2056 break;
2057
2058 case DS_EV_COLLECT_TASK_START:
2059 _callback->trigger_message(DSV_MSG_COLLECT_START);
2060 break;
2061
2062 case DS_EV_COLLECT_TASK_END:
2063 case DS_EV_COLLECT_TASK_END_BY_ERROR:
2064 case DS_EV_COLLECT_TASK_END_BY_DETACHED:
2065 {
2066 _callback->trigger_message(DSV_MSG_COLLECT_END);
2067
2068 if (_capture_data->get_logic()->last_ended() == false)
2069 dsv_err("The collected data is error!");
2070
2071 if (_capture_data->get_dso()->last_ended() == false)
2072 dsv_err("The collected data is error!");
2073
2074 if (_capture_data->get_analog()->last_ended() == false)
2075 dsv_err("The collected data is error!");
2076
2077 // trig next collect
2078 if (is_repeat_mode() && _is_working && event == DS_EV_COLLECT_TASK_END)
2079 {
2080 _callback->trigger_message(DSV_MSG_TRIG_NEXT_COLLECT);
2081 }
2082 else
2083 {
2084 _is_working = false;
2085 _is_instant = false;
2086 _callback->trigger_message(DSV_MSG_END_COLLECT_WORK);
2087 }
2088 }

Callers 1

Calls 5

last_endedMethod · 0.80
get_logicMethod · 0.80
get_dsoMethod · 0.80
get_analogMethod · 0.80
trigger_messageMethod · 0.80

Tested by

no test coverage detected