Skip to content

Commit 90e50b3

Browse files
authored
Merge pull request #47 from soburi/analog_enable
Enable analog peripherals on the first call of analogRead()
2 parents 01af791 + 7c4faed commit 90e50b3

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

variants/jn516x/w_analog.c

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,17 @@ void analogReference( eAnalogReference ulMode )
3737

3838
uint32_t analogRead( uint32_t ulPin )
3939
{
40-
DBG_PRINTF("analogRread:\r\n");
40+
DBG_PRINTF("analogRead(%d)\r\n", ulPin);
41+
42+
// TODO: Enable Analog Peripherals on bootup.
43+
if (!bAHI_APRegulatorEnabled()) {
44+
vAHI_ApConfigure(E_AHI_AP_REGULATOR_ENABLE,
45+
E_AHI_AP_INT_DISABLE,
46+
E_AHI_AP_SAMPLE_2,
47+
E_AHI_AP_CLOCKDIV_500KHZ,
48+
E_AHI_AP_INTREF);
49+
while(!bAHI_APRegulatorEnabled());
50+
}
4151

4252
uint32_t adc = 0;
4353

@@ -57,26 +67,24 @@ uint32_t analogRead( uint32_t ulPin )
5767
default: return -1;
5868
}
5969

70+
DBG_PRINTF("vAHI_AdcEnable(%x)\r\n", adc);
6071
vAHI_AdcEnable(E_AHI_ADC_SINGLE_SHOT, E_AHI_AP_INPUT_RANGE_2, adc);
72+
DBG_PRINTF("vAHI_AdcStartSample()\r\n");
6173
vAHI_AdcStartSample();
74+
DBG_PRINTF("bAHI_AdcPoll()\r\n");
6275
while(!bAHI_AdcPoll());
6376

6477
uint16_t read;
78+
DBG_PRINTF("u16AHI_AdcRead()\r\n");
6579
read = u16AHI_AdcRead();
6680

67-
DBG_PRINTF("read:");
68-
DBG_PRINTF("%d\r\n", read);
69-
DBG_PRINTF("\r\n");
81+
DBG_PRINTF("return %d\r\n", read);
7082
return read;
7183
}
7284

7385
void analogWrite( uint32_t ulPin, uint32_t ulValue )
7486
{
75-
DBG_PRINTF("analogWrite ");
76-
DBG_PRINTF("%d\r\n", ulPin);
77-
DBG_PRINTF(" ");
78-
DBG_PRINTF("%d\r\n", ulValue);
79-
DBG_PRINTF("\r\n");
87+
DBG_PRINTF("analogWrite(%d, %d)\r\n", ulPin, ulValue);
8088

8189
uint32_t timer = 0;
8290
switch(1<<ulPin) {

0 commit comments

Comments
 (0)