From: Guido Trentalancia Date: Tue, 20 Nov 2018 13:59:08 +0000 (+0100) Subject: hameg-hmo: Add RTA4000 MSO support (untested). X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=b720f16eb59ca8d36a8c43359ffdf833df710d06;p=libsigrok.git hameg-hmo: Add RTA4000 MSO support (untested). According to the latest available version of the manual, as for the RTB2000 and RTM3000 series, the RTA4000 series also uses a slightly different dialect than other previously supported models, in particular when it comes to the POD (logic channel groups) handling. I do not have such model available for testing therefore, as for the RTB2000 and RTM3000 support recently introduced, I do not know whether or not the RTA4000 also understands the existing dialect. In doubt, the new official dialect is implemented by this patch. --- diff --git a/src/hardware/hameg-hmo/protocol.c b/src/hardware/hameg-hmo/protocol.c index 5248fae1..20c3a396 100644 --- a/src/hardware/hameg-hmo/protocol.c +++ b/src/hardware/hameg-hmo/protocol.c @@ -209,7 +209,7 @@ static const char *an4_dig16_trigger_sources[] = { "D8", "D9", "D10", "D11", "D12", "D13", "D14", "D15", }; -/* RTB2004 and RTM3004 */ +/* RTB2004, RTM3004 and RTA4004 */ static const char *an4_dig16_sbus_trigger_sources[] = { "CH1", "CH2", "CH3", "CH4", "LINE", "EXT", "PATT", "SBUS1", "SBUS2", @@ -620,6 +620,48 @@ static const struct scope_config scope_models[] = { .num_xdivs = 12, .num_ydivs = 8, + .scpi_dialect = &rohde_schwarz_log_not_pod_scpi_dialect, + }, + { + .name = {"RTA4004", NULL}, + .analog_channels = 4, + .digital_channels = 16, + .digital_pods = 2, + + .analog_names = &scope_analog_channel_names, + .digital_names = &scope_digital_channel_names, + + .devopts = &devopts, + .num_devopts = ARRAY_SIZE(devopts), + + .devopts_cg_analog = &devopts_cg_analog, + .num_devopts_cg_analog = ARRAY_SIZE(devopts_cg_analog), + + .devopts_cg_digital = &devopts_cg_digital, + .num_devopts_cg_digital = ARRAY_SIZE(devopts_cg_digital), + + .coupling_options = &coupling_options_rtm300x, + .num_coupling_options = ARRAY_SIZE(coupling_options_rtm300x), + + .logic_threshold = &logic_threshold_rtb200x_rtm300x, + .num_logic_threshold = ARRAY_SIZE(logic_threshold_rtb200x_rtm300x), + .logic_threshold_for_pod = FALSE, + + .trigger_sources = &an4_dig16_sbus_trigger_sources, + .num_trigger_sources = ARRAY_SIZE(an4_dig16_sbus_trigger_sources), + + .trigger_slopes = &scope_trigger_slopes, + .num_trigger_slopes = ARRAY_SIZE(scope_trigger_slopes), + + .timebases = &timebases, + .num_timebases = ARRAY_SIZE(timebases), + + .vdivs = &vdivs, + .num_vdivs = ARRAY_SIZE(vdivs), + + .num_xdivs = 12, + .num_ydivs = 8, + .scpi_dialect = &rohde_schwarz_log_not_pod_scpi_dialect, }, };