@@ -474,7 +474,7 @@ JshPinState jshPinGetState(Pin pin) {
474
474
pin, g_pinState[pin], (GPIO_REG_READ(GPIO_OUT_W1TS_ADDRESS)>>pin)&1,
475
475
(GPIO_REG_READ(GPIO_OUT_ADDRESS)>>pin)&1, GPIO_INPUT_GET(pin));
476
476
*/
477
- /* reject non dialog ports */
477
+ /* reject non digital ports */
478
478
if ((pinInfo [pin ].port & JSH_PORT_MASK ) == JSH_PORTA ) {
479
479
return JSHPINSTATE_ADC_IN ;
480
480
}
@@ -501,7 +501,7 @@ void jshPinSetValue(
501
501
bool value //!< The new value of the pin.
502
502
) {
503
503
//os_printf("> ESP8266: jshPinSetValue pin=%d, value=%d\n", pin, value);
504
- /* reject non dialog ports */
504
+ /* reject non digital ports */
505
505
if ((pinInfo [pin ].port & JSH_PORT_MASK ) != JSH_PORTD ) {
506
506
return ;
507
507
}
@@ -528,6 +528,9 @@ bool CALLED_FROM_INTERRUPT jshPinGetValue( // can be called at interrupt time
528
528
Pin pin //!< The pin to have its value read.
529
529
) {
530
530
531
+ if ((pinInfo [pin ].port & JSH_PORT_MASK ) == JSH_PORTA ) {
532
+ return NAN ;
533
+ }
531
534
/* handle D16 */
532
535
if (pin == 16 ) {
533
536
return (READ_PERI_REG (RTC_GPIO_IN_DATA ) & 1 );
@@ -536,7 +539,6 @@ bool CALLED_FROM_INTERRUPT jshPinGetValue( // can be called at interrupt time
536
539
}
537
540
}
538
541
539
-
540
542
JsVarFloat jshPinAnalog (Pin pin ) {
541
543
//os_printf("> ESP8266: jshPinAnalog: pin=%d\n", pin);
542
544
@@ -545,12 +547,15 @@ JsVarFloat jshPinAnalog(Pin pin) {
545
547
} else {
546
548
return NAN ;
547
549
}
548
-
549
550
}
550
551
551
552
int jshPinAnalogFast (Pin pin ) {
552
553
//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
+ }
554
559
}
555
560
556
561
0 commit comments