]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lib.git/commitdiff
Remove extern variable declarations in the HAL header file
authorMichal Horn <michal@apartman.cz>
Thu, 16 Jul 2015 10:44:20 +0000 (12:44 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Sun, 2 Aug 2015 18:12:37 +0000 (20:12 +0200)
rpp/include/hal/gpio.h
rpp/src/hal/gpio.c
rpp/src/rpp/gio.c

index fd82c65fa0d9c66be4dc1b8b004afd3942f30ab5..0f5540dc12546fc1a2e2943ed080a75b62775623 100644 (file)
@@ -32,9 +32,9 @@
 
 #include "hal/hal.h"
 
-extern gioPORT_t *port_id_map[MAX_PORT_CNT];
-extern pin_map_element_t pin_map[MAX_PIN_CNT];
+uint8_t hal_gpio_get_pin_cnt();
 
+pin_map_element_t* hal_gpio_get_pin_map();
 
 /**
  * Get port base assigned to port number
index 0912b8a1686fd84f6beb20304d023c701649ccad..4633ff13e8e679c84c3f959d55f2fc13b69e9703 100644 (file)
 
 #include "hal/hal.h"
 
+extern gioPORT_t *port_id_map[MAX_PORT_CNT];
+extern pin_map_element_t pin_map[MAX_PIN_CNT];
+
+uint8_t hal_gpio_get_pin_cnt() {
+       return MAX_PIN_CNT;
+}
+
+pin_map_element_t* hal_gpio_get_pin_map() {
+       return pin_map;
+}
+
 gioPORT_t *hal_gpio_get_port_base(uint32_t port_num)
 {
        return port_id_map[port_num];
index 4c4baad547f2919492606f239afed0d2651cb412..809d4d7ca66c2eace0191bf4e97c11f717d486f1 100644 (file)
@@ -25,8 +25,10 @@ int8_t rpp_gio_init(uint32_t init_ports)
        unsigned pin;
 
        gioREG->GCR0 = 1;   // Bring GIO out of reset
+       pin_map_element_t* pin_map = hal_gpio_get_pin_map();
 
-       for (pin = 0; pin < sizeof(pin_map)/sizeof(*pin_map); pin++) {
+
+       for (pin = 0; pin < hal_gpio_get_pin_cnt(); pin++) {
                int port_num = hal_gpio_pin_get_port_num(pin_map[pin].pin_desc);
                if ((init_ports & (1 << port_num)) &&
                        !(ports_initialized & (1 << port_num)))