@@ -24,8 +24,8 @@ extern "C" {
24
24
25
25
26
26
//This is the list of the digital IOs configured
27
- PinDescription g_anInputPinConfigured [MAX_ANALOG_IOS ];
28
- PinDescription g_anOutputPinConfigured [MAX_DIGITAL_IOS ];
27
+ boolean g_anInputPinConfigured [MAX_DIGITAL_IOS ];
28
+ boolean g_anOutputPinConfigured [MAX_DIGITAL_IOS ];
29
29
30
30
31
31
static int _readResolution = 10 ;
@@ -60,9 +60,6 @@ uint32_t analogRead(uint32_t ulPin)
60
60
uint32_t ulValue = 0 ;
61
61
uint8_t do_init = 0 ;
62
62
63
- //put mask only to have the lower digits
64
- uint32_t apin = ulPin & 0x0000000F ;
65
-
66
63
if (ulPin > MAX_DIGITAL_IOS ) {
67
64
return 0 ;
68
65
}
@@ -71,17 +68,15 @@ uint32_t analogRead(uint32_t ulPin)
71
68
ulPin = analogPinConvert (ulPin );
72
69
}
73
70
74
- if (( ulPin < 0 ) && ( apin < MAX_ANALOG_IOS ) )
71
+ if (ulPin < 0 )
75
72
return 0 ;
76
73
77
- g_anInputPinConfigured [apin ] = g_APinDescription [ulPin ];
78
-
79
- if (g_anInputPinConfigured [apin ].configured == false) {
74
+ if (g_anInputPinConfigured [ulPin ] == false) {
80
75
do_init = 1 ;
81
- g_anInputPinConfigured [apin ]. configured = true;
76
+ g_anInputPinConfigured [ulPin ] = true;
82
77
}
83
78
84
- ulValue = adc_read_value (g_anInputPinConfigured [ apin ].ulPort , g_anInputPinConfigured [ apin ].ulPin , do_init );
79
+ ulValue = adc_read_value (g_APinDescription [ ulPin ].ulPort , g_APinDescription [ ulPin ].ulPin , do_init );
85
80
86
81
ulValue = mapResolution (ulValue , ADC_RESOLUTION , _readResolution );
87
82
@@ -98,39 +93,35 @@ void analogOutputInit(void) {
98
93
// to digital output.
99
94
void analogWrite (uint32_t ulPin , uint32_t ulValue ) {
100
95
101
- //put mask only to have the lower digits
102
- uint32_t apin = ulPin & 0x0000000F ;
103
96
uint32_t attr = 0 ;
104
97
uint8_t do_init = 0 ;
105
98
106
99
if (ulPin > MAX_DIGITAL_IOS ) {
107
100
return ;
108
101
}
109
102
110
- if (( ulPin < 0 ) && ( apin < MAX_DIGITAL_IOS ) )
103
+ if (ulPin < 0 )
111
104
return ;
112
105
113
- g_anOutputPinConfigured [apin ] = g_APinDescription [ulPin ];
114
-
115
- if (g_anOutputPinConfigured [apin ].configured == false) {
106
+ if (g_anOutputPinConfigured [ulPin ] == false) {
116
107
do_init = 1 ;
117
- g_anOutputPinConfigured [apin ]. configured = true;
108
+ g_anOutputPinConfigured [ulPin ] = true;
118
109
}
119
110
120
- attr = g_anOutputPinConfigured [ apin ].mode ;
111
+ attr = g_APinDescription [ ulPin ].mode ;
121
112
122
113
if ((attr & GPIO_PIN_DAC ) == GPIO_PIN_DAC ) {
123
114
124
115
ulValue = mapResolution (ulValue , _writeResolution , DACC_RESOLUTION );
125
- dac_write_value (g_anOutputPinConfigured [ apin ].ulPort ,
126
- g_anOutputPinConfigured [ apin ].ulPin ,
116
+ dac_write_value (g_APinDescription [ ulPin ].ulPort ,
117
+ g_APinDescription [ ulPin ].ulPin ,
127
118
ulValue , do_init );
128
119
129
120
} else if ((attr & GPIO_PIN_PWM ) == GPIO_PIN_PWM ) {
130
121
131
122
ulValue = mapResolution (ulValue , _writeResolution , PWM_RESOLUTION );
132
- pwm_start (g_anOutputPinConfigured [ apin ].ulPort ,
133
- g_anOutputPinConfigured [ apin ].ulPin ,
123
+ pwm_start (g_APinDescription [ ulPin ].ulPort ,
124
+ g_APinDescription [ ulPin ].ulPin ,
134
125
PWM_FREQUENCY * PWM_MAX_DUTY_CYCLE ,
135
126
PWM_MAX_DUTY_CYCLE ,
136
127
ulValue , do_init );
0 commit comments