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;
|
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();
|
const struct sr_output_module **supportedModules = sr_output_list();
|
||||||
while (*supportedModules)
|
while (*supportedModules)
|
||||||
{
|
{
|
||||||
@ -667,6 +662,10 @@ void StoreSession::export_proc(data::Snapshot *snapshot)
|
|||||||
{
|
{
|
||||||
assert(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::LogicSnapshot *logic_snapshot = NULL;
|
||||||
data::AnalogSnapshot *analog_snapshot = NULL;
|
data::AnalogSnapshot *analog_snapshot = NULL;
|
||||||
data::DsoSnapshot *dso_snapshot = NULL;
|
data::DsoSnapshot *dso_snapshot = NULL;
|
||||||
@ -744,6 +743,7 @@ void StoreSession::export_proc(data::Snapshot *snapshot)
|
|||||||
p.type = SR_DF_META;
|
p.type = SR_DF_META;
|
||||||
p.status = SR_PKT_OK;
|
p.status = SR_PKT_OK;
|
||||||
p.payload = &meta;
|
p.payload = &meta;
|
||||||
|
p.bExportOriginalData = 0;
|
||||||
_outModule->receive(&output, &p, &data_out);
|
_outModule->receive(&output, &p, &data_out);
|
||||||
if(data_out){
|
if(data_out){
|
||||||
out << QString::fromUtf8((char*) data_out->str);
|
out << QString::fromUtf8((char*) data_out->str);
|
||||||
@ -810,6 +810,7 @@ void StoreSession::export_proc(data::Snapshot *snapshot)
|
|||||||
p.type = SR_DF_LOGIC;
|
p.type = SR_DF_LOGIC;
|
||||||
p.status = SR_PKT_OK;
|
p.status = SR_PKT_OK;
|
||||||
p.payload = &lp;
|
p.payload = &lp;
|
||||||
|
p.bExportOriginalData = origin_flag;
|
||||||
_outModule->receive(&output, &p, &data_out);
|
_outModule->receive(&output, &p, &data_out);
|
||||||
|
|
||||||
if(data_out){
|
if(data_out){
|
||||||
@ -840,6 +841,7 @@ void StoreSession::export_proc(data::Snapshot *snapshot)
|
|||||||
p.type = SR_DF_DSO;
|
p.type = SR_DF_DSO;
|
||||||
p.status = SR_PKT_OK;
|
p.status = SR_PKT_OK;
|
||||||
p.payload = &dp;
|
p.payload = &dp;
|
||||||
|
p.bExportOriginalData = 0;
|
||||||
_outModule->receive(&output, &p, &data_out);
|
_outModule->receive(&output, &p, &data_out);
|
||||||
|
|
||||||
if(data_out){
|
if(data_out){
|
||||||
@ -866,6 +868,7 @@ void StoreSession::export_proc(data::Snapshot *snapshot)
|
|||||||
p.type = SR_DF_ANALOG;
|
p.type = SR_DF_ANALOG;
|
||||||
p.status = SR_PKT_OK;
|
p.status = SR_PKT_OK;
|
||||||
p.payload = ≈
|
p.payload = ≈
|
||||||
|
p.bExportOriginalData = 0;
|
||||||
_outModule->receive(&output, &p, &data_out);
|
_outModule->receive(&output, &p, &data_out);
|
||||||
if(data_out){
|
if(data_out){
|
||||||
out << (char*) data_out->str;
|
out << (char*) data_out->str;
|
||||||
|
@ -345,6 +345,7 @@ struct sr_datafeed_packet {
|
|||||||
uint16_t type;
|
uint16_t type;
|
||||||
uint16_t status;
|
uint16_t status;
|
||||||
const void *payload;
|
const void *payload;
|
||||||
|
int bExportOriginalData;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sr_datafeed_header {
|
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);
|
*out = g_string_sized_new(512);
|
||||||
}
|
}
|
||||||
|
|
||||||
int bflag = sr_get_export_original_flag();
|
|
||||||
|
|
||||||
for (i = 0; i <= logic->length - logic->unitsize; i += logic->unitsize) {
|
for (i = 0; i <= logic->length - logic->unitsize; i += logic->unitsize) {
|
||||||
ctx->index++;
|
ctx->index++;
|
||||||
|
|
||||||
if (bflag == 0){
|
if (packet->bExportOriginalData == 0){
|
||||||
if (ctx->index > 1 && (*(uint64_t *)(logic->data + i) & ctx->mask) == ctx->pre_data)
|
if (ctx->index > 1 && (*(uint64_t *)(logic->data + i) & ctx->mask) == ctx->pre_data)
|
||||||
continue;
|
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,
|
typedef void (*sr_datafeed_callback_t)(const struct sr_dev_inst *sdi,
|
||||||
const struct sr_datafeed_packet *packet, void *cb_data);
|
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);
|
SR_API void sr_set_firmware_resource_dir(const char *dir);
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,8 +36,6 @@
|
|||||||
|
|
||||||
char DS_RES_PATH[500] = {0};
|
char DS_RES_PATH[500] = {0};
|
||||||
|
|
||||||
int bExportOriginalData = 0; //able export all data
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file
|
* @file
|
||||||
*
|
*
|
||||||
@ -829,16 +827,6 @@ SR_API int sr_session_source_remove_channel(GIOChannel *channel)
|
|||||||
return _sr_session_source_remove((gintptr)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)
|
void sr_set_firmware_resource_dir(const char *dir)
|
||||||
{
|
{
|
||||||
if (dir){
|
if (dir){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user