mirror of
https://github.com/ole00/afterburner.git
synced 2025-02-06 00:29:57 +00:00
Fixed B9 command bug
Fixed: Command 'B9' (Calibration Offset = 0,25V) doesn't work Note: Also requires elimination of a bug in the PC program afterburner.ino Added: Sending B4, if b /wo -co is executed
This commit is contained in:
parent
fcd7b15fe4
commit
8ae5b495f8
@ -32,9 +32,12 @@ Changelog:
|
|||||||
* use 'git log'
|
* use 'git log'
|
||||||
|
|
||||||
This is the PC part that communicates with Arduino UNO by serial line.
|
This is the PC part that communicates with Arduino UNO by serial line.
|
||||||
To compile: gcc -g3 -O0 afterburner afterburner.c
|
To compile: gcc -g3 -O0 -o afterburner afterburner.c
|
||||||
*/
|
|
||||||
|
|
||||||
|
* 2024-02-02 Fixed: Command 'B9' (Calibration Offset = 0,25V) doesn't work
|
||||||
|
Note: Also requires elimination of a bug in the PC program afterburner.ino
|
||||||
|
Added: Sending B4, if b /wo -co is executed
|
||||||
|
*/
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -122,7 +125,7 @@ char fusemap[MAXFUSES];
|
|||||||
char noGalCheck = 0;
|
char noGalCheck = 0;
|
||||||
char varVppExists = 0;
|
char varVppExists = 0;
|
||||||
char printSerialWhileWaiting = 0;
|
char printSerialWhileWaiting = 0;
|
||||||
int calOffset = 0xFFFF; //calibration offset is not applied
|
int calOffset = 0; //no calibration offset is applied
|
||||||
char enableSecurity = 0;
|
char enableSecurity = 0;
|
||||||
|
|
||||||
char opRead = 0;
|
char opRead = 0;
|
||||||
@ -273,16 +276,16 @@ static int8_t checkArgs(int argc, char** argv) {
|
|||||||
if (calOffset < -20 || calOffset > 25) {
|
if (calOffset < -20 || calOffset > 25) {
|
||||||
printf("Calibration offset out of range (-20..25 inclusive).\n");
|
printf("Calibration offset out of range (-20..25 inclusive).\n");
|
||||||
}
|
}
|
||||||
|
if (calOffset < -20) {
|
||||||
|
calOffset = -20;
|
||||||
|
} else if (calOffset > 25) {
|
||||||
|
calOffset = 25;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (param[0] != '-') {
|
else if (param[0] != '-') {
|
||||||
modes = param;
|
modes = param;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (calOffset < -20) {
|
|
||||||
calOffset = -20;
|
|
||||||
} else if (calOffset > 25) {
|
|
||||||
calOffset = 25;
|
|
||||||
}
|
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
while (modes != 0 && modes[i] != 0) {
|
while (modes != 0 && modes[i] != 0) {
|
||||||
@ -970,20 +973,18 @@ static char operationTestVpp(void) {
|
|||||||
|
|
||||||
static char operationCalibrateVpp(void) {
|
static char operationCalibrateVpp(void) {
|
||||||
char result;
|
char result;
|
||||||
|
char cmd [8] = {0};
|
||||||
|
char val = (char)('0' + (calOffset + 20) / 5);
|
||||||
|
|
||||||
if (openSerial() != 0) {
|
if (openSerial() != 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (calOffset != 0xFFFF) {
|
sprintf(cmd, "B%c\r", val);
|
||||||
char cmd [8] = {0};
|
if (verbose) {
|
||||||
char val = (char)('0' + (calOffset + 20) / 5);
|
printf("sending 'B%c' command...\n", val);
|
||||||
sprintf(cmd, "B%c\r", val);
|
|
||||||
if (verbose) {
|
|
||||||
printf("sending 'B%c' command...\n", val);
|
|
||||||
}
|
|
||||||
result = sendGenericCommand(cmd, "VPP cal. offset failed", 4000, 1);
|
|
||||||
}
|
}
|
||||||
|
result = sendGenericCommand(cmd, "VPP cal. offset failed", 4000, 1);
|
||||||
|
|
||||||
if (verbose) {
|
if (verbose) {
|
||||||
printf("sending 'b' command...\n");
|
printf("sending 'b' command...\n");
|
||||||
@ -1011,7 +1012,7 @@ static char operationMeasureVpp(void) {
|
|||||||
|
|
||||||
//print the measured voltages if the feature is available
|
//print the measured voltages if the feature is available
|
||||||
printSerialWhileWaiting = 1;
|
printSerialWhileWaiting = 1;
|
||||||
result = sendGenericCommand("m\r", "VPP measurement failed", 22000, 1);
|
result = sendGenericCommand("m\r", "VPP measurement failed", 30000, 1);
|
||||||
printSerialWhileWaiting = 0;
|
printSerialWhileWaiting = 0;
|
||||||
|
|
||||||
closeSerial();
|
closeSerial();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user