GPIO API ======== .. |br| raw:: html
Logicrom provide access to complete GPIO available on wireless modules which are generally not available with standard vendor SDK. Example Usage ------------- .. code-block:: c #include /* GPIO Configure as output */ int handle = gpio_request(GPIO_0, GPIO_FLAG_OUTPUT | GPIO_FLAG_DEFHIGH); /* GPIO Write */ gpio_write(handle, GPIO_LEVEL_HIGH); /* Fast GPIO access */ gpio_writefast(handle, GPIO_LEVEL_LOW); /* Change direction */ gpio_setdir(handle, GPIO_FLAG_INPUT | GPIO_FLAG_PULLUP); /* GPIO Read */ level = gpio_read(handle); /* Fast GPIO read */ level = gpio_readfast(handle); /* GPIO input trigger */ gpio_trigger_enable(handle, gpio_trigger_callback, 500, GPIO_TRIG_BOTH); Application Example ------------------- .. raw:: html

waybyte/example-gpio

4G LTE Module GPIO Mapping -------------------------- +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO Name | EC600U | EC200U | N58 | N716 | L610 | EG915U | +============+===========+===========+==========+==========+==========+===========+ | GPIO_0 | Pin 61 | Pin 27 | Pin 50 | Pin 99 | Pin 27 | Pin 4 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_1 | Pin 58 | Pin 26 | Pin 90 | Pin 100 | Pin 26 | Pin 5 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_2 | Pin 59 | Pin 24 | Pin 80 | Pin 101 | Pin 24 | Pin 6 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_3 | Pin 60 | Pin 25 | Pin 78 | Pin 102 | Pin 25 | Pin 7 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_4 | Pin 69 | Pin 13 | Pin 96 | Pin 54 | Pin 13 | Pin 1 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_5 | Pin 70 | Pin 135 | Pin 39 | Pin 38 | Pin 135 | Pin 20 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_6 | -- | -- | -- | -- | -- | -- | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_7 | Pin 118 | Pin 133 | Pin 25 | Pin 89 | Pin 133 | Pin 65 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_8 | Pin 99 | Pin 134 | -- | -- | Pin 134 | Pin 104 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_9 | Pin 98 | Pin 132 | Pin 2 | Pin 45 | Pin 132 | Pin 11 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_10 | Pin 95 | Pin 131 | Pin 79 | Pin 32 | Pin 131 | Pin 12 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_11 | Pin 119 | Pin 130 | Pin 83 | Pin 21 | Pin 130 | Pin 13 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_12 | Pin 100 | Pin 129 | Pin 13 | Pin 22 | Pin 129 | Pin 14 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_13 | Pin 54 | Pin 5 | -- | Pin 67 | Pin 5 | Pin 21 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_14 | Pin 57 | Pin 141 | Pin 82 | Pin 71 | Pin 141 | Pin 40 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_15 | Pin 56 | Pin 142 | Pin 81 | Pin 70 | Pin 142 | Pin 41 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_16 | Pin 11 | Pin 41 | Pin 59 | Pin 122 | Pin 41 | Pin 103 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_17 | Pin 12 | Pin 42 | Pin 58 | Pin 121 | Pin 42 | Pin 114 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_18 | Pin 120 | Pin 61 | Pin 54 | Pin 115 | Pin 61 | Pin 111 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_19 | Pin 16 | Pin 62 | Pin 60 | Pin 65 | Pin 62 | Pin 115 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_20 | Pin 10 | Pin 63 | Pin 61 | Pin 106 | Pin 63 | Pin 95 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_21 | Pin 14 | Pin 66 | Pin 55 | Pin 116 | Pin 66 | Pin 97 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_22 | Pin 15 | Pin 6 | Pin 56 | Pin 114 | Pin 6 | Pin 98 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_23 | Pin 13 | Pin 23 | Pin 57 | Pin 117 | Pin 23 | Pin 78 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_24 | Pin 48 | Pin 33 | Pin 5 | Pin 52 | Pin 33 | Pin 38 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_25 | Pin 39 | Pin 31 | Pin 7 | Pin 47 | Pin 31 | Pin 30 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_26 | Pin 40 | Pin 30 | Pin 8 | Pin 48 | Pin 30 | Pin 39 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_27 | Pin 49 | Pin 29 | Pin 3 | Pin 50 | Pin 29 | Pin 18 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_28 | Pin 50 | Pin 28 | Pin 4 | Pin 51 | Pin 28 | Pin 19 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_29 | Pin 53 | Pin 1 | Pin 23 | Pin 87 | Pin 1 | Pin 84 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_30 | Pin 52 | Pin 2 | Pin 22 | Pin 86 | Pin 2 | Pin 86 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_31 | Pin 51 | Pin 4 | Pin 24 | Pin 88 | Pin 4 | Pin 85 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_0_ALT | Pin 66 | Pin 125 | Pin 68 | Pin 92 | Pin 125 | Pin 116 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_1_ALT | Pin 63 | Pin 124 | Pin 67 | Pin 90 | Pin 124 | Pin 106 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_2_ALT | Pin 67 | Pin 123 | Pin 66 | Pin 93 | Pin 123 | Pin 105 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_3_ALT | Pin 65 | Pin 122 | Pin 65 | Pin 91 | Pin 122 | Pin 16 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_4_ALT | Pin 137 | Pin 121 | Pin 73 | Pin 94 | Pin 121 | Pin 108 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_5_ALT | Pin 62 | Pin 119 | Pin 64 | Pin 96 | Pin 119 | Pin 92 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_9_ALT | Pin 1 | Pin 40 | Pin 84 | Pin 6 | Pin 40 | Pin 26 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_10_ALT| Pin 4 | Pin 37 | Pin 87 | Pin 7 | Pin 37 | Pin 25 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_11_ALT| Pin 3 | Pin 38 | Pin 86 | Pin 5 | Pin 38 | Pin 64 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_12_ALT| Pin 2 | Pin 39 | Pin 85 | Pin 4 | Pin 39 | Pin 88 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_18_ALT| Pin 34 | Pin 65 | Pin 51 | Pin 56 | Pin 65 | Pin 37 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_19_ALT| Pin 33 | Pin 64 | Pin 52 | Pin 57 | Pin 64 | Pin 36 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_20_ALT| Pin 123 | Pin 136 | Pin 70 | Pin 12 | Pin 136 | Pin 28 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_21_ALT| Pin 124 | Pin 139 | Pin 69 | Pin 11 | Pin 139 | Pin 27 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_22_ALT| Pin 122 | Pin 126 | Pin 71 | Pin 13 | Pin 126 | Pin 83 | +------------+-----------+-----------+----------+----------+----------+-----------+ | GPIO_23_ALT| Pin 121 | Pin 127 | Pin 72 | Pin 14 | Pin 127 | Pin 42 | +------------+-----------+-----------+----------+----------+----------+-----------+ .. note:: Only one pin can be configured at a time for GPIO function between GPIO_x and GPIO_x_ALT. For example, if GPIO_0_ALT is configured as GPIO, GPIO_1 pin cannot be used as GPIO. GSM/NB-IoT Module GPIO Mapping ------------------------------ RDA8955 based modules ^^^^^^^^^^^^^^^^^^^^^ +------------+------------+------------+----------+ | GPIO Name | M590 Pin | MC65 Pin | A9 Pin | +============+============+============+==========+ | GPIO_0 | Pin 7 | Pin 33 | Pin 53 | +------------+------------+------------+----------+ | GPIO_1 | Pin 8 | Pin 34 | Pin 54 | +------------+------------+------------+----------+ | GPIO_2 | Pin 41 | Pin 38 | Pin 52 | +------------+------------+------------+----------+ | GPIO_3 | Pin 42 | Pin 39 | Pin 51 | +------------+------------+------------+----------+ | GPIO_4 | Pin 59 | Pin 24 | Pin 49 | +------------+------------+------------+----------+ | GPIO_5 | Pin 58 | Pin 25 | Pin 50 | +------------+------------+------------+----------+ | GPIO_6 | Pin 60 | Pin 35 | Pin 48 | +------------+------------+------------+----------+ | GPIO_7 | Pin 61 | Pin 36 | Pin 47 | +------------+------------+------------+----------+ | GPIO_8 | Pin 35 | Pin 8 | Pin 8 | +------------+------------+------------+----------+ | GPIO_9 | Pin 34 | Pin 7 | Pin 7 | +------------+------------+------------+----------+ | GPIO_10 | Pin 33 | Pin 9 | Pin 6 | +------------+------------+------------+----------+ | GPIO_11 | Pin 32 | Pin 10 | Pin 5 | +------------+------------+------------+----------+ | GPIO_12 | Pin 31 | Pin 11 | Pin 4 | +------------+------------+------------+----------+ | GPIO_13 | Pin 30 | Pin 12 | Pin 3 | +------------+------------+------------+----------+ | GPIO_14 | Pin 56 | Pin 59 | Pin 20 | +------------+------------+------------+----------+ | GPIO_15 | Pin 55 | Pin 61 | Pin 19 | +------------+------------+------------+----------+ | GPIO_16 | Pin 53 | Pin 62 | Pin 23 | +------------+------------+------------+----------+ | GPIO_17 | Pin 54 | Pin 60 | Pin 21 | +------------+------------+------------+----------+ | GPIO_18 | Pin 57 | -- | Pin 22 | +------------+------------+------------+----------+ | GPIO_19 | Pin 23 | Pin 56 | Pin 1 | +------------+------------+------------+----------+ | GPIO_20 | Pin 24 | Pin 65 | Pin 2 | +------------+------------+------------+----------+ | GPIO_21 | Pin 25 | Pin 64 | -- | +------------+------------+------------+----------+ | GPIO_22 | Pin 26 | Pin 57 | -- | +------------+------------+------------+----------+ | GPIO_23 | Pin 27 | Pin 58 | -- | +------------+------------+------------+----------+ | GPIO_24 | Pin 28 | Pin 63 | -- | +------------+------------+------------+----------+ | GPIO_25 | Pin 10 | -- | Pin 32 | +------------+------------+------------+----------+ | GPIO_26 | -- | -- | Pin 25 | +------------+------------+------------+----------+ | GPIO_27 | -- | -- | Pin 26 | +------------+------------+------------+----------+ | GPIO_28 | -- | -- | Pin 30 | +------------+------------+------------+----------+ | GPIO_29 | Pin 9 | -- | Pin 24 | +------------+------------+------------+----------+ | GPIO_30 | Pin 5 | Pin 28 | Pin 31 | +------------+------------+------------+----------+ | GPIO_31 | Pin 17 | Pin 47 | Pin 16 | +------------+------------+------------+----------+ | GPIO_32 | Pin 50 | Pin 37 | -- | +------------+------------+------------+----------+ | GPIO_33 | Pin 66 | -- | -- | +------------+------------+------------+----------+ | GPIO_34 | Pin 64 | Pin 46 | -- | +------------+------------+------------+----------+ | GPIO_35 | Pin 63 | Pin 30 | Pin 38 | +------------+------------+------------+----------+ | GPIO_36 | Pin 62 | Pin 29 | Pin 37 | +------------+------------+------------+----------+ MT2503/MT6261/MT2625 based modules ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO Name | MC20U Pin | M56 Pin | MC60 Pin | M66 Pin | BC20 Pin | SIM868 | | | | | |br| MC20 Pin | | | Pin | +============+==================+===========+=================+===========+============+============+ | GPIO_0 | Pin 47 | Pin 12 | Pin 47 | Pin 16 | Pin 2 | Pin 1 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_1 | Pin 37 | Pin 17 | Pin 37 | Pin 19 | Pin 3 | Pin 2 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_2 | Pin 35 | Pin 24 | Pin 35 | Pin 20 | Pin 4 | Pin 3 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_3 | Pin 36 | Pin 23 | Pin 36 | Pin 21 | Pin 6 | Pin 4 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_4 | Pin 38 | Pin 26 | Pin 38 | Pin 22 | Pin 7 | Pin 5 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_5 | Pin 39 | Pin 59 | Pin 39 | Pin 23 | Pin 8 | Pin 6 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_6 | Pin 59 | Pin 4 | Pin 59 | Pin 28 | Pin 9 | Pin 7 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_7 | Pin 61 | Pin 15 | Pin 61 | Pin 29 | Pin 10 | Pin 14 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_8 | Pin 62 | Pin 27 | Pin 62 | Pin 30 | Pin 24 | Pin 15 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_9 | Pin 60 | Pin 16 | Pin 60 | Pin 31 | Pin 25 | Pin 16 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_10 | Pin 3 | Pin 78 | Pin 7 | Pin 32 | Pin 28 | Pin 17 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_11 | Pin 4 | Pin 86 | Pin 8 | Pin 33 | Pin 29 | Pin 22 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_12 | Pin 7 | Pin 87 | Pin 9 | Pin 15 | Pin 30 | Pin 23 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_13 | Pin 8 | Pin 76 | Pin 11 | Pin 17 | Pin 33 | Pin 29 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_14 | Pin 9 | Pin 77 | Pin 12 | Pin 18 | Pin 34 | Pin 41 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_15 | Pin 10 | Pin 75 | Pin 10 | Pin 25 | Pin 35 | Pin 42 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_16 | Pin 13 | Pin 44 | Pin 57 | Pin 38 | Pin 36 | Pin 46 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_17 | Pin 46 | Pin 49 | Pin 58 | Pin 39 | Pin 38 | Pin 47 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_18 | Pin 55 | Pin 88 | Pin 63 | -- | Pin 39 | Pin 48 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_19 | Pin 63 | Pin 45 | Pin 64 | -- | Pin 47 | Pin 49 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_20 | Pin 66 | Pin 3 | Pin 65 | -- | Pin 54 | Pin 50 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_21 | Pin 56 | Pin 1 | Pin 46 | -- | Pin 57 | Pin 51 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_22 | Pin 57 | Pin 53 | Pin 34* | -- | Pin 58 | Pin 52 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_23 | Pin 58 | Pin 48 | Pin 33* | -- | Pin 59 | Pin 53 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_24 | Pin 64 | Pin 28 | Pin 24 | -- | Pin 60 | Pin 54 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_25 | Pin 65 | Pin 89 | Pin 25 | -- | Pin 61 | Pin 55 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_26 | Pin 33 | Pin 36 | Pin 30 | -- | Pin 62 | Pin 57 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_27 | Pin 34 | Pin 25 | Pin 29 | -- | Pin 63 | Pin 58 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_28 | Pin 24 | Pin 40 | Pin 19 | -- | Pin 67 | Pin 64 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_29 | Pin 25 | Pin 41 | Pin 21 | -- | Pin 68 | Pin 65 | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_30 | Pin 30 | Pin 2 | Pin 20 | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_31 | Pin 29 | Pin 13 | Pin 28 | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_32 | Pin 19 | Pin 62 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_33 | Pin 21 | Pin 65 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_34 | Pin 20 | Pin 64 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_35 | Pin 28 | Pin 27 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_36 | Pin 67# | Pin 66# | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_37 | -- | Pin 60# | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_38 | -- | Pin 19 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_39 | -- | Pin 29 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_40 | -- | Pin 30 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_41 | -- | Pin 34 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_42 | -- | Pin 35 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_43 | -- | Pin 52 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_44 | -- | Pin 58 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_45 | -- | Pin 69 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_46 | -- | Pin 70 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_47 | -- | Pin 71 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_48 | -- | Pin 80 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_49 | -- | Pin 81 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_50 | -- | Pin 82 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ | GPIO_51 | -- | Pin 31 | -- | -- | -- | -- | +------------+------------------+-----------+-----------------+-----------+------------+------------+ API Reference ------------- .. include:: /inc/gpio.inc .. note:: Please refer header file for actual number of GPIOs available for respective board. .. include:: /inc/def_gpio.inc