void SetPinAnalogIn(int pin) { log_printf("SetPinAnalogIn(%d)", pin); SAVE_PIN_FOR_LOG(pin); PinSetRpor(pin, 0); PinSetCnen(pin, 0); PinSetCnpu(pin, 0); PinSetCnpd(pin, 0); PinSetAnsel(pin, 1); PinSetTris(pin, 1); }
void SetPinAnalogIn(int pin) { log_printf("SetPinAnalogIn(%d)", pin); SAVE_PIN_FOR_LOG(pin); PinSetRpor(pin, 0); PinSetCnen(pin, 0); PinSetCnpu(pin, 0); PinSetCnpd(pin, 0); PinSetAnsel(pin, 1); PinSetTris(pin, 1); ADCSetScan(pin, 0); //ANDROID THERMOSTAT MOD }
void SetPinDigitalOut(int pin, int value, int open_drain) { log_printf("SetPinDigitalOut(%d, %d, %d)", pin, value, open_drain); SAVE_PIN_FOR_LOG(pin); ADCSetScan(pin, 0); PinSetAnsel(pin, 0); PinSetRpor(pin, 0); PinSetCnen(pin, 0); PinSetCnpu(pin, 0); PinSetCnpd(pin, 0); PinSetLat(pin, value); PinSetOdc(pin, open_drain); PinSetTris(pin, 0); }
void SetPinDigitalIn(int pin, int pull) { log_printf("SetPinDigitalIn(%d, %d)", pin, pull); SAVE_PIN_FOR_LOG(pin); PinSetAnsel(pin, 0); PinSetRpor(pin, 0); PinSetCnen(pin, 0); switch (pull) { case 1: PinSetCnpd(pin, 0); PinSetCnpu(pin, 1); break; case 2: PinSetCnpu(pin, 0); PinSetCnpd(pin, 1); break; default: PinSetCnpu(pin, 0); PinSetCnpd(pin, 0); } PinSetTris(pin, 1); }
void SetPinCapSense(int pin) { log_printf("SetPinCapSense(%d)", pin); SAVE_PIN_FOR_LOG(pin); // In cap-sense mode, the pin is configured for analog input, but initially // pulling low in order to discharge, the circuit. PinSetRpor(pin, 0); PinSetCnen(pin, 0); PinSetCnpu(pin, 0); PinSetCnpd(pin, 0); PinSetAnsel(pin, 1); PinSetLat(pin, 0); PinSetTris(pin, 1); }
void SetPinDigitalOut(int pin, int value, int open_drain) { log_printf("SetPinDigitalOut(%d, %d, %d)", pin, value, open_drain); SAVE_PIN_FOR_LOG(pin); // Protect from the user trying to use push-pull, later pulling low using the // bootloader pin. if (pin == 0) open_drain = 1; PinSetAnsel(pin, 0); PinSetRpor(pin, 0); PinSetCnen(pin, 0); PinSetCnpu(pin, 0); PinSetCnpd(pin, 0); PinSetLat(pin, value); PinSetOdc(pin, open_drain); PinSetTris(pin, 0); }