/*
- * This file is part of the sigrok project.
+ * This file is part of the libsigrok project.
*
* Copyright (C) 2011-2012 Uwe Hermann <uwe@hermann-uwe.de>
*
#include "protocol.h"
/* Probes are numbered 0-7. */
-SR_PRIV const char *probe_names[NUM_PROBES + 1] = {
- "0",
- "1",
- "2",
- "3",
- "4",
- "5",
- "6",
- "7",
+SR_PRIV const char *chronovu_la8_probe_names[NUM_PROBES + 1] = {
+ "0", "1", "2", "3", "4", "5", "6", "7",
NULL,
};
-/* This will be initialized via hw_info_get()/SR_DI_SAMPLERATES. */
-SR_PRIV uint64_t supported_samplerates[255 + 1] = { 0 };
-
-/*
- * Min: 1 sample per 0.01us -> sample time is 0.084s, samplerate 100MHz
- * Max: 1 sample per 2.55us -> sample time is 21.391s, samplerate 392.15kHz
- */
-const struct sr_samplerates samplerates = {
- .low = 0,
- .high = 0,
- .step = 0,
- .list = supported_samplerates,
-};
-
-/* Note: Continuous sampling is not supported by the hardware. */
-SR_PRIV const int hwcaps[] = {
- SR_HWCAP_LOGIC_ANALYZER,
- SR_HWCAP_SAMPLERATE,
- SR_HWCAP_LIMIT_MSEC, /* TODO: Not yet implemented. */
- SR_HWCAP_LIMIT_SAMPLES, /* TODO: Not yet implemented. */
- 0,
-};
-
SR_PRIV void fill_supported_samplerates_if_needed(void)
{
int i;
- /* Do nothing if supported_samplerates[] is already filled. */
- if (supported_samplerates[0] != 0)
+ if (chronovu_la8_samplerates[0] != 0)
return;
- /* Fill supported_samplerates[] with the proper values. */
for (i = 0; i < 255; i++)
- supported_samplerates[254 - i] = SR_MHZ(100) / (i + 1);
- supported_samplerates[255] = 0;
+ chronovu_la8_samplerates[254 - i] = SR_MHZ(100) / (i + 1);
}
/**
fill_supported_samplerates_if_needed();
for (i = 0; i < 255; i++) {
- if (supported_samplerates[i] == samplerate)
+ if (chronovu_la8_samplerates[i] == samplerate)
return 1;
}
logic.length = BS;
logic.unitsize = 1;
logic.data = devc->final_buf + (block * BS);
- sr_session_send(devc->session_dev_id, &packet);
+ sr_session_send(devc->cb_data, &packet);
return;
}
logic.length = trigger_point;
logic.unitsize = 1;
logic.data = devc->final_buf + (block * BS);
- sr_session_send(devc->session_dev_id, &packet);
+ sr_session_send(devc->cb_data, &packet);
}
/* Send the SR_DF_TRIGGER packet to the session bus. */
(block * BS) + trigger_point);
packet.type = SR_DF_TRIGGER;
packet.payload = NULL;
- sr_session_send(devc->session_dev_id, &packet);
+ sr_session_send(devc->cb_data, &packet);
/* If at least one sample is located after the trigger... */
if (trigger_point < (BS - 1)) {
logic.length = BS - trigger_point;
logic.unitsize = 1;
logic.data = devc->final_buf + (block * BS) + trigger_point;
- sr_session_send(devc->session_dev_id, &packet);
+ sr_session_send(devc->cb_data, &packet);
}
}