mirror of
https://github.com/DreamSourceLab/DSView.git
synced 2025-01-23 13:42:55 +08:00
update: data export api
This commit is contained in:
parent
fc5e38d189
commit
1d39c28a14
@ -630,11 +630,6 @@ bool StoreSession::export_start()
|
||||
return false;
|
||||
}
|
||||
|
||||
//set export all data flag
|
||||
AppConfig &app = AppConfig::Instance();
|
||||
int flag = app._appOptions.originalData ? 1 : 0;
|
||||
sr_set_export_original_data(flag);
|
||||
|
||||
const struct sr_output_module **supportedModules = sr_output_list();
|
||||
while (*supportedModules)
|
||||
{
|
||||
@ -667,6 +662,10 @@ void StoreSession::export_proc(data::Snapshot *snapshot)
|
||||
{
|
||||
assert(snapshot);
|
||||
|
||||
//set export all data flag
|
||||
AppConfig &app = AppConfig::Instance();
|
||||
int origin_flag = app._appOptions.originalData ? 1 : 0;
|
||||
|
||||
data::LogicSnapshot *logic_snapshot = NULL;
|
||||
data::AnalogSnapshot *analog_snapshot = NULL;
|
||||
data::DsoSnapshot *dso_snapshot = NULL;
|
||||
@ -744,6 +743,7 @@ void StoreSession::export_proc(data::Snapshot *snapshot)
|
||||
p.type = SR_DF_META;
|
||||
p.status = SR_PKT_OK;
|
||||
p.payload = &meta;
|
||||
p.bExportOriginalData = 0;
|
||||
_outModule->receive(&output, &p, &data_out);
|
||||
if(data_out){
|
||||
out << QString::fromUtf8((char*) data_out->str);
|
||||
@ -810,6 +810,7 @@ void StoreSession::export_proc(data::Snapshot *snapshot)
|
||||
p.type = SR_DF_LOGIC;
|
||||
p.status = SR_PKT_OK;
|
||||
p.payload = &lp;
|
||||
p.bExportOriginalData = origin_flag;
|
||||
_outModule->receive(&output, &p, &data_out);
|
||||
|
||||
if(data_out){
|
||||
@ -840,6 +841,7 @@ void StoreSession::export_proc(data::Snapshot *snapshot)
|
||||
p.type = SR_DF_DSO;
|
||||
p.status = SR_PKT_OK;
|
||||
p.payload = &dp;
|
||||
p.bExportOriginalData = 0;
|
||||
_outModule->receive(&output, &p, &data_out);
|
||||
|
||||
if(data_out){
|
||||
@ -866,6 +868,7 @@ void StoreSession::export_proc(data::Snapshot *snapshot)
|
||||
p.type = SR_DF_ANALOG;
|
||||
p.status = SR_PKT_OK;
|
||||
p.payload = ≈
|
||||
p.bExportOriginalData = 0;
|
||||
_outModule->receive(&output, &p, &data_out);
|
||||
if(data_out){
|
||||
out << (char*) data_out->str;
|
||||
|
@ -345,6 +345,7 @@ struct sr_datafeed_packet {
|
||||
uint16_t type;
|
||||
uint16_t status;
|
||||
const void *payload;
|
||||
int bExportOriginalData;
|
||||
};
|
||||
|
||||
struct sr_datafeed_header {
|
||||
|
@ -235,12 +235,10 @@ static int receive(const struct sr_output *o, const struct sr_datafeed_packet *p
|
||||
*out = g_string_sized_new(512);
|
||||
}
|
||||
|
||||
int bflag = sr_get_export_original_flag();
|
||||
|
||||
for (i = 0; i <= logic->length - logic->unitsize; i += logic->unitsize) {
|
||||
ctx->index++;
|
||||
|
||||
if (bflag == 0){
|
||||
if (packet->bExportOriginalData == 0){
|
||||
if (ctx->index > 1 && (*(uint64_t *)(logic->data + i) & ctx->mask) == ctx->pre_data)
|
||||
continue;
|
||||
}
|
||||
|
@ -94,8 +94,7 @@ SR_API void sr_config_free(struct sr_config *src);
|
||||
typedef void (*sr_datafeed_callback_t)(const struct sr_dev_inst *sdi,
|
||||
const struct sr_datafeed_packet *packet, void *cb_data);
|
||||
|
||||
SR_API void sr_set_export_original_data(int flag);
|
||||
SR_API int sr_get_export_original_flag();
|
||||
|
||||
SR_API void sr_set_firmware_resource_dir(const char *dir);
|
||||
|
||||
|
||||
|
@ -34,9 +34,7 @@
|
||||
#define sr_warn(s, args...) sr_warn(LOG_PREFIX s, ## args)
|
||||
#define sr_err(s, args...) sr_err(LOG_PREFIX s, ## args)
|
||||
|
||||
char DS_RES_PATH[500] = {0};
|
||||
|
||||
int bExportOriginalData = 0; //able export all data
|
||||
char DS_RES_PATH[500] = {0};
|
||||
|
||||
/**
|
||||
* @file
|
||||
@ -829,16 +827,6 @@ SR_API int sr_session_source_remove_channel(GIOChannel *channel)
|
||||
return _sr_session_source_remove((gintptr)channel);
|
||||
}
|
||||
|
||||
SR_API void sr_set_export_original_data(int flag)
|
||||
{
|
||||
bExportOriginalData = flag;
|
||||
}
|
||||
|
||||
SR_API int sr_get_export_original_flag()
|
||||
{
|
||||
return bExportOriginalData;
|
||||
}
|
||||
|
||||
void sr_set_firmware_resource_dir(const char *dir)
|
||||
{
|
||||
if (dir){
|
||||
|
Loading…
x
Reference in New Issue
Block a user