-
Notifications
You must be signed in to change notification settings - Fork 2
/
ext_pins.ts
30 lines (29 loc) · 943 Bytes
/
ext_pins.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
* Extension to the pins module.
*
* @author Raik Andritschke
*/
namespace pins {
let ADC_initialized = false;
/**
* Read the connector value as analog, that is, as a value comprised between 0 and 1023.
* Based on 1.2V internal reference Voltage of nRF51 ADC
* @param name pin to write to, eg: AnalogPin.P0
*/
//% blockId="analogReadPinInternalRef" block="analogReadPin based on Internal reference voltage|pin %name"
export function analogReadPinInternalRef(name: AnalogPin) {
if (!ADC_initialized) {
// init ADC CONFIG
let dummy = pins.analogReadPin(AnalogPin.P2);
// ADC internal 1.2V voltage REF
ADCConfig.clearREFSEL();
ADC_initialized = true;
}
// read analog value
let analogvalue = pins.analogReadPin(name);
// ADC external VDD voltage REF
// ADCConfig.setREFSEL();
// Internal prescaling
return (analogvalue * 3);
}
}