Skip to content

Commit c8de670

Browse files
authored
Merge pull request #1502 from espruino/MaBecker-patch-2
updates for A0
2 parents 09834dc + f9df06a commit c8de670

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

targets/esp8266/jshardware.c

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ JshPinState jshPinGetState(Pin pin) {
474474
pin, g_pinState[pin], (GPIO_REG_READ(GPIO_OUT_W1TS_ADDRESS)>>pin)&1,
475475
(GPIO_REG_READ(GPIO_OUT_ADDRESS)>>pin)&1, GPIO_INPUT_GET(pin));
476476
*/
477-
/* reject non dialog ports */
477+
/* reject non digital ports */
478478
if ((pinInfo[pin].port & JSH_PORT_MASK) == JSH_PORTA) {
479479
return JSHPINSTATE_ADC_IN;
480480
}
@@ -501,7 +501,7 @@ void jshPinSetValue(
501501
bool value //!< The new value of the pin.
502502
) {
503503
//os_printf("> ESP8266: jshPinSetValue pin=%d, value=%d\n", pin, value);
504-
/* reject non dialog ports */
504+
/* reject non digital ports */
505505
if ((pinInfo[pin].port & JSH_PORT_MASK) != JSH_PORTD) {
506506
return;
507507
}
@@ -528,6 +528,9 @@ bool CALLED_FROM_INTERRUPT jshPinGetValue( // can be called at interrupt time
528528
Pin pin //!< The pin to have its value read.
529529
) {
530530

531+
if ((pinInfo[pin].port & JSH_PORT_MASK) == JSH_PORTA) {
532+
return NAN;
533+
}
531534
/* handle D16 */
532535
if (pin == 16) {
533536
return (READ_PERI_REG(RTC_GPIO_IN_DATA) & 1);
@@ -536,7 +539,6 @@ bool CALLED_FROM_INTERRUPT jshPinGetValue( // can be called at interrupt time
536539
}
537540
}
538541

539-
540542
JsVarFloat jshPinAnalog(Pin pin) {
541543
//os_printf("> ESP8266: jshPinAnalog: pin=%d\n", pin);
542544

@@ -545,12 +547,15 @@ JsVarFloat jshPinAnalog(Pin pin) {
545547
} else {
546548
return NAN;
547549
}
548-
549550
}
550551

551552
int jshPinAnalogFast(Pin pin) {
552553
//os_printf("> ESP8266: jshPinAnalogFast: pin=%d\n", pin);
553-
return (int)system_adc_read() << 6; // left-align to 16 bits
554+
if ( pin == 255 || ( pinInfo[pin].port & JSH_PORT_MASK) == JSH_PORTA ) {
555+
return (int)system_adc_read() << 6; // left-align to 16 bits
556+
} else {
557+
return NAN;
558+
}
554559
}
555560

556561

0 commit comments

Comments
 (0)