fix to close device on failure, typo in script

master
Sven 2024-02-09 22:20:36 +01:00
parent 8df03c8bb3
commit 231e9a238d
2 changed files with 23 additions and 12 deletions

View File

@ -22,10 +22,21 @@ int64_t fdbaudrate = 500000;
const neodevice_t* selectedDevice = NULL; const neodevice_t* selectedDevice = NULL;
int closeonfail(const neodevice_t* device) {
printf ("!!!!!!!\n");
if(icsneo_closeDevice(device)) {
printf("%s successfully closed!\n", device->serial);
} else {
printf("%s failed to close!\n", device->serial);
}
exit(1);
}
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
if (argc != 5) { if (argc != 5) {
printf("Please check parameters!\n\n"); printf("Please check parameters!\n");
exit(1); exit(1);
} }
@ -58,30 +69,30 @@ int main(int argc, char *argv[]) {
if(strcmp(devices[i].serial,argv[1]) == 0) if(strcmp(devices[i].serial,argv[1]) == 0)
{ {
if(icsneo_openDevice(&devices[i])) { if(icsneo_openDevice(&devices[i])) {
printf("%s successfully opened!\n\n", devices[i].serial); printf("%s successfully opened!\n", devices[i].serial);
} else { } else {
printf("%s failed to open!\n\n", devices[i].serial); printf("%s failed to open!\n", devices[i].serial);
exit(1); exit(1);
} }
if(icsneo_setBaudrate(&devices[i], netid, baudrate) && icsneo_settingsApply(&devices[i])) { if(icsneo_setBaudrate(&devices[i], netid, baudrate) && icsneo_settingsApply(&devices[i])) {
printf("Successfully set %s baudrate for %s to %d!\n\n", argv[2], devices[i].serial, baudrate); printf("Successfully set %s baudrate for %s to %d!\n", argv[2], devices[i].serial, baudrate);
} else { } else {
printf("FAILED to set %s baudrate for %s to %d!\n\n", argv[2], devices[i].serial, baudrate); printf("FAILED to set %s baudrate for %s to %d!\n", argv[2], devices[i].serial, baudrate);
exit(1); closeonfail(&devices[i]);
} }
if(icsneo_setFDBaudrate(&devices[i], netid, fdbaudrate) && icsneo_settingsApply(&devices[i])) { if(icsneo_setFDBaudrate(&devices[i], netid, fdbaudrate) && icsneo_settingsApply(&devices[i])) {
printf("Successfully set %s FD baudrate for %s to %d!\n\n", argv[2], devices[i].serial, fdbaudrate); printf("Successfully set %s FD baudrate for %s to %d!\n", argv[2], devices[i].serial, fdbaudrate);
} else { } else {
printf("FAILED to set %s FD baudrate for %s to %d!\n\n", argv[2], devices[i].serial, fdbaudrate); printf("FAILED to set %s FD baudrate for %s to %d!\n", argv[2], devices[i].serial, fdbaudrate);
exit(1); closeonfail(&devices[i]);
} }
if(icsneo_closeDevice(&devices[i])) { if(icsneo_closeDevice(&devices[i])) {
printf("%s successfully closed!\n\n", devices[i].serial); printf("%s successfully closed!\n", devices[i].serial);
} else { } else {
printf("%s failed to close!\n\n", devices[i].serial); printf("%s failed to close!\n", devices[i].serial);
exit(1); exit(1);
} }

View File

@ -6,7 +6,7 @@ ARGS=$(ip link | awk 'BEGIN{ORS=" "};/can.*/{ if(/can.*:/){print $2};if(/alias/)
echo $1 $ARGS $2 $3 echo $1 $ARGS $2 $3
sudo libicsneo_setbaud $ARGS $2 $3 sudo libicsneo-setbaud $ARGS $2 $3
sudo ip link set $1 up sudo ip link set $1 up