From dd697514ddb858e310dbdc251090d72e6a85711f Mon Sep 17 00:00:00 2001 From: Pedro Date: Mon, 8 Jun 2020 10:31:17 -0300 Subject: [PATCH] IPC_commands --- sendiq | Bin 100740 -> 100904 bytes src/sendiq.cpp | 42 +++++++++++++++++++++++++++++++++++++++--- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/sendiq b/sendiq index 9d3944834b1bb47acd3743b744bddb876d546bca..2393e7f77bd92c98af956a91ae29fc0a9bffd613 100755 GIT binary patch delta 18967 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 delta 18697 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 CPp>Ed diff --git a/src/sendiq.cpp b/src/sendiq.cpp index 6c522b8..1bf1101 100644 --- a/src/sendiq.cpp +++ b/src/sendiq.cpp @@ -5,7 +5,38 @@ #include #include #include //Used for shared memory -//----- SHARED MEMORY STRUCTURE ----- +// ============================================================================================= +// ----- SHARED MEMORY STRUCTURE ----- +// All commands sent by a partner program towards sendiq +// Operation tips +// 1-Partner program creates a shared memory block with a given arbitrary token id +// (any integer non-zero integer number). +// 2-sendiq is started with the -m {token} argument, without it no shared memory commands +// are honored. +// 3-Partner program willing to alter the operation of sendiq place the +// appropriate commnand plus optional associated data and/or common_data +// if needed (see table below). +// 4-Partner program set updated=true. +// 5-sendiq checks periodically for condition updated==true. +// 6-if detected updated==true at step -5- the command is evaluated and executed. +// 7-sendiq set updated=false. +// 8-Partner program must refrain to send any command while the condition updated==true is on +// +// Table +// --------------------------------------------------------------------------- +// Command Meaning data common_data +// 1111 Switch to I/Q mode N/A N/A +// 2222 Switch to Freq & A mode N/A N/A +// 3333 Set drive level Drive level {0..7} N/A +// 4444 Change Frequency Frequency in Hz N/A +// --------------------------------------------------------------------------- +// +// Note: with current level if shared memory is enabled the data incoming thru standar input +// or file is expected to be in float format. Other data formats aren't supported together with +// commands, for them sendiq will work but no commands will be honored. +// +// *--- Memory structure + struct shared_memory_struct { bool updated; int command; @@ -15,7 +46,7 @@ struct shared_memory_struct { bool running=true; bool fdds=false; //operate as a DDS -float drivedds=1.0; //drive level +float drivedds=0.1; //drive level #define PROGRAM_VERSION "0.2" @@ -70,7 +101,7 @@ int main(int argc, char* argv[]) enum {typeiq_i16,typeiq_u8,typeiq_float,typeiq_double}; int InputType=typeiq_i16; int Decimation=1; - + while(1) { a = getopt(argc, argv, "i:f:s:m:p:h:ldt:"); @@ -100,6 +131,7 @@ int main(int argc, char* argv[]) break; case 'm': // Shared memory token sharedmem_token = atoi(optarg); + InputType=typeiq_float; //if using shared memory force float pipe break; case 's': // SampleRate (Only needeed in IQ mode) SampleRate = atoi(optarg); @@ -293,16 +325,20 @@ int main(int argc, char* argv[]) if (sharedmem->updated==true) { if (sharedmem->command == 1111) { iqtest.ModeIQ=MODE_IQ; + printf("MODE_IQ selected\n"); } if (sharedmem->command == 2222) { iqtest.ModeIQ=MODE_FREQ_A; + printf("MODE_FREQ_A selected\n"); } if (sharedmem->command == 3333) { drivedds=sharedmem->data; + printf("Drive level set (%f)\n",drivedds); } if (sharedmem->command == 4444) { SetFrequency=sharedmem->data; + printf("Frequency set %f\n",SetFrequency); iqtest.clkgpio::disableclk(4); iqtest.clkgpio::SetAdvancedPllMode(true); iqtest.clkgpio::SetCenterFrequency(SetFrequency,SampleRate);