// gcc -Wall -O3 -pthread -o set_drive_strength wiringpi.c -lwiringPi #include #include int main(int argc, char *argv[]) { if (wiringPiSetup() < 0) return 1; int strength_ma = argc > 1 ? atoi(argv[1]) : 8; // 1-16 -> 0-7 int pad_strength = strength_ma; pad_strength += 1; pad_strength /= 2; pad_strength -= 1; // Set the PAD drive strength setPadDrive(0, pad_strength & 7); // GPIO 0-27 setPadDrive(1, pad_strength & 7); // GPIO 28-45 setPadDrive(2, pad_strength & 7); // GPIO 46-53 return 0; }