// This is an example of how to use the analog pins (ADC) on the Flipper Zero. // The example uses a reference voltage of 2048mV (2.048V), but you can also use 2500mV (2.5V). // The example reads the values of the analog pins A7, A6, and A4 and prints them to the console. // The example also checks if the value of A7 is twice the value of A6 and breaks the loop if it is. // The example uses the analog pins A7, A6, and A4, but you can also use PC3, PC1, and PC0. let gpio = require("gpio"); // initialize pins A7, A6, A4 as analog (you can also use PC3, PC1, PC0) gpio.init("PA7", "analog", "no"); // pin, mode, pull gpio.init("PA6", "analog", "no"); // pin, mode, pull gpio.init("PA4", "analog", "no"); // pin, mode, pull gpio.startAnalog(2048); // vRef = 2.048V (you can also use 2500 for a 2.5V reference voltage) while (true) { let pa7_value = gpio.readAnalog("PA7"); let pa6_value = gpio.readAnalog("PA6"); let pa4_value = gpio.readAnalog("PA4"); print("A7: " + to_string(pa7_value) + " A6: " + to_string(pa6_value) + " A4: " + to_string(pa4_value)); delay(100); if (pa7_value === pa6_value * 2) { break; } } print("A7 is twice A6!"); gpio.stopAnalog(); // possible analog pins https://docs.flipper.net/gpio-and-modules#miFsS // "PA7" aka 2 // "PA6" aka 3 // "PA4" aka 4 // "PC3" aka 7 // "PC1" aka 15 // "PC0" aka 16 // possible modes // "analog" // possible pull // "no"