T O P I C R E V I E W |
sc |
Posted - 07/22/2019 : 04:13:03 I'd like to download history from an EMF-390 in an automated setup. Is it possible to run it in batch with command line switches? Is the source code available? Stuart |
5 L A T E S T R E P L I E S (Newest First) |
EmfDev |
Posted - 02/05/2020 : 17:05:31 You can send the first command to get 1000 bytes of data, then receive the data (check if it's 1000), if not then continue receiving. If the data is 1000, then stop. But after sometime, let's say 500ms or 1 second, if the data is still < 1000, then data is maybe corrupted so you can discard the data and repeat the command. |
sprezzatura |
Posted - 02/05/2020 : 15:31:00 Yes, I understand that you specify the amount of data in the command. But when do you stop?
I assume that to retrieve the data, you go into a loop. For example:
<SPIR0000001000>> (get '1000' bytes at address '000000') <SPIR0010001000>> (get '1000' bytes at address '001000') <SPIR0020001000>> (get '1000' bytes at address '002000') etc.
How do you know in advance how much data there is to get? When do you stop the loop?
|
EmfDev |
Posted - 02/05/2020 : 13:27:41 You can specify the number of data to be transmitted with the > command. But most of the commands are fast so you can just delay and wait a little bit. |
sprezzatura |
Posted - 02/05/2020 : 13:16:24 How do you know when the data is completed? (vg. no more data to transmit). |
EmfDev |
Posted - 07/22/2019 : 09:09:49 Hi sc, you can use the <SPIR>> command (http://www.gqelectronicsllc.com/download/GQ-RFC1701.txt). Here is the format for the date. Date always starts with 0x55 0xAA.
time[0] = 0x55; time[1] = 0xAA; time[2] = Year; //20xx time[3] = Month //01-12 time[4] = Day time[5] = Hour time[6] = Minute time[7] = Second
and here's a format for the data
data[0] = 0xAA; data[1] = 0X55; data[2] = (temp >> 8) & 0xFF; //EMF is 16 bits the first 12 MSB are for the integer part of EMF data[3] = temp & 0xFF; // then the 4LSB are for the decimal part. e.g 1.1 ==> 0000000000010001 // EF - bits of float type data[4] = EF[0]; data[5] = EF[1]; data[6] = EF[2]; data[7] = EF[3]; // RF same as EF data = RF[0]; data[9] = RF[1]; data[10] = RF[2]; data[11] = RF[3]; |