From 719fdc1c14b4cde6aa70814ffe640589185fb8e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Heredero?= Date: Wed, 15 Mar 2023 12:55:57 +0100 Subject: [PATCH] doxygen - main.c --- html/adc_8c.html | 352 +++ html/adc_8c.js | 11 + html/adc_8c_source.html | 219 ++ html/adc_8h.html | 395 +++ html/adc_8h.js | 16 + html/adc_8h_source.html | 191 ++ html/annotated.html | 114 + html/annotated_dup.js | 9 + ...arial_rounded_m_t_bold18pt_bitmaps_8c.html | 180 ++ html/arial_rounded_m_t_bold18pt_bitmaps_8c.js | 6 + ...ounded_m_t_bold18pt_bitmaps_8c_source.html | 2795 +++++++++++++++++ html/bc_s.png | Bin 0 -> 670 bytes html/bc_sd.png | Bin 0 -> 610 bytes html/bdwn.png | Bin 0 -> 138 bytes html/classes.html | 116 + html/closed.png | Bin 0 -> 132 bytes html/crc_8c.html | 237 ++ html/crc_8c.js | 6 + html/crc_8c_source.html | 166 + html/crc_8h.html | 162 + html/crc_8h.js | 4 + html/crc_8h_source.html | 115 + html/debug_2crc_8p1_8d.html | 107 + html/debug_2crc_8p1_8d_source.html | 108 + html/debug_2doprnt_8d.html | 107 + html/debug_2doprnt_8d_source.html | 107 + html/debug_2lcd_2lcd_8p1_8d.html | 107 + html/debug_2lcd_2lcd_8p1_8d_source.html | 109 + html/debug_2main_8p1_8d.html | 107 + html/debug_2main_8p1_8d_source.html | 120 + ...ug_2mcc__generated__files_2adc_8p1_8d.html | 107 + ...__generated__files_2adc_8p1_8d_source.html | 109 + ...nerated__files_2device__config_8p1_8d.html | 107 + ...__files_2device__config_8p1_8d_source.html | 107 + ..._2mcc__generated__files_2epwm1_8p1_8d.html | 107 + ...generated__files_2epwm1_8p1_8d_source.html | 108 + ...mcc__generated__files_2eusart1_8p1_8d.html | 107 + ...nerated__files_2eusart1_8p1_8d_source.html | 108 + ...ted__files_2interrupt__manager_8p1_8d.html | 107 + ...les_2interrupt__manager_8p1_8d_source.html | 116 + ...ug_2mcc__generated__files_2mcc_8p1_8d.html | 107 + ...__generated__files_2mcc_8p1_8d_source.html | 116 + ...generated__files_2pin__manager_8p1_8d.html | 107 + ...ed__files_2pin__manager_8p1_8d_source.html | 108 + ...g_2mcc__generated__files_2tmr0_8p1_8d.html | 107 + ..._generated__files_2tmr0_8p1_8d_source.html | 108 + ...g_2mcc__generated__files_2tmr2_8p1_8d.html | 107 + ..._generated__files_2tmr2_8p1_8d_source.html | 108 + html/debug_2measure_8p1_8d.html | 107 + html/debug_2measure_8p1_8d_source.html | 117 + html/debug_2modbus_8p1_8d.html | 107 + html/debug_2modbus_8p1_8d_source.html | 119 + html/device__config_8c.html | 107 + html/device__config_8c_source.html | 159 + html/device__config_8h.html | 137 + html/device__config_8h.js | 4 + html/device__config_8h_source.html | 135 + .../dir_0ad8aa10ae8c15a00cc43e117933779f.html | 145 + html/dir_0ad8aa10ae8c15a00cc43e117933779f.js | 21 + .../dir_0fb03716f94c12843ecb26ce98074137.html | 127 + html/dir_0fb03716f94c12843ecb26ce98074137.js | 12 + .../dir_3599bb265aa7354e9690bbad03dadc8e.html | 113 + html/dir_3599bb265aa7354e9690bbad03dadc8e.js | 5 + .../dir_3caa40b8b06107d1692d1682cae226a5.html | 113 + html/dir_3caa40b8b06107d1692d1682cae226a5.js | 5 + .../dir_4fef79e7177ba769987a8da36c892c5f.html | 111 + html/dir_4fef79e7177ba769987a8da36c892c5f.js | 4 + .../dir_656c3fc66603871cb7211d4d37d6611d.html | 111 + html/dir_656c3fc66603871cb7211d4d37d6611d.js | 4 + .../dir_7539740a674fe554df3e16c8629ce56f.html | 124 + html/dir_7539740a674fe554df3e16c8629ce56f.js | 9 + .../dir_7d11db2609e8bdd1230b72b0f106f30e.html | 127 + html/dir_7d11db2609e8bdd1230b72b0f106f30e.js | 12 + .../dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.html | 124 + html/dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.js | 9 + .../dir_b8aefce5abc5d5fbadf00a64bbde7f35.html | 111 + html/dir_b8aefce5abc5d5fbadf00a64bbde7f35.js | 4 + .../dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1.html | 111 + html/dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1.js | 4 + .../dir_cbff1af7677f368a9b0328b1ff8ca25f.html | 124 + html/dir_cbff1af7677f368a9b0328b1ff8ca25f.js | 9 + .../dir_efde92471f44a6b10062d52851ddf1c8.html | 111 + html/dir_efde92471f44a6b10062d52851ddf1c8.js | 4 + .../dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.html | 111 + html/dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.js | 4 + html/doc.png | Bin 0 -> 744 bytes html/docd.png | Bin 0 -> 783 bytes html/doxygen.css | 2007 ++++++++++++ html/doxygen.svg | 26 + html/dynsections.js | 130 + html/epwm1_8c.html | 196 ++ html/epwm1_8c.js | 6 + html/epwm1_8c_source.html | 166 + html/epwm1_8h.html | 180 ++ html/epwm1_8h.js | 5 + html/epwm1_8h_source.html | 154 + html/eusart1_8c.html | 795 +++++ html/eusart1_8c.js | 31 + html/eusart1_8c_source.html | 337 ++ html/eusart1_8h.html | 603 ++++ html/eusart1_8h.js | 21 + html/eusart1_8h_source.html | 217 ++ html/files.html | 141 + html/files_dup.js | 12 + html/folderclosed.png | Bin 0 -> 575 bytes html/folderopen.png | Bin 0 -> 596 bytes html/ft5xx6_8c.html | 301 ++ html/ft5xx6_8c.js | 19 + html/ft5xx6_8c_source.html | 493 +++ html/ft5xx6_8h.html | 566 ++++ html/ft5xx6_8h.js | 95 + html/ft5xx6_8h_source.html | 421 +++ html/functions.html | 120 + html/functions_vars.html | 120 + html/globals.html | 107 + html/globals_a.html | 125 + html/globals_c.html | 120 + html/globals_d.html | 108 + html/globals_defs.html | 106 + html/globals_defs.js | 20 + html/globals_defs_a.html | 109 + html/globals_defs_c.html | 118 + html/globals_defs_d.html | 108 + html/globals_defs_e.html | 108 + html/globals_defs_f.html | 165 + html/globals_defs_g.html | 106 + html/globals_defs_h.html | 106 + html/globals_defs_i.html | 113 + html/globals_defs_l.html | 110 + html/globals_defs_m.html | 106 + html/globals_defs_o.html | 106 + html/globals_defs_p.html | 108 + html/globals_defs_r.html | 120 + html/globals_defs_s.html | 181 ++ html/globals_defs_v.html | 118 + html/globals_defs_w.html | 106 + html/globals_dup.js | 21 + html/globals_e.html | 137 + html/globals_enum.html | 106 + html/globals_eval.html | 113 + html/globals_f.html | 191 ++ html/globals_func.html | 222 ++ html/globals_g.html | 106 + html/globals_h.html | 107 + html/globals_i.html | 115 + html/globals_l.html | 114 + html/globals_m.html | 115 + html/globals_o.html | 107 + html/globals_p.html | 110 + html/globals_r.html | 122 + html/globals_s.html | 182 ++ html/globals_t.html | 124 + html/globals_type.html | 104 + html/globals_v.html | 119 + html/globals_vars.html | 162 + html/globals_w.html | 106 + html/group__ft5xx6.html | 783 +++++ html/group__ft5xx6.js | 17 + html/group__ft5xx6__masks.html | 205 ++ html/group__ft5xx6__masks.js | 7 + html/group__ft5xx6__offsets.html | 205 ++ html/group__ft5xx6__offsets.js | 7 + html/group__ft5xx6__registers.html | 1085 +++++++ html/group__ft5xx6__registers.js | 47 + html/group__ft5xx6__settings.html | 306 ++ html/group__ft5xx6__settings.js | 13 + html/group__middlewaregroup.html | 120 + html/group__middlewaregroup.js | 5 + html/group__ssd1963.html | 114 + html/group__ssd1963.js | 4 + html/group__ssd1963__commands.html | 1691 ++++++++++ html/group__ssd1963__commands.js | 78 + html/index.html | 104 + html/interrupt__manager_8c.html | 164 + html/interrupt__manager_8c.js | 5 + html/interrupt__manager_8c_source.html | 167 + html/interrupt__manager_8h.html | 239 ++ html/interrupt__manager_8h.js | 8 + html/interrupt__manager_8h_source.html | 144 + html/jquery.js | 34 + html/lcd_8c.html | 239 ++ html/lcd_8c.js | 8 + html/lcd_8c_source.html | 199 ++ html/lcd_8h.html | 326 ++ html/lcd_8h.js | 13 + html/lcd_8h_source.html | 168 + html/main_8c.html | 193 ++ html/main_8c.js | 5 + html/main_8c_source.html | 162 + html/mcc_8c.html | 165 + html/mcc_8c.js | 5 + html/mcc_8c_source.html | 164 + html/mcc_8h.html | 181 ++ html/mcc_8h.js | 5 + html/mcc_8h_source.html | 161 + html/measure_8c.html | 325 ++ html/measure_8c.js | 13 + html/measure_8c_source.html | 178 ++ html/measure_8h.html | 199 ++ html/measure_8h.js | 6 + html/measure_8h_source.html | 125 + html/menu.js | 136 + html/menudata.js | 98 + html/modbus_8c.html | 535 ++++ html/modbus_8c.js | 22 + html/modbus_8c_source.html | 239 ++ html/modbus_8h.html | 347 ++ html/modbus_8h.js | 11 + html/modbus_8h_source.html | 134 + html/modules.html | 116 + html/modules.js | 4 + html/nav_f.png | Bin 0 -> 161 bytes html/nav_fd.png | Bin 0 -> 143 bytes html/nav_g.png | Bin 0 -> 95 bytes html/nav_h.png | Bin 0 -> 96 bytes html/nav_hd.png | Bin 0 -> 105 bytes html/navtree.css | 150 + html/navtree.js | 549 ++++ html/navtreedata.js | 60 + html/navtreeindex0.js | 253 ++ html/navtreeindex1.js | 253 ++ html/navtreeindex2.js | 43 + html/old__main_8c.html | 312 ++ html/old__main_8c.js | 12 + html/old__main_8c_source.html | 165 + html/open.png | Bin 0 -> 122 bytes html/pin__manager_8c.html | 168 + html/pin__manager_8c.js | 5 + html/pin__manager_8c_source.html | 171 + html/pin__manager_8h.html | 1056 +++++++ html/pin__manager_8h.js | 49 + html/pin__manager_8h_source.html | 200 ++ html/production_2crc_8p1_8d.html | 107 + html/production_2crc_8p1_8d_source.html | 108 + html/production_2doprnt_8d.html | 107 + html/production_2doprnt_8d_source.html | 107 + html/production_2lcd_2lcd_8p1_8d.html | 107 + html/production_2lcd_2lcd_8p1_8d_source.html | 109 + html/production_2main_8p1_8d.html | 107 + html/production_2main_8p1_8d_source.html | 120 + ...on_2mcc__generated__files_2adc_8p1_8d.html | 107 + ...__generated__files_2adc_8p1_8d_source.html | 109 + ...nerated__files_2device__config_8p1_8d.html | 107 + ...__files_2device__config_8p1_8d_source.html | 107 + ..._2mcc__generated__files_2epwm1_8p1_8d.html | 107 + ...generated__files_2epwm1_8p1_8d_source.html | 108 + ...mcc__generated__files_2eusart1_8p1_8d.html | 107 + ...nerated__files_2eusart1_8p1_8d_source.html | 108 + ...ted__files_2interrupt__manager_8p1_8d.html | 107 + ...les_2interrupt__manager_8p1_8d_source.html | 116 + ...on_2mcc__generated__files_2mcc_8p1_8d.html | 107 + ...__generated__files_2mcc_8p1_8d_source.html | 116 + ...generated__files_2pin__manager_8p1_8d.html | 107 + ...ed__files_2pin__manager_8p1_8d_source.html | 108 + ...n_2mcc__generated__files_2tmr0_8p1_8d.html | 107 + ..._generated__files_2tmr0_8p1_8d_source.html | 108 + ...n_2mcc__generated__files_2tmr2_8p1_8d.html | 107 + ..._generated__files_2tmr2_8p1_8d_source.html | 108 + html/production_2measure_8p1_8d.html | 107 + html/production_2measure_8p1_8d_source.html | 117 + html/production_2modbus_8p1_8d.html | 107 + html/production_2modbus_8p1_8d_source.html | 119 + html/resize.js | 155 + html/search/all_0.js | 5 + html/search/all_1.js | 29 + html/search/all_10.js | 27 + html/search/all_11.js | 18 + html/search/all_12.js | 4 + html/search/all_2.js | 21 + html/search/all_3.js | 8 + html/search/all_4.js | 40 + html/search/all_5.js | 101 + html/search/all_6.js | 6 + html/search/all_7.js | 5 + html/search/all_8.js | 18 + html/search/all_9.js | 4 + html/search/all_a.js | 14 + html/search/all_b.js | 21 + html/search/all_c.js | 6 + html/search/all_d.js | 12 + html/search/all_e.js | 21 + html/search/all_f.js | 84 + html/search/classes_0.js | 4 + html/search/classes_1.js | 4 + html/search/classes_2.js | 7 + html/search/close.svg | 31 + html/search/defines_0.js | 4 + html/search/defines_1.js | 7 + html/search/defines_2.js | 16 + html/search/defines_3.js | 6 + html/search/defines_4.js | 6 + html/search/defines_5.js | 4 + html/search/defines_6.js | 4 + html/search/defines_7.js | 11 + html/search/defines_8.js | 8 + html/search/defines_9.js | 4 + html/search/defines_a.js | 4 + html/search/defines_b.js | 6 + html/search/defines_c.js | 18 + html/search/defines_d.js | 4 + html/search/defines_e.js | 16 + html/search/defines_f.js | 4 + html/search/enums_0.js | 4 + html/search/enums_1.js | 5 + html/search/enumvalues_0.js | 4 + html/search/enumvalues_1.js | 11 + html/search/enumvalues_2.js | 4 + html/search/files_0.js | 6 + html/search/files_1.js | 5 + html/search/files_2.js | 5 + html/search/files_3.js | 7 + html/search/files_4.js | 5 + html/search/files_5.js | 5 + html/search/files_6.js | 5 + html/search/files_7.js | 10 + html/search/files_8.js | 5 + html/search/files_9.js | 4 + html/search/files_a.js | 7 + html/search/functions_0.js | 4 + html/search/functions_1.js | 11 + html/search/functions_2.js | 4 + html/search/functions_3.js | 21 + html/search/functions_4.js | 15 + html/search/functions_5.js | 4 + html/search/functions_6.js | 7 + html/search/functions_7.js | 11 + html/search/functions_8.js | 4 + html/search/functions_9.js | 5 + html/search/functions_a.js | 4 + html/search/functions_b.js | 19 + html/search/groups_0.js | 8 + html/search/groups_1.js | 4 + html/search/groups_2.js | 5 + html/search/mag.svg | 37 + html/search/mag_d.svg | 37 + html/search/mag_sel.svg | 74 + html/search/mag_seld.svg | 74 + html/search/search.css | 291 ++ html/search/search.js | 816 +++++ html/search/searchdata.js | 42 + html/search/typedefs_0.js | 4 + html/search/variables_0.js | 11 + html/search/variables_1.js | 4 + html/search/variables_2.js | 14 + html/search/variables_3.js | 8 + html/search/variables_4.js | 5 + html/search/variables_5.js | 4 + html/search/variables_6.js | 7 + html/search/variables_7.js | 4 + html/search/variables_8.js | 4 + html/search/variables_9.js | 4 + html/search/variables_a.js | 5 + html/search/variables_b.js | 6 + html/search/variables_c.js | 4 + html/search/variables_d.js | 7 + html/search/variables_e.js | 4 + html/splitbar.png | Bin 0 -> 301 bytes html/splitbard.png | Bin 0 -> 279 bytes html/ssd1963__cmd_8h.html | 345 ++ html/ssd1963__cmd_8h.js | 78 + html/ssd1963__cmd_8h_source.html | 312 ++ ...tadc__sync__double__result__t-members.html | 109 + html/structadc__sync__double__result__t.html | 158 + html/structadc__sync__double__result__t.js | 5 + html/structft5xx6__cfg__t-members.html | 110 + html/structft5xx6__cfg__t.html | 183 ++ html/structft5xx6__cfg__t.js | 6 + html/structft5xx6__controller__t-members.html | 108 + html/structft5xx6__controller__t.html | 144 + html/structft5xx6__controller__t.js | 4 + html/structft5xx6__gest__item__t-members.html | 109 + html/structft5xx6__gest__item__t.html | 164 + html/structft5xx6__gest__item__t.js | 5 + html/structft5xx6__t-members.html | 113 + html/structft5xx6__t.html | 240 ++ html/structft5xx6__t.js | 9 + html/sync_off.png | Bin 0 -> 842 bytes html/sync_on.png | Bin 0 -> 834 bytes html/tab_a.png | Bin 0 -> 140 bytes html/tab_ad.png | Bin 0 -> 131 bytes html/tab_b.png | Bin 0 -> 181 bytes html/tab_bd.png | Bin 0 -> 153 bytes html/tab_h.png | Bin 0 -> 178 bytes html/tab_hd.png | Bin 0 -> 172 bytes html/tab_s.png | Bin 0 -> 195 bytes html/tab_sd.png | Bin 0 -> 167 bytes html/tabs.css | 1 + html/tmr0_8c.html | 423 +++ html/tmr0_8c.js | 14 + html/tmr0_8c_source.html | 246 ++ html/tmr0_8h.html | 430 +++ html/tmr0_8h.js | 13 + html/tmr0_8h_source.html | 182 ++ html/tmr2_8c.html | 329 ++ html/tmr2_8c.js | 10 + html/tmr2_8c_source.html | 200 ++ html/tmr2_8h.html | 341 ++ html/tmr2_8h.js | 10 + html/tmr2_8h_source.html | 170 + html/uart_8c.html | 147 + html/uart_8c.js | 4 + html/uart_8c_source.html | 116 + html/uart_8h.html | 147 + html/uart_8h.js | 4 + html/uart_8h_source.html | 125 + html/unioneusart1__status__t-members.html | 112 + html/unioneusart1__status__t.html | 229 ++ html/unioneusart1__status__t.js | 8 + main.c | 131 +- modbus.c | 21 +- modbus.h | 2 + nbproject/private/private.xml | 7 +- old_main.c | 55 - uart.c | 7 - uart.h | 18 - 415 files changed, 47526 insertions(+), 179 deletions(-) create mode 100644 html/adc_8c.html create mode 100644 html/adc_8c.js create mode 100644 html/adc_8c_source.html create mode 100644 html/adc_8h.html create mode 100644 html/adc_8h.js create mode 100644 html/adc_8h_source.html create mode 100644 html/annotated.html create mode 100644 html/annotated_dup.js create mode 100644 html/arial_rounded_m_t_bold18pt_bitmaps_8c.html create mode 100644 html/arial_rounded_m_t_bold18pt_bitmaps_8c.js create mode 100644 html/arial_rounded_m_t_bold18pt_bitmaps_8c_source.html create mode 100644 html/bc_s.png create mode 100644 html/bc_sd.png create mode 100644 html/bdwn.png create mode 100644 html/classes.html create mode 100644 html/closed.png create mode 100644 html/crc_8c.html create mode 100644 html/crc_8c.js create mode 100644 html/crc_8c_source.html create mode 100644 html/crc_8h.html create mode 100644 html/crc_8h.js create mode 100644 html/crc_8h_source.html create mode 100644 html/debug_2crc_8p1_8d.html create mode 100644 html/debug_2crc_8p1_8d_source.html create mode 100644 html/debug_2doprnt_8d.html create mode 100644 html/debug_2doprnt_8d_source.html create mode 100644 html/debug_2lcd_2lcd_8p1_8d.html create mode 100644 html/debug_2lcd_2lcd_8p1_8d_source.html create mode 100644 html/debug_2main_8p1_8d.html create mode 100644 html/debug_2main_8p1_8d_source.html create mode 100644 html/debug_2mcc__generated__files_2adc_8p1_8d.html create mode 100644 html/debug_2mcc__generated__files_2adc_8p1_8d_source.html create mode 100644 html/debug_2mcc__generated__files_2device__config_8p1_8d.html create mode 100644 html/debug_2mcc__generated__files_2device__config_8p1_8d_source.html create mode 100644 html/debug_2mcc__generated__files_2epwm1_8p1_8d.html create mode 100644 html/debug_2mcc__generated__files_2epwm1_8p1_8d_source.html create mode 100644 html/debug_2mcc__generated__files_2eusart1_8p1_8d.html create mode 100644 html/debug_2mcc__generated__files_2eusart1_8p1_8d_source.html create mode 100644 html/debug_2mcc__generated__files_2interrupt__manager_8p1_8d.html create mode 100644 html/debug_2mcc__generated__files_2interrupt__manager_8p1_8d_source.html create mode 100644 html/debug_2mcc__generated__files_2mcc_8p1_8d.html create mode 100644 html/debug_2mcc__generated__files_2mcc_8p1_8d_source.html create mode 100644 html/debug_2mcc__generated__files_2pin__manager_8p1_8d.html create mode 100644 html/debug_2mcc__generated__files_2pin__manager_8p1_8d_source.html create mode 100644 html/debug_2mcc__generated__files_2tmr0_8p1_8d.html create mode 100644 html/debug_2mcc__generated__files_2tmr0_8p1_8d_source.html create mode 100644 html/debug_2mcc__generated__files_2tmr2_8p1_8d.html create mode 100644 html/debug_2mcc__generated__files_2tmr2_8p1_8d_source.html create mode 100644 html/debug_2measure_8p1_8d.html create mode 100644 html/debug_2measure_8p1_8d_source.html create mode 100644 html/debug_2modbus_8p1_8d.html create mode 100644 html/debug_2modbus_8p1_8d_source.html create mode 100644 html/device__config_8c.html create mode 100644 html/device__config_8c_source.html create mode 100644 html/device__config_8h.html create mode 100644 html/device__config_8h.js create mode 100644 html/device__config_8h_source.html create mode 100644 html/dir_0ad8aa10ae8c15a00cc43e117933779f.html create mode 100644 html/dir_0ad8aa10ae8c15a00cc43e117933779f.js create mode 100644 html/dir_0fb03716f94c12843ecb26ce98074137.html create mode 100644 html/dir_0fb03716f94c12843ecb26ce98074137.js create mode 100644 html/dir_3599bb265aa7354e9690bbad03dadc8e.html create mode 100644 html/dir_3599bb265aa7354e9690bbad03dadc8e.js create mode 100644 html/dir_3caa40b8b06107d1692d1682cae226a5.html create mode 100644 html/dir_3caa40b8b06107d1692d1682cae226a5.js create mode 100644 html/dir_4fef79e7177ba769987a8da36c892c5f.html create mode 100644 html/dir_4fef79e7177ba769987a8da36c892c5f.js create mode 100644 html/dir_656c3fc66603871cb7211d4d37d6611d.html create mode 100644 html/dir_656c3fc66603871cb7211d4d37d6611d.js create mode 100644 html/dir_7539740a674fe554df3e16c8629ce56f.html create mode 100644 html/dir_7539740a674fe554df3e16c8629ce56f.js create mode 100644 html/dir_7d11db2609e8bdd1230b72b0f106f30e.html create mode 100644 html/dir_7d11db2609e8bdd1230b72b0f106f30e.js create mode 100644 html/dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.html create mode 100644 html/dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.js create mode 100644 html/dir_b8aefce5abc5d5fbadf00a64bbde7f35.html create mode 100644 html/dir_b8aefce5abc5d5fbadf00a64bbde7f35.js create mode 100644 html/dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1.html create mode 100644 html/dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1.js create mode 100644 html/dir_cbff1af7677f368a9b0328b1ff8ca25f.html create mode 100644 html/dir_cbff1af7677f368a9b0328b1ff8ca25f.js create mode 100644 html/dir_efde92471f44a6b10062d52851ddf1c8.html create mode 100644 html/dir_efde92471f44a6b10062d52851ddf1c8.js create mode 100644 html/dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.html create mode 100644 html/dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.js create mode 100644 html/doc.png create mode 100644 html/docd.png create mode 100644 html/doxygen.css create mode 100644 html/doxygen.svg create mode 100644 html/dynsections.js create mode 100644 html/epwm1_8c.html create mode 100644 html/epwm1_8c.js create mode 100644 html/epwm1_8c_source.html create mode 100644 html/epwm1_8h.html create mode 100644 html/epwm1_8h.js create mode 100644 html/epwm1_8h_source.html create mode 100644 html/eusart1_8c.html create mode 100644 html/eusart1_8c.js create mode 100644 html/eusart1_8c_source.html create mode 100644 html/eusart1_8h.html create mode 100644 html/eusart1_8h.js create mode 100644 html/eusart1_8h_source.html create mode 100644 html/files.html create mode 100644 html/files_dup.js create mode 100644 html/folderclosed.png create mode 100644 html/folderopen.png create mode 100644 html/ft5xx6_8c.html create mode 100644 html/ft5xx6_8c.js create mode 100644 html/ft5xx6_8c_source.html create mode 100644 html/ft5xx6_8h.html create mode 100644 html/ft5xx6_8h.js create mode 100644 html/ft5xx6_8h_source.html create mode 100644 html/functions.html create mode 100644 html/functions_vars.html create mode 100644 html/globals.html create mode 100644 html/globals_a.html create mode 100644 html/globals_c.html create mode 100644 html/globals_d.html create mode 100644 html/globals_defs.html create mode 100644 html/globals_defs.js create mode 100644 html/globals_defs_a.html create mode 100644 html/globals_defs_c.html create mode 100644 html/globals_defs_d.html create mode 100644 html/globals_defs_e.html create mode 100644 html/globals_defs_f.html create mode 100644 html/globals_defs_g.html create mode 100644 html/globals_defs_h.html create mode 100644 html/globals_defs_i.html create mode 100644 html/globals_defs_l.html create mode 100644 html/globals_defs_m.html create mode 100644 html/globals_defs_o.html create mode 100644 html/globals_defs_p.html create mode 100644 html/globals_defs_r.html create mode 100644 html/globals_defs_s.html create mode 100644 html/globals_defs_v.html create mode 100644 html/globals_defs_w.html create mode 100644 html/globals_dup.js create mode 100644 html/globals_e.html create mode 100644 html/globals_enum.html create mode 100644 html/globals_eval.html create mode 100644 html/globals_f.html create mode 100644 html/globals_func.html create mode 100644 html/globals_g.html create mode 100644 html/globals_h.html create mode 100644 html/globals_i.html create mode 100644 html/globals_l.html create mode 100644 html/globals_m.html create mode 100644 html/globals_o.html create mode 100644 html/globals_p.html create mode 100644 html/globals_r.html create mode 100644 html/globals_s.html create mode 100644 html/globals_t.html create mode 100644 html/globals_type.html create mode 100644 html/globals_v.html create mode 100644 html/globals_vars.html create mode 100644 html/globals_w.html create mode 100644 html/group__ft5xx6.html create mode 100644 html/group__ft5xx6.js create mode 100644 html/group__ft5xx6__masks.html create mode 100644 html/group__ft5xx6__masks.js create mode 100644 html/group__ft5xx6__offsets.html create mode 100644 html/group__ft5xx6__offsets.js create mode 100644 html/group__ft5xx6__registers.html create mode 100644 html/group__ft5xx6__registers.js create mode 100644 html/group__ft5xx6__settings.html create mode 100644 html/group__ft5xx6__settings.js create mode 100644 html/group__middlewaregroup.html create mode 100644 html/group__middlewaregroup.js create mode 100644 html/group__ssd1963.html create mode 100644 html/group__ssd1963.js create mode 100644 html/group__ssd1963__commands.html create mode 100644 html/group__ssd1963__commands.js create mode 100644 html/index.html create mode 100644 html/interrupt__manager_8c.html create mode 100644 html/interrupt__manager_8c.js create mode 100644 html/interrupt__manager_8c_source.html create mode 100644 html/interrupt__manager_8h.html create mode 100644 html/interrupt__manager_8h.js create mode 100644 html/interrupt__manager_8h_source.html create mode 100644 html/jquery.js create mode 100644 html/lcd_8c.html create mode 100644 html/lcd_8c.js create mode 100644 html/lcd_8c_source.html create mode 100644 html/lcd_8h.html create mode 100644 html/lcd_8h.js create mode 100644 html/lcd_8h_source.html create mode 100644 html/main_8c.html create mode 100644 html/main_8c.js create mode 100644 html/main_8c_source.html create mode 100644 html/mcc_8c.html create mode 100644 html/mcc_8c.js create mode 100644 html/mcc_8c_source.html create mode 100644 html/mcc_8h.html create mode 100644 html/mcc_8h.js create mode 100644 html/mcc_8h_source.html create mode 100644 html/measure_8c.html create mode 100644 html/measure_8c.js create mode 100644 html/measure_8c_source.html create mode 100644 html/measure_8h.html create mode 100644 html/measure_8h.js create mode 100644 html/measure_8h_source.html create mode 100644 html/menu.js create mode 100644 html/menudata.js create mode 100644 html/modbus_8c.html create mode 100644 html/modbus_8c.js create mode 100644 html/modbus_8c_source.html create mode 100644 html/modbus_8h.html create mode 100644 html/modbus_8h.js create mode 100644 html/modbus_8h_source.html create mode 100644 html/modules.html create mode 100644 html/modules.js create mode 100644 html/nav_f.png create mode 100644 html/nav_fd.png create mode 100644 html/nav_g.png create mode 100644 html/nav_h.png create mode 100644 html/nav_hd.png create mode 100644 html/navtree.css create mode 100644 html/navtree.js create mode 100644 html/navtreedata.js create mode 100644 html/navtreeindex0.js create mode 100644 html/navtreeindex1.js create mode 100644 html/navtreeindex2.js create mode 100644 html/old__main_8c.html create mode 100644 html/old__main_8c.js create mode 100644 html/old__main_8c_source.html create mode 100644 html/open.png create mode 100644 html/pin__manager_8c.html create mode 100644 html/pin__manager_8c.js create mode 100644 html/pin__manager_8c_source.html create mode 100644 html/pin__manager_8h.html create mode 100644 html/pin__manager_8h.js create mode 100644 html/pin__manager_8h_source.html create mode 100644 html/production_2crc_8p1_8d.html create mode 100644 html/production_2crc_8p1_8d_source.html create mode 100644 html/production_2doprnt_8d.html create mode 100644 html/production_2doprnt_8d_source.html create mode 100644 html/production_2lcd_2lcd_8p1_8d.html create mode 100644 html/production_2lcd_2lcd_8p1_8d_source.html create mode 100644 html/production_2main_8p1_8d.html create mode 100644 html/production_2main_8p1_8d_source.html create mode 100644 html/production_2mcc__generated__files_2adc_8p1_8d.html create mode 100644 html/production_2mcc__generated__files_2adc_8p1_8d_source.html create mode 100644 html/production_2mcc__generated__files_2device__config_8p1_8d.html create mode 100644 html/production_2mcc__generated__files_2device__config_8p1_8d_source.html create mode 100644 html/production_2mcc__generated__files_2epwm1_8p1_8d.html create mode 100644 html/production_2mcc__generated__files_2epwm1_8p1_8d_source.html create mode 100644 html/production_2mcc__generated__files_2eusart1_8p1_8d.html create mode 100644 html/production_2mcc__generated__files_2eusart1_8p1_8d_source.html create mode 100644 html/production_2mcc__generated__files_2interrupt__manager_8p1_8d.html create mode 100644 html/production_2mcc__generated__files_2interrupt__manager_8p1_8d_source.html create mode 100644 html/production_2mcc__generated__files_2mcc_8p1_8d.html create mode 100644 html/production_2mcc__generated__files_2mcc_8p1_8d_source.html create mode 100644 html/production_2mcc__generated__files_2pin__manager_8p1_8d.html create mode 100644 html/production_2mcc__generated__files_2pin__manager_8p1_8d_source.html create mode 100644 html/production_2mcc__generated__files_2tmr0_8p1_8d.html create mode 100644 html/production_2mcc__generated__files_2tmr0_8p1_8d_source.html create mode 100644 html/production_2mcc__generated__files_2tmr2_8p1_8d.html create mode 100644 html/production_2mcc__generated__files_2tmr2_8p1_8d_source.html create mode 100644 html/production_2measure_8p1_8d.html create mode 100644 html/production_2measure_8p1_8d_source.html create mode 100644 html/production_2modbus_8p1_8d.html create mode 100644 html/production_2modbus_8p1_8d_source.html create mode 100644 html/resize.js create mode 100644 html/search/all_0.js create mode 100644 html/search/all_1.js create mode 100644 html/search/all_10.js create mode 100644 html/search/all_11.js create mode 100644 html/search/all_12.js create mode 100644 html/search/all_2.js create mode 100644 html/search/all_3.js create mode 100644 html/search/all_4.js create mode 100644 html/search/all_5.js create mode 100644 html/search/all_6.js create mode 100644 html/search/all_7.js create mode 100644 html/search/all_8.js create mode 100644 html/search/all_9.js create mode 100644 html/search/all_a.js create mode 100644 html/search/all_b.js create mode 100644 html/search/all_c.js create mode 100644 html/search/all_d.js create mode 100644 html/search/all_e.js create mode 100644 html/search/all_f.js create mode 100644 html/search/classes_0.js create mode 100644 html/search/classes_1.js create mode 100644 html/search/classes_2.js create mode 100644 html/search/close.svg create mode 100644 html/search/defines_0.js create mode 100644 html/search/defines_1.js create mode 100644 html/search/defines_2.js create mode 100644 html/search/defines_3.js create mode 100644 html/search/defines_4.js create mode 100644 html/search/defines_5.js create mode 100644 html/search/defines_6.js create mode 100644 html/search/defines_7.js create mode 100644 html/search/defines_8.js create mode 100644 html/search/defines_9.js create mode 100644 html/search/defines_a.js create mode 100644 html/search/defines_b.js create mode 100644 html/search/defines_c.js create mode 100644 html/search/defines_d.js create mode 100644 html/search/defines_e.js create mode 100644 html/search/defines_f.js create mode 100644 html/search/enums_0.js create mode 100644 html/search/enums_1.js create mode 100644 html/search/enumvalues_0.js create mode 100644 html/search/enumvalues_1.js create mode 100644 html/search/enumvalues_2.js create mode 100644 html/search/files_0.js create mode 100644 html/search/files_1.js create mode 100644 html/search/files_2.js create mode 100644 html/search/files_3.js create mode 100644 html/search/files_4.js create mode 100644 html/search/files_5.js create mode 100644 html/search/files_6.js create mode 100644 html/search/files_7.js create mode 100644 html/search/files_8.js create mode 100644 html/search/files_9.js create mode 100644 html/search/files_a.js create mode 100644 html/search/functions_0.js create mode 100644 html/search/functions_1.js create mode 100644 html/search/functions_2.js create mode 100644 html/search/functions_3.js create mode 100644 html/search/functions_4.js create mode 100644 html/search/functions_5.js create mode 100644 html/search/functions_6.js create mode 100644 html/search/functions_7.js create mode 100644 html/search/functions_8.js create mode 100644 html/search/functions_9.js create mode 100644 html/search/functions_a.js create mode 100644 html/search/functions_b.js create mode 100644 html/search/groups_0.js create mode 100644 html/search/groups_1.js create mode 100644 html/search/groups_2.js create mode 100644 html/search/mag.svg create mode 100644 html/search/mag_d.svg create mode 100644 html/search/mag_sel.svg create mode 100644 html/search/mag_seld.svg create mode 100644 html/search/search.css create mode 100644 html/search/search.js create mode 100644 html/search/searchdata.js create mode 100644 html/search/typedefs_0.js create mode 100644 html/search/variables_0.js create mode 100644 html/search/variables_1.js create mode 100644 html/search/variables_2.js create mode 100644 html/search/variables_3.js create mode 100644 html/search/variables_4.js create mode 100644 html/search/variables_5.js create mode 100644 html/search/variables_6.js create mode 100644 html/search/variables_7.js create mode 100644 html/search/variables_8.js create mode 100644 html/search/variables_9.js create mode 100644 html/search/variables_a.js create mode 100644 html/search/variables_b.js create mode 100644 html/search/variables_c.js create mode 100644 html/search/variables_d.js create mode 100644 html/search/variables_e.js create mode 100644 html/splitbar.png create mode 100644 html/splitbard.png create mode 100644 html/ssd1963__cmd_8h.html create mode 100644 html/ssd1963__cmd_8h.js create mode 100644 html/ssd1963__cmd_8h_source.html create mode 100644 html/structadc__sync__double__result__t-members.html create mode 100644 html/structadc__sync__double__result__t.html create mode 100644 html/structadc__sync__double__result__t.js create mode 100644 html/structft5xx6__cfg__t-members.html create mode 100644 html/structft5xx6__cfg__t.html create mode 100644 html/structft5xx6__cfg__t.js create mode 100644 html/structft5xx6__controller__t-members.html create mode 100644 html/structft5xx6__controller__t.html create mode 100644 html/structft5xx6__controller__t.js create mode 100644 html/structft5xx6__gest__item__t-members.html create mode 100644 html/structft5xx6__gest__item__t.html create mode 100644 html/structft5xx6__gest__item__t.js create mode 100644 html/structft5xx6__t-members.html create mode 100644 html/structft5xx6__t.html create mode 100644 html/structft5xx6__t.js create mode 100644 html/sync_off.png create mode 100644 html/sync_on.png create mode 100644 html/tab_a.png create mode 100644 html/tab_ad.png create mode 100644 html/tab_b.png create mode 100644 html/tab_bd.png create mode 100644 html/tab_h.png create mode 100644 html/tab_hd.png create mode 100644 html/tab_s.png create mode 100644 html/tab_sd.png create mode 100644 html/tabs.css create mode 100644 html/tmr0_8c.html create mode 100644 html/tmr0_8c.js create mode 100644 html/tmr0_8c_source.html create mode 100644 html/tmr0_8h.html create mode 100644 html/tmr0_8h.js create mode 100644 html/tmr0_8h_source.html create mode 100644 html/tmr2_8c.html create mode 100644 html/tmr2_8c.js create mode 100644 html/tmr2_8c_source.html create mode 100644 html/tmr2_8h.html create mode 100644 html/tmr2_8h.js create mode 100644 html/tmr2_8h_source.html create mode 100644 html/uart_8c.html create mode 100644 html/uart_8c.js create mode 100644 html/uart_8c_source.html create mode 100644 html/uart_8h.html create mode 100644 html/uart_8h.js create mode 100644 html/uart_8h_source.html create mode 100644 html/unioneusart1__status__t-members.html create mode 100644 html/unioneusart1__status__t.html create mode 100644 html/unioneusart1__status__t.js delete mode 100644 old_main.c delete mode 100644 uart.c delete mode 100644 uart.h diff --git a/html/adc_8c.html b/html/adc_8c.html new file mode 100644 index 0000000..3785e57 --- /dev/null +++ b/html/adc_8c.html @@ -0,0 +1,352 @@ + + + + + + + +Solar panel: mcc_generated_files/adc.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
adc.c File Reference
+
+
+
#include <xc.h>
+#include "adc.h"
+#include "device_config.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + +

+Functions

void ADC_Initialize (void)
 
void ADC_SelectChannel (adc_channel_t channel)
 
void ADC_StartConversion (void)
 
bool ADC_IsConversionDone (void)
 
adc_result_t ADC_GetConversionResult (void)
 
adc_result_t ADC_GetConversion (adc_channel_t channel)
 
void ADC_TemperatureAcquisitionDelay (void)
 
+ + + +

+Variables

void(* ADC_InterruptHandler )(void)
 
+

Function Documentation

+ +

◆ ADC_GetConversion()

+ +
+
+ + + + + + + + +
adc_result_t ADC_GetConversion (adc_channel_t channel)
+
+

@Summary Returns the ADC conversion value also allows selection of a channel for conversion.

+

@Description This routine is used to select desired channel for conversion and to get the analog to digital converted value.

+

@Preconditions ADC_Initialize() function should have been called before calling this function.

+

@Returns Returns the converted value.

+

@Param Pass in required channel number. "For available channel refer to enum under adc.h file"

+

@Example uint16_t convertedValue;

+

ADC_Initialize();

+

conversion = ADC_GetConversion(AN1_Channel);

+ +

Definition at line 109 of file adc.c.

+ +
+
+ +

◆ ADC_GetConversionResult()

+ +
+
+ + + + + + + + +
adc_result_t ADC_GetConversionResult (void )
+
+

@Summary Returns the ADC conversion value.

+

@Description This routine is used to get the analog to digital converted value. This routine gets converted values from the channel specified.

+

@Preconditions This routine returns the conversion value only after the conversion is complete. Completion status can be checked using ADC_IsConversionDone() routine.

+

@Returns Returns the converted value.

+

@Param None

+

@Example uint16_t convertedValue;

+

ADC_Initialize(); ADC_StartConversion();

+

while(ADC_IsConversionDone());

+

convertedValue = ADC_GetConversionResult();

+ +

Definition at line 103 of file adc.c.

+ +
+
+ +

◆ ADC_Initialize()

+ +
+
+ + + + + + + + +
void ADC_Initialize (void )
+
+

Section: ADC Module APIs

+ +

Definition at line 61 of file adc.c.

+ +
+
+ +

◆ ADC_IsConversionDone()

+ +
+
+ + + + + + + + +
bool ADC_IsConversionDone (void )
+
+

@Summary Returns true when the conversion is completed otherwise false.

+

@Description This routine is used to determine if conversion is completed. When conversion is complete routine returns true. It returns false otherwise.

+

@Preconditions ADC_Initialize() and ADC_StartConversion(void) function should have been called before calling this function.

+

@Returns true - If conversion is complete false - If conversion is not completed

+

@Param None

+

@Example uint16_t convertedValue;

+

ADC_Initialize(); ADC_StartConversion();

+

while(!ADC_IsConversionDone()); convertedValue = ADC_GetConversionResult();

+ +

Definition at line 97 of file adc.c.

+ +
+
+ +

◆ ADC_SelectChannel()

+ +
+
+ + + + + + + + +
void ADC_SelectChannel (adc_channel_t channel)
+
+

@Summary Allows selection of a channel for conversion

+

@Description This routine is used to select desired channel for conversion. available

+

@Preconditions ADC_Initialize() function should have been called before calling this function.

+

@Returns None

+

@Param Pass in required channel number "For available channel refer to enum under adc.h file"

+

@Example uint16_t convertedValue;

+

ADC_Initialize(); ADC_SelectChannel(AN1_Channel); ADC_StartConversion(); convertedValue = ADC_GetConversionResult();

+ +

Definition at line 82 of file adc.c.

+ +
+
+ +

◆ ADC_StartConversion()

+ +
+
+ + + + + + + + +
void ADC_StartConversion (void )
+
+

@Summary Starts conversion

+

@Description This routine is used to start conversion of desired channel.

+

@Preconditions ADC_Initialize() function should have been called before calling this function.

+

@Returns None

+

@Param None

+

@Example uint16_t convertedValue;

+

ADC_Initialize();
+ ADC_StartConversion(); convertedValue = ADC_GetConversionResult();

+ +

Definition at line 90 of file adc.c.

+ +
+
+ +

◆ ADC_TemperatureAcquisitionDelay()

+ +
+
+ + + + + + + + +
void ADC_TemperatureAcquisitionDelay (void )
+
+

@Summary Acquisition Delay for temperature sensor

+

@Description This routine should be called when temperature sensor is used.

+

@Preconditions ADC_Initialize() function should have been called before calling this function.

+

@Returns None

+

@Param None

+

@Example uint16_t convertedValue;

+

ADC_Initialize();
+ ADC_StartConversion(); ADC_temperatureAcquisitionDelay(); convertedValue = ADC_GetConversionResult();

+ +

Definition at line 129 of file adc.c.

+ +
+
+

Variable Documentation

+ +

◆ ADC_InterruptHandler

+ +
+
+ + + + + + + + +
void(* ADC_InterruptHandler) (void) (void )
+
+

ADC Generated Driver File

+

@Company Microchip Technology Inc.

+

@File Name adc.c

+

@Summary This is the generated driver implementation file for the ADC driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description This source file provides implementations for driver APIs for ADC. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.02 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files

+ +

Definition at line 55 of file adc.c.

+ +
+
+
+
+ + + + diff --git a/html/adc_8c.js b/html/adc_8c.js new file mode 100644 index 0000000..8f4d4d4 --- /dev/null +++ b/html/adc_8c.js @@ -0,0 +1,11 @@ +var adc_8c = +[ + [ "ADC_GetConversion", "adc_8c.html#a81501f9b96aa9bb8dbe63b49d0f8e909", null ], + [ "ADC_GetConversionResult", "adc_8c.html#a9650956bd92194e1b9f0bfd5bb2d73dd", null ], + [ "ADC_Initialize", "adc_8c.html#ab0e0ea1662a8e789547210a2d33127e1", null ], + [ "ADC_IsConversionDone", "adc_8c.html#ad5c10c1709aeacf08e783c3ea174463b", null ], + [ "ADC_SelectChannel", "adc_8c.html#a25c0a0a9fe2bdba070f9945ca641b5e0", null ], + [ "ADC_StartConversion", "adc_8c.html#af96ee69b063edcebc656d0ca0450c12c", null ], + [ "ADC_TemperatureAcquisitionDelay", "adc_8c.html#a46bdd78f96c668432d4ff33115c9dcd9", null ], + [ "ADC_InterruptHandler", "adc_8c.html#afd07ad436449919718eb6b73351335f6", null ] +]; \ No newline at end of file diff --git a/html/adc_8c_source.html b/html/adc_8c_source.html new file mode 100644 index 0000000..1a22eb4 --- /dev/null +++ b/html/adc_8c_source.html @@ -0,0 +1,219 @@ + + + + + + + +Solar panel: mcc_generated_files/adc.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
adc.c
+
+
+Go to the documentation of this file.
1
+
24/*
+
25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
26
+
27 Subject to your compliance with these terms, you may use Microchip software and any
+
28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
29 license terms applicable to your use of third party software (including open source software) that
+
30 may accompany Microchip software.
+
31
+
32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
35 FOR A PARTICULAR PURPOSE.
+
36
+
37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
44 SOFTWARE.
+
45*/
+
46
+
51#include <xc.h>
+
52#include "adc.h"
+
53#include "device_config.h"
+
54
+ +
56
+ +
62{
+
63 // set the ADC to the options selected in the User Interface
+
64
+
65 // VCFG1 VSS; VCFG0 VDD;
+
66 ADCON1 = 0x00;
+
67
+
68 // ADFM right; ACQT 0; ADCS FOSC/2;
+
69 ADCON2 = 0x80;
+
70
+
71 // ADRESL 0;
+
72 ADRESL = 0x00;
+
73
+
74 // ADRESH 0;
+
75 ADRESH = 0x00;
+
76
+
77 // GO_nDONE stop; ADCAL Normal_a/d_operation; ADON enabled; CHS AN0;
+
78 ADCON0 = 0x01;
+
79
+
80}
+
81
+ +
83{
+
84 // select the A/D channel
+
85 ADCON0bits.CHS = channel;
+
86 // Turn on the ADC module
+
87 ADCON0bits.ADON = 1;
+
88}
+
89
+ +
91{
+
92 // Start the conversion
+
93 ADCON0bits.GO_nDONE = 1;
+
94}
+
95
+
96
+ +
98{
+
99 // Start the conversion
+
100 return ((bool)(!ADCON0bits.GO_nDONE));
+
101}
+
102
+ +
104{
+
105 // Conversion finished, return the result
+
106 return ((adc_result_t)((ADRESH << 8) + ADRESL));
+
107}
+
108
+ +
110{
+
111 // select the A/D channel
+
112 ADCON0bits.CHS = channel;
+
113
+
114 // Turn on the ADC module
+
115 ADCON0bits.ADON = 1;
+
116
+
117 // Start the conversion
+
118 ADCON0bits.GO_nDONE = 1;
+
119
+
120 // Wait for the conversion to finish
+
121 while (ADCON0bits.GO_nDONE)
+
122 {
+
123 }
+
124
+
125 // Conversion finished, return the result
+
126 return ((adc_result_t)((ADRESH << 8) + ADRESL));
+
127}
+
128
+ +
130{
+
131 __delay_us(200);
+
132}
+
void ADC_SelectChannel(adc_channel_t channel)
Definition: adc.c:82
+
void ADC_TemperatureAcquisitionDelay(void)
Definition: adc.c:129
+
adc_result_t ADC_GetConversion(adc_channel_t channel)
Definition: adc.c:109
+
adc_result_t ADC_GetConversionResult(void)
Definition: adc.c:103
+
void ADC_Initialize(void)
Definition: adc.c:61
+
bool ADC_IsConversionDone(void)
Definition: adc.c:97
+
void ADC_StartConversion(void)
Definition: adc.c:90
+
void(* ADC_InterruptHandler)(void)
Definition: adc.c:55
+ +
adc_channel_t
Definition: adc.h:96
+
uint16_t adc_result_t
Definition: adc.h:72
+ +
+
+ + + + diff --git a/html/adc_8h.html b/html/adc_8h.html new file mode 100644 index 0000000..6071af8 --- /dev/null +++ b/html/adc_8h.html @@ -0,0 +1,395 @@ + + + + + + + +Solar panel: mcc_generated_files/adc.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
adc.h File Reference
+
+
+
#include <xc.h>
+#include <stdint.h>
+#include <stdbool.h>
+
+

Go to the source code of this file.

+ + + + +

+Classes

struct  adc_sync_double_result_t
 
+ + + +

+Typedefs

typedef uint16_t adc_result_t
 
+ + + +

+Enumerations

enum  adc_channel_t { voltage = 0x5 +, current = 0x6 + }
 
+ + + + + + + + + + + + + + + +

+Functions

void ADC_Initialize (void)
 
void ADC_SelectChannel (adc_channel_t channel)
 
void ADC_StartConversion (void)
 
bool ADC_IsConversionDone (void)
 
adc_result_t ADC_GetConversionResult (void)
 
adc_result_t ADC_GetConversion (adc_channel_t channel)
 
void ADC_TemperatureAcquisitionDelay (void)
 
+

Typedef Documentation

+ +

◆ adc_result_t

+ +
+
+ + + + +
typedef uint16_t adc_result_t
+
+

ADC Generated Driver API Header File

+

@Company Microchip Technology Inc.

+

@File Name adc.h

+

@Summary This is the generated header file for the ADC driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description This header file provides APIs for driver for ADC. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.02 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: Data Types Definitions result size of an A/D conversion

+ +

Definition at line 72 of file adc.h.

+ +
+
+

Enumeration Type Documentation

+ +

◆ adc_channel_t

+ +
+
+ + + + +
enum adc_channel_t
+
+

ADC Channel Definition

+

@Summary Defines the channels available for conversion.

+

@Description This routine defines the channels that are available for the module to use.

+

Remarks: None

+ + + +
Enumerator
voltage 
current 
+ +

Definition at line 95 of file adc.h.

+ +
+
+

Function Documentation

+ +

◆ ADC_GetConversion()

+ +
+
+ + + + + + + + +
adc_result_t ADC_GetConversion (adc_channel_t channel)
+
+

@Summary Returns the ADC conversion value also allows selection of a channel for conversion.

+

@Description This routine is used to select desired channel for conversion and to get the analog to digital converted value.

+

@Preconditions ADC_Initialize() function should have been called before calling this function.

+

@Returns Returns the converted value.

+

@Param Pass in required channel number. "For available channel refer to enum under adc.h file"

+

@Example uint16_t convertedValue;

+

ADC_Initialize();

+

conversion = ADC_GetConversion(AN1_Channel);

+ +

Definition at line 109 of file adc.c.

+ +
+
+ +

◆ ADC_GetConversionResult()

+ +
+
+ + + + + + + + +
adc_result_t ADC_GetConversionResult (void )
+
+

@Summary Returns the ADC conversion value.

+

@Description This routine is used to get the analog to digital converted value. This routine gets converted values from the channel specified.

+

@Preconditions This routine returns the conversion value only after the conversion is complete. Completion status can be checked using ADC_IsConversionDone() routine.

+

@Returns Returns the converted value.

+

@Param None

+

@Example uint16_t convertedValue;

+

ADC_Initialize(); ADC_StartConversion();

+

while(ADC_IsConversionDone());

+

convertedValue = ADC_GetConversionResult();

+ +

Definition at line 103 of file adc.c.

+ +
+
+ +

◆ ADC_Initialize()

+ +
+
+ + + + + + + + +
void ADC_Initialize (void )
+
+

Section: ADC Module APIs @Summary Initializes the ADC

+

@Description This routine initializes the Initializes the ADC. This routine must be called before any other ADC routine is called. This routine should only be called once during system initialization.

+

@Preconditions None

+

@Param None

+

@Returns None

+

@Comment

+

@Example uint16_t convertedValue;

+

ADC_Initialize(); convertedValue = ADC_GetConversionResult();

+

Section: ADC Module APIs

+ +

Definition at line 61 of file adc.c.

+ +
+
+ +

◆ ADC_IsConversionDone()

+ +
+
+ + + + + + + + +
bool ADC_IsConversionDone (void )
+
+

@Summary Returns true when the conversion is completed otherwise false.

+

@Description This routine is used to determine if conversion is completed. When conversion is complete routine returns true. It returns false otherwise.

+

@Preconditions ADC_Initialize() and ADC_StartConversion(void) function should have been called before calling this function.

+

@Returns true - If conversion is complete false - If conversion is not completed

+

@Param None

+

@Example uint16_t convertedValue;

+

ADC_Initialize(); ADC_StartConversion();

+

while(!ADC_IsConversionDone()); convertedValue = ADC_GetConversionResult();

+ +

Definition at line 97 of file adc.c.

+ +
+
+ +

◆ ADC_SelectChannel()

+ +
+
+ + + + + + + + +
void ADC_SelectChannel (adc_channel_t channel)
+
+

@Summary Allows selection of a channel for conversion

+

@Description This routine is used to select desired channel for conversion. available

+

@Preconditions ADC_Initialize() function should have been called before calling this function.

+

@Returns None

+

@Param Pass in required channel number "For available channel refer to enum under adc.h file"

+

@Example uint16_t convertedValue;

+

ADC_Initialize(); ADC_SelectChannel(AN1_Channel); ADC_StartConversion(); convertedValue = ADC_GetConversionResult();

+ +

Definition at line 82 of file adc.c.

+ +
+
+ +

◆ ADC_StartConversion()

+ +
+
+ + + + + + + + +
void ADC_StartConversion (void )
+
+

@Summary Starts conversion

+

@Description This routine is used to start conversion of desired channel.

+

@Preconditions ADC_Initialize() function should have been called before calling this function.

+

@Returns None

+

@Param None

+

@Example uint16_t convertedValue;

+

ADC_Initialize();
+ ADC_StartConversion(); convertedValue = ADC_GetConversionResult();

+ +

Definition at line 90 of file adc.c.

+ +
+
+ +

◆ ADC_TemperatureAcquisitionDelay()

+ +
+
+ + + + + + + + +
void ADC_TemperatureAcquisitionDelay (void )
+
+

@Summary Acquisition Delay for temperature sensor

+

@Description This routine should be called when temperature sensor is used.

+

@Preconditions ADC_Initialize() function should have been called before calling this function.

+

@Returns None

+

@Param None

+

@Example uint16_t convertedValue;

+

ADC_Initialize();
+ ADC_StartConversion(); ADC_temperatureAcquisitionDelay(); convertedValue = ADC_GetConversionResult();

+ +

Definition at line 129 of file adc.c.

+ +
+
+
+
+ + + + diff --git a/html/adc_8h.js b/html/adc_8h.js new file mode 100644 index 0000000..7dfd3a4 --- /dev/null +++ b/html/adc_8h.js @@ -0,0 +1,16 @@ +var adc_8h = +[ + [ "adc_sync_double_result_t", "structadc__sync__double__result__t.html", "structadc__sync__double__result__t" ], + [ "adc_result_t", "adc_8h.html#ac5362ae65441a5027b4b9b1bf1b573aa", null ], + [ "adc_channel_t", "adc_8h.html#aafc4060027875f8fe46242b0656d7814", [ + [ "voltage", "adc_8h.html#aafc4060027875f8fe46242b0656d7814a20d31653fb88a46098aad34f773a827c", null ], + [ "current", "adc_8h.html#aafc4060027875f8fe46242b0656d7814a8225bfb34b5298eb7529ec580a4d178e", null ] + ] ], + [ "ADC_GetConversion", "adc_8h.html#a81501f9b96aa9bb8dbe63b49d0f8e909", null ], + [ "ADC_GetConversionResult", "adc_8h.html#a9650956bd92194e1b9f0bfd5bb2d73dd", null ], + [ "ADC_Initialize", "adc_8h.html#ab0e0ea1662a8e789547210a2d33127e1", null ], + [ "ADC_IsConversionDone", "adc_8h.html#ad5c10c1709aeacf08e783c3ea174463b", null ], + [ "ADC_SelectChannel", "adc_8h.html#a25c0a0a9fe2bdba070f9945ca641b5e0", null ], + [ "ADC_StartConversion", "adc_8h.html#af96ee69b063edcebc656d0ca0450c12c", null ], + [ "ADC_TemperatureAcquisitionDelay", "adc_8h.html#a46bdd78f96c668432d4ff33115c9dcd9", null ] +]; \ No newline at end of file diff --git a/html/adc_8h_source.html b/html/adc_8h_source.html new file mode 100644 index 0000000..5efb21d --- /dev/null +++ b/html/adc_8h_source.html @@ -0,0 +1,191 @@ + + + + + + + +Solar panel: mcc_generated_files/adc.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
adc.h
+
+
+Go to the documentation of this file.
1
+
24/*
+
25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
26
+
27 Subject to your compliance with these terms, you may use Microchip software and any
+
28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
29 license terms applicable to your use of third party software (including open source software) that
+
30 may accompany Microchip software.
+
31
+
32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
35 FOR A PARTICULAR PURPOSE.
+
36
+
37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
44 SOFTWARE.
+
45*/
+
46
+
47#ifndef ADC_H
+
48#define ADC_H
+
49
+
54#include <xc.h>
+
55#include <stdint.h>
+
56#include <stdbool.h>
+
57
+
58#ifdef __cplusplus // Provide C++ Compatibility
+
59
+
60 extern "C" {
+
61
+
62#endif
+
63
+
72typedef uint16_t adc_result_t;
+
73
+
77typedef struct
+
78{
+ + + +
82
+
95typedef enum
+
96{
+
97 voltage = 0x5,
+
98 current = 0x6
+ +
100
+
134void ADC_Initialize(void);
+
135
+
164void ADC_SelectChannel(adc_channel_t channel);
+
165
+
191void ADC_StartConversion(void);
+
192
+
223bool ADC_IsConversionDone(void);
+
224
+ +
257
+ +
287
+ +
315
+
316#ifdef __cplusplus // Provide C++ Compatibility
+
317
+
318 }
+
319
+
320#endif
+
321
+
322#endif //ADC_H
+
void ADC_SelectChannel(adc_channel_t channel)
Definition: adc.c:82
+
void ADC_TemperatureAcquisitionDelay(void)
Definition: adc.c:129
+
adc_result_t ADC_GetConversion(adc_channel_t channel)
Definition: adc.c:109
+
adc_result_t ADC_GetConversionResult(void)
Definition: adc.c:103
+
adc_channel_t
Definition: adc.h:96
+
@ voltage
Definition: adc.h:97
+
@ current
Definition: adc.h:98
+
void ADC_Initialize(void)
Definition: adc.c:61
+
uint16_t adc_result_t
Definition: adc.h:72
+
bool ADC_IsConversionDone(void)
Definition: adc.c:97
+
void ADC_StartConversion(void)
Definition: adc.c:90
+ +
adc_result_t adcResult2
Definition: adc.h:80
+
adc_result_t adcResult1
Definition: adc.h:79
+
+
+ + + + diff --git a/html/annotated.html b/html/annotated.html new file mode 100644 index 0000000..c6bb973 --- /dev/null +++ b/html/annotated.html @@ -0,0 +1,114 @@ + + + + + + + +Solar panel: Class List + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+ + + + + + + +
 Cadc_sync_double_result_t
 Ceusart1_status_t
 Cft5xx6_cfg_tFT5xx6 Configuration Object
 Cft5xx6_controller_tFT5xx6 Gesture Items
 Cft5xx6_gest_item_tFT5xx6 Gesture Item Definition
 Cft5xx6_tFT5xx6 Context Object
+
+
+
+ + + + diff --git a/html/annotated_dup.js b/html/annotated_dup.js new file mode 100644 index 0000000..1fdbbd6 --- /dev/null +++ b/html/annotated_dup.js @@ -0,0 +1,9 @@ +var annotated_dup = +[ + [ "adc_sync_double_result_t", "structadc__sync__double__result__t.html", "structadc__sync__double__result__t" ], + [ "eusart1_status_t", "unioneusart1__status__t.html", "unioneusart1__status__t" ], + [ "ft5xx6_cfg_t", "structft5xx6__cfg__t.html", "structft5xx6__cfg__t" ], + [ "ft5xx6_controller_t", "structft5xx6__controller__t.html", "structft5xx6__controller__t" ], + [ "ft5xx6_gest_item_t", "structft5xx6__gest__item__t.html", "structft5xx6__gest__item__t" ], + [ "ft5xx6_t", "structft5xx6__t.html", "structft5xx6__t" ] +]; \ No newline at end of file diff --git a/html/arial_rounded_m_t_bold18pt_bitmaps_8c.html b/html/arial_rounded_m_t_bold18pt_bitmaps_8c.html new file mode 100644 index 0000000..b898cd0 --- /dev/null +++ b/html/arial_rounded_m_t_bold18pt_bitmaps_8c.html @@ -0,0 +1,180 @@ + + + + + + + +Solar panel: lcd/arialRoundedMTBold18ptBitmaps.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
arialRoundedMTBold18ptBitmaps.c File Reference
+
+
+
#include <stdint.h>
+#include "lcd.h"
+
+

Go to the source code of this file.

+ + + + + + + + +

+Variables

const uint8_t arialRoundedMTBold18ptBitmaps []
 
const FONT_CHAR_INFO arialRoundedMTBold18ptDescriptors []
 
const FONT_INFO arialRoundedMTBold18ptFontInfo
 
+

Variable Documentation

+ +

◆ arialRoundedMTBold18ptBitmaps

+ +
+
+ + + + +
const uint8_t arialRoundedMTBold18ptBitmaps[]
+
+ +

Definition at line 9 of file arialRoundedMTBold18ptBitmaps.c.

+ +
+
+ +

◆ arialRoundedMTBold18ptDescriptors

+ +
+
+ + + + +
const FONT_CHAR_INFO arialRoundedMTBold18ptDescriptors[]
+
+ +

Definition at line 2579 of file arialRoundedMTBold18ptBitmaps.c.

+ +
+
+ +

◆ arialRoundedMTBold18ptFontInfo

+ +
+
+ + + + +
const FONT_INFO arialRoundedMTBold18ptFontInfo
+
+Initial value:
=
+
{
+
25,
+
' ',
+
'~',
+ + +
}
+
const uint8_t arialRoundedMTBold18ptBitmaps[]
+
const FONT_CHAR_INFO arialRoundedMTBold18ptDescriptors[]
+
+

Definition at line 2679 of file arialRoundedMTBold18ptBitmaps.c.

+ +
+
+
+
+ + + + diff --git a/html/arial_rounded_m_t_bold18pt_bitmaps_8c.js b/html/arial_rounded_m_t_bold18pt_bitmaps_8c.js new file mode 100644 index 0000000..de4b2c5 --- /dev/null +++ b/html/arial_rounded_m_t_bold18pt_bitmaps_8c.js @@ -0,0 +1,6 @@ +var arial_rounded_m_t_bold18pt_bitmaps_8c = +[ + [ "arialRoundedMTBold18ptBitmaps", "arial_rounded_m_t_bold18pt_bitmaps_8c.html#a034d07745e57fc43d7a71d118c381e4f", null ], + [ "arialRoundedMTBold18ptDescriptors", "arial_rounded_m_t_bold18pt_bitmaps_8c.html#aa9e0430bbd14c23234ad1fc8d0770785", null ], + [ "arialRoundedMTBold18ptFontInfo", "arial_rounded_m_t_bold18pt_bitmaps_8c.html#a2728acef47847cd35e3feabda66707af", null ] +]; \ No newline at end of file diff --git a/html/arial_rounded_m_t_bold18pt_bitmaps_8c_source.html b/html/arial_rounded_m_t_bold18pt_bitmaps_8c_source.html new file mode 100644 index 0000000..058b7b8 --- /dev/null +++ b/html/arial_rounded_m_t_bold18pt_bitmaps_8c_source.html @@ -0,0 +1,2795 @@ + + + + + + + +Solar panel: lcd/arialRoundedMTBold18ptBitmaps.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
arialRoundedMTBold18ptBitmaps.c
+
+
+Go to the documentation of this file.
1//
+
2// Font data for Arial Rounded MT Bold 18pt
+
3//
+
4#include <stdint.h>
+
5#include "lcd.h"
+
6
+
7
+
8// Character bitmaps for Arial Rounded MT Bold 18pt
+ +
10{
+
11 // @0 ' ' (8 pixels wide)
+
12 0x00, //
+
13 0x00, //
+
14 0x00, //
+
15 0x00, //
+
16 0x00, //
+
17 0x00, //
+
18 0x00, //
+
19 0x00, //
+
20 0x00, //
+
21 0x00, //
+
22 0x00, //
+
23 0x00, //
+
24 0x00, //
+
25 0x00, //
+
26 0x00, //
+
27 0x00, //
+
28 0x00, //
+
29 0x00, //
+
30 0x00, //
+
31 0x00, //
+
32 0x00, //
+
33 0x00, //
+
34 0x00, //
+
35 0x00, //
+
36 0x00, //
+
37
+
38 // @25 '!' (3 pixels wide)
+
39 0x00, //
+
40 0x00, //
+
41 0x00, //
+
42 0xE0, // ###
+
43 0xE0, // ###
+
44 0xE0, // ###
+
45 0xE0, // ###
+
46 0xE0, // ###
+
47 0xE0, // ###
+
48 0xE0, // ###
+
49 0xE0, // ###
+
50 0xE0, // ###
+
51 0xE0, // ###
+
52 0xC0, // ##
+
53 0x40, // #
+
54 0x00, //
+
55 0x00, //
+
56 0xE0, // ###
+
57 0xE0, // ###
+
58 0xE0, // ###
+
59 0x00, //
+
60 0x00, //
+
61 0x00, //
+
62 0x00, //
+
63 0x00, //
+
64
+
65 // @50 '"' (8 pixels wide)
+
66 0x00, //
+
67 0x00, //
+
68 0x00, //
+
69 0xE7, // ### ###
+
70 0xE7, // ### ###
+
71 0xE7, // ### ###
+
72 0xE7, // ### ###
+
73 0xE7, // ### ###
+
74 0xE7, // ### ###
+
75 0x00, //
+
76 0x00, //
+
77 0x00, //
+
78 0x00, //
+
79 0x00, //
+
80 0x00, //
+
81 0x00, //
+
82 0x00, //
+
83 0x00, //
+
84 0x00, //
+
85 0x00, //
+
86 0x00, //
+
87 0x00, //
+
88 0x00, //
+
89 0x00, //
+
90 0x00, //
+
91
+
92 // @75 '#' (13 pixels wide)
+
93 0x00, 0x00, //
+
94 0x00, 0x00, //
+
95 0x00, 0x00, //
+
96 0x0E, 0x30, // ### ##
+
97 0x0E, 0x70, // ### ###
+
98 0x0C, 0x70, // ## ###
+
99 0x1C, 0x60, // ### ##
+
100 0xFF, 0xF8, // #############
+
101 0xFF, 0xF8, // #############
+
102 0x18, 0xE0, // ## ###
+
103 0x18, 0xE0, // ## ###
+
104 0x38, 0xC0, // ### ##
+
105 0x38, 0xC0, // ### ##
+
106 0xFF, 0xF8, // #############
+
107 0xFF, 0xF8, // #############
+
108 0x31, 0x80, // ## ##
+
109 0x71, 0x80, // ### ##
+
110 0x73, 0x80, // ### ###
+
111 0x73, 0x80, // ### ###
+
112 0x61, 0x80, // ## ##
+
113 0x00, 0x00, //
+
114 0x00, 0x00, //
+
115 0x00, 0x00, //
+
116 0x00, 0x00, //
+
117 0x00, 0x00, //
+
118
+
119 // @125 '$' (12 pixels wide)
+
120 0x06, 0x00, // ##
+
121 0x06, 0x00, // ##
+
122 0x0F, 0x00, // ####
+
123 0x3F, 0xC0, // ########
+
124 0x7F, 0xE0, // ##########
+
125 0xF6, 0xE0, // #### ## ###
+
126 0xE6, 0xE0, // ### ## ###
+
127 0xE6, 0x60, // ### ## ##
+
128 0xF6, 0x00, // #### ##
+
129 0xFE, 0x00, // #######
+
130 0x7F, 0x80, // ########
+
131 0x1F, 0xC0, // #######
+
132 0x07, 0xE0, // ######
+
133 0x06, 0xF0, // ## ####
+
134 0xC6, 0x70, // ## ## ###
+
135 0xE6, 0x70, // ### ## ###
+
136 0xE6, 0x70, // ### ## ###
+
137 0xF6, 0xF0, // #### ## ####
+
138 0x7F, 0xE0, // ##########
+
139 0x3F, 0xC0, // ########
+
140 0x0F, 0x00, // ####
+
141 0x06, 0x00, // ##
+
142 0x06, 0x00, // ##
+
143 0x06, 0x00, // ##
+
144 0x06, 0x00, // ##
+
145
+
146 // @175 '%' (19 pixels wide)
+
147 0x00, 0x00, 0x00, //
+
148 0x00, 0x00, 0x00, //
+
149 0x00, 0x00, 0x00, //
+
150 0x78, 0x02, 0x00, // #### #
+
151 0x44, 0x06, 0x00, // # # ##
+
152 0xC6, 0x0C, 0x00, // ## ## ##
+
153 0xC6, 0x0C, 0x00, // ## ## ##
+
154 0xC6, 0x18, 0x00, // ## ## ##
+
155 0xC6, 0x10, 0x00, // ## ## #
+
156 0xC6, 0x30, 0x00, // ## ## ##
+
157 0x7C, 0x60, 0x00, // ##### ##
+
158 0x00, 0x47, 0xC0, // # #####
+
159 0x00, 0xC6, 0x40, // ## ## #
+
160 0x01, 0x8C, 0x60, // ## ## ##
+
161 0x01, 0x8C, 0x60, // ## ## ##
+
162 0x03, 0x0C, 0x60, // ## ## ##
+
163 0x02, 0x0C, 0x60, // # ## ##
+
164 0x06, 0x0C, 0x60, // ## ## ##
+
165 0x0C, 0x06, 0x40, // ## ## #
+
166 0x0C, 0x03, 0x80, // ## ###
+
167 0x08, 0x00, 0x00, // #
+
168 0x00, 0x00, 0x00, //
+
169 0x00, 0x00, 0x00, //
+
170 0x00, 0x00, 0x00, //
+
171 0x00, 0x00, 0x00, //
+
172
+
173 // @250 '&' (15 pixels wide)
+
174 0x00, 0x00, //
+
175 0x00, 0x00, //
+
176 0x00, 0x00, //
+
177 0x0F, 0x80, // #####
+
178 0x1F, 0xC0, // #######
+
179 0x38, 0xE0, // ### ###
+
180 0x38, 0xE0, // ### ###
+
181 0x38, 0xE0, // ### ###
+
182 0x1D, 0xC0, // ### ###
+
183 0x1F, 0x80, // ######
+
184 0x0F, 0x00, // ####
+
185 0x3F, 0x08, // ###### #
+
186 0x7F, 0x9C, // ######## ###
+
187 0xF3, 0xDC, // #### #### ###
+
188 0xE1, 0xF8, // ### ######
+
189 0xE0, 0xF8, // ### #####
+
190 0xE0, 0xF8, // ### #####
+
191 0x71, 0xFE, // ### ########
+
192 0x7F, 0xDE, // ######### ####
+
193 0x1F, 0x86, // ###### ##
+
194 0x00, 0x00, //
+
195 0x00, 0x00, //
+
196 0x00, 0x00, //
+
197 0x00, 0x00, //
+
198 0x00, 0x00, //
+
199
+
200 // @300 ''' (3 pixels wide)
+
201 0x00, //
+
202 0x00, //
+
203 0x00, //
+
204 0xE0, // ###
+
205 0xE0, // ###
+
206 0xE0, // ###
+
207 0xE0, // ###
+
208 0xE0, // ###
+
209 0xE0, // ###
+
210 0x00, //
+
211 0x00, //
+
212 0x00, //
+
213 0x00, //
+
214 0x00, //
+
215 0x00, //
+
216 0x00, //
+
217 0x00, //
+
218 0x00, //
+
219 0x00, //
+
220 0x00, //
+
221 0x00, //
+
222 0x00, //
+
223 0x00, //
+
224 0x00, //
+
225 0x00, //
+
226
+
227 // @325 '(' (6 pixels wide)
+
228 0x00, //
+
229 0x00, //
+
230 0x00, //
+
231 0x0C, // ##
+
232 0x18, // ##
+
233 0x38, // ###
+
234 0x30, // ##
+
235 0x70, // ###
+
236 0x70, // ###
+
237 0x70, // ###
+
238 0xE0, // ###
+
239 0xE0, // ###
+
240 0xE0, // ###
+
241 0xE0, // ###
+
242 0xE0, // ###
+
243 0xE0, // ###
+
244 0xE0, // ###
+
245 0xE0, // ###
+
246 0x70, // ###
+
247 0x70, // ###
+
248 0x70, // ###
+
249 0x30, // ##
+
250 0x38, // ###
+
251 0x18, // ##
+
252 0x0C, // ##
+
253
+
254 // @350 ')' (6 pixels wide)
+
255 0x00, //
+
256 0x00, //
+
257 0x00, //
+
258 0xC0, // ##
+
259 0x60, // ##
+
260 0x70, // ###
+
261 0x30, // ##
+
262 0x38, // ###
+
263 0x38, // ###
+
264 0x38, // ###
+
265 0x1C, // ###
+
266 0x1C, // ###
+
267 0x1C, // ###
+
268 0x1C, // ###
+
269 0x1C, // ###
+
270 0x1C, // ###
+
271 0x1C, // ###
+
272 0x1C, // ###
+
273 0x38, // ###
+
274 0x38, // ###
+
275 0x38, // ###
+
276 0x30, // ##
+
277 0x70, // ###
+
278 0x60, // ##
+
279 0xC0, // ##
+
280
+
281 // @375 '*' (10 pixels wide)
+
282 0x00, 0x00, //
+
283 0x00, 0x00, //
+
284 0x0C, 0x00, // ##
+
285 0x0C, 0x00, // ##
+
286 0x0C, 0x00, // ##
+
287 0xED, 0xC0, // ### ## ###
+
288 0x7F, 0x80, // ########
+
289 0x0C, 0x00, // ##
+
290 0x1E, 0x00, // ####
+
291 0x33, 0x00, // ## ##
+
292 0x21, 0x00, // # #
+
293 0x00, 0x00, //
+
294 0x00, 0x00, //
+
295 0x00, 0x00, //
+
296 0x00, 0x00, //
+
297 0x00, 0x00, //
+
298 0x00, 0x00, //
+
299 0x00, 0x00, //
+
300 0x00, 0x00, //
+
301 0x00, 0x00, //
+
302 0x00, 0x00, //
+
303 0x00, 0x00, //
+
304 0x00, 0x00, //
+
305 0x00, 0x00, //
+
306 0x00, 0x00, //
+
307
+
308 // @425 '+' (12 pixels wide)
+
309 0x00, 0x00, //
+
310 0x00, 0x00, //
+
311 0x00, 0x00, //
+
312 0x00, 0x00, //
+
313 0x00, 0x00, //
+
314 0x0E, 0x00, // ###
+
315 0x0E, 0x00, // ###
+
316 0x0E, 0x00, // ###
+
317 0x0E, 0x00, // ###
+
318 0x0E, 0x00, // ###
+
319 0xFF, 0xF0, // ############
+
320 0xFF, 0xF0, // ############
+
321 0xFF, 0xF0, // ############
+
322 0x0E, 0x00, // ###
+
323 0x0E, 0x00, // ###
+
324 0x0E, 0x00, // ###
+
325 0x0E, 0x00, // ###
+
326 0x0E, 0x00, // ###
+
327 0x00, 0x00, //
+
328 0x00, 0x00, //
+
329 0x00, 0x00, //
+
330 0x00, 0x00, //
+
331 0x00, 0x00, //
+
332 0x00, 0x00, //
+
333 0x00, 0x00, //
+
334
+
335 // @475 ',' (4 pixels wide)
+
336 0x00, //
+
337 0x00, //
+
338 0x00, //
+
339 0x00, //
+
340 0x00, //
+
341 0x00, //
+
342 0x00, //
+
343 0x00, //
+
344 0x00, //
+
345 0x00, //
+
346 0x00, //
+
347 0x00, //
+
348 0x00, //
+
349 0x00, //
+
350 0x00, //
+
351 0x00, //
+
352 0x00, //
+
353 0x60, // ##
+
354 0xF0, // ####
+
355 0xF0, // ####
+
356 0x30, // ##
+
357 0x30, // ##
+
358 0xE0, // ###
+
359 0xC0, // ##
+
360 0x00, //
+
361
+
362 // @500 '-' (7 pixels wide)
+
363 0x00, //
+
364 0x00, //
+
365 0x00, //
+
366 0x00, //
+
367 0x00, //
+
368 0x00, //
+
369 0x00, //
+
370 0x00, //
+
371 0x00, //
+
372 0x00, //
+
373 0x00, //
+
374 0x00, //
+
375 0xFE, // #######
+
376 0xFE, // #######
+
377 0xFE, // #######
+
378 0x00, //
+
379 0x00, //
+
380 0x00, //
+
381 0x00, //
+
382 0x00, //
+
383 0x00, //
+
384 0x00, //
+
385 0x00, //
+
386 0x00, //
+
387 0x00, //
+
388
+
389 // @525 '.' (3 pixels wide)
+
390 0x00, //
+
391 0x00, //
+
392 0x00, //
+
393 0x00, //
+
394 0x00, //
+
395 0x00, //
+
396 0x00, //
+
397 0x00, //
+
398 0x00, //
+
399 0x00, //
+
400 0x00, //
+
401 0x00, //
+
402 0x00, //
+
403 0x00, //
+
404 0x00, //
+
405 0x00, //
+
406 0x00, //
+
407 0xE0, // ###
+
408 0xE0, // ###
+
409 0xE0, // ###
+
410 0x00, //
+
411 0x00, //
+
412 0x00, //
+
413 0x00, //
+
414 0x00, //
+
415
+
416 // @550 '/' (6 pixels wide)
+
417 0x00, //
+
418 0x00, //
+
419 0x00, //
+
420 0x0C, // ##
+
421 0x0C, // ##
+
422 0x1C, // ###
+
423 0x18, // ##
+
424 0x18, // ##
+
425 0x18, // ##
+
426 0x38, // ###
+
427 0x30, // ##
+
428 0x30, // ##
+
429 0x30, // ##
+
430 0x70, // ###
+
431 0x60, // ##
+
432 0x60, // ##
+
433 0x60, // ##
+
434 0xE0, // ###
+
435 0xC0, // ##
+
436 0xC0, // ##
+
437 0x00, //
+
438 0x00, //
+
439 0x00, //
+
440 0x00, //
+
441 0x00, //
+
442
+
443 // @575 '0' (12 pixels wide)
+
444 0x00, 0x00, //
+
445 0x00, 0x00, //
+
446 0x00, 0x00, //
+
447 0x1F, 0x00, // #####
+
448 0x3F, 0xC0, // ########
+
449 0x70, 0xE0, // ### ###
+
450 0x70, 0xE0, // ### ###
+
451 0xE0, 0x70, // ### ###
+
452 0xE0, 0x70, // ### ###
+
453 0xE0, 0x70, // ### ###
+
454 0xE0, 0x70, // ### ###
+
455 0xE0, 0x70, // ### ###
+
456 0xE0, 0x70, // ### ###
+
457 0xE0, 0x70, // ### ###
+
458 0xE0, 0x70, // ### ###
+
459 0xE0, 0x70, // ### ###
+
460 0x70, 0xE0, // ### ###
+
461 0x70, 0xE0, // ### ###
+
462 0x3F, 0xC0, // ########
+
463 0x0F, 0x80, // #####
+
464 0x00, 0x00, //
+
465 0x00, 0x00, //
+
466 0x00, 0x00, //
+
467 0x00, 0x00, //
+
468 0x00, 0x00, //
+
469
+
470 // @625 '1' (8 pixels wide)
+
471 0x00, //
+
472 0x00, //
+
473 0x00, //
+
474 0x03, // ##
+
475 0x07, // ###
+
476 0x0F, // ####
+
477 0x1F, // #####
+
478 0x7F, // #######
+
479 0xF7, // #### ###
+
480 0xE7, // ### ###
+
481 0x07, // ###
+
482 0x07, // ###
+
483 0x07, // ###
+
484 0x07, // ###
+
485 0x07, // ###
+
486 0x07, // ###
+
487 0x07, // ###
+
488 0x07, // ###
+
489 0x07, // ###
+
490 0x07, // ###
+
491 0x00, //
+
492 0x00, //
+
493 0x00, //
+
494 0x00, //
+
495 0x00, //
+
496
+
497 // @650 '2' (12 pixels wide)
+
498 0x00, 0x00, //
+
499 0x00, 0x00, //
+
500 0x00, 0x00, //
+
501 0x0F, 0x80, // #####
+
502 0x3F, 0xE0, // #########
+
503 0x78, 0xE0, // #### ###
+
504 0x70, 0x70, // ### ###
+
505 0x60, 0x70, // ## ###
+
506 0x60, 0x70, // ## ###
+
507 0x00, 0xF0, // ####
+
508 0x00, 0xE0, // ###
+
509 0x03, 0xC0, // ####
+
510 0x07, 0x80, // ####
+
511 0x0F, 0x00, // ####
+
512 0x1E, 0x00, // ####
+
513 0x3C, 0x00, // ####
+
514 0x78, 0x00, // ####
+
515 0x7F, 0xF0, // ###########
+
516 0xFF, 0xF0, // ############
+
517 0x7F, 0xF0, // ###########
+
518 0x00, 0x00, //
+
519 0x00, 0x00, //
+
520 0x00, 0x00, //
+
521 0x00, 0x00, //
+
522 0x00, 0x00, //
+
523
+
524 // @700 '3' (12 pixels wide)
+
525 0x00, 0x00, //
+
526 0x00, 0x00, //
+
527 0x00, 0x00, //
+
528 0x0F, 0x80, // #####
+
529 0x3F, 0xC0, // ########
+
530 0x71, 0xE0, // ### ####
+
531 0x70, 0xE0, // ### ###
+
532 0x60, 0xE0, // ## ###
+
533 0x00, 0xE0, // ###
+
534 0x01, 0xE0, // ####
+
535 0x0F, 0xC0, // ######
+
536 0x1F, 0xC0, // #######
+
537 0x00, 0xE0, // ###
+
538 0x00, 0x70, // ###
+
539 0x60, 0x70, // ## ###
+
540 0xE0, 0x70, // ### ###
+
541 0xF0, 0x70, // #### ###
+
542 0x70, 0xE0, // ### ###
+
543 0x3F, 0xC0, // ########
+
544 0x1F, 0x80, // ######
+
545 0x00, 0x00, //
+
546 0x00, 0x00, //
+
547 0x00, 0x00, //
+
548 0x00, 0x00, //
+
549 0x00, 0x00, //
+
550
+
551 // @750 '4' (14 pixels wide)
+
552 0x00, 0x00, //
+
553 0x00, 0x00, //
+
554 0x00, 0x00, //
+
555 0x00, 0xE0, // ###
+
556 0x01, 0xE0, // ####
+
557 0x03, 0xE0, // #####
+
558 0x03, 0xE0, // #####
+
559 0x07, 0xE0, // ######
+
560 0x0E, 0xE0, // ### ###
+
561 0x1C, 0xE0, // ### ###
+
562 0x38, 0xE0, // ### ###
+
563 0x38, 0xE0, // ### ###
+
564 0x70, 0xE0, // ### ###
+
565 0xE0, 0xE0, // ### ###
+
566 0xFF, 0xF8, // #############
+
567 0xFF, 0xFC, // ##############
+
568 0x00, 0xE0, // ###
+
569 0x00, 0xE0, // ###
+
570 0x00, 0xE0, // ###
+
571 0x00, 0xE0, // ###
+
572 0x00, 0x00, //
+
573 0x00, 0x00, //
+
574 0x00, 0x00, //
+
575 0x00, 0x00, //
+
576 0x00, 0x00, //
+
577
+
578 // @800 '5' (12 pixels wide)
+
579 0x00, 0x00, //
+
580 0x00, 0x00, //
+
581 0x00, 0x00, //
+
582 0x3F, 0xE0, // #########
+
583 0x3F, 0xF0, // ##########
+
584 0x3F, 0xE0, // #########
+
585 0x70, 0x00, // ###
+
586 0x70, 0x00, // ###
+
587 0x70, 0x00, // ###
+
588 0x7F, 0x80, // ########
+
589 0x7F, 0xE0, // ##########
+
590 0x70, 0xE0, // ### ###
+
591 0x60, 0x70, // ## ###
+
592 0x00, 0x70, // ###
+
593 0x00, 0x70, // ###
+
594 0xE0, 0x70, // ### ###
+
595 0xE0, 0x70, // ### ###
+
596 0x70, 0xE0, // ### ###
+
597 0x7F, 0xC0, // #########
+
598 0x1F, 0x80, // ######
+
599 0x00, 0x00, //
+
600 0x00, 0x00, //
+
601 0x00, 0x00, //
+
602 0x00, 0x00, //
+
603 0x00, 0x00, //
+
604
+
605 // @850 '6' (12 pixels wide)
+
606 0x00, 0x00, //
+
607 0x00, 0x00, //
+
608 0x00, 0x00, //
+
609 0x0F, 0x80, // #####
+
610 0x3F, 0xC0, // ########
+
611 0x38, 0xE0, // ### ###
+
612 0x70, 0x60, // ### ##
+
613 0x60, 0x60, // ## ##
+
614 0xE0, 0x00, // ###
+
615 0xEF, 0x80, // ### #####
+
616 0xFF, 0xC0, // ##########
+
617 0xF0, 0xE0, // #### ###
+
618 0xE0, 0x70, // ### ###
+
619 0xE0, 0x70, // ### ###
+
620 0xE0, 0x70, // ### ###
+
621 0xE0, 0x70, // ### ###
+
622 0x70, 0x70, // ### ###
+
623 0x70, 0xE0, // ### ###
+
624 0x3F, 0xC0, // ########
+
625 0x0F, 0x80, // #####
+
626 0x00, 0x00, //
+
627 0x00, 0x00, //
+
628 0x00, 0x00, //
+
629 0x00, 0x00, //
+
630 0x00, 0x00, //
+
631
+
632 // @900 '7' (12 pixels wide)
+
633 0x00, 0x00, //
+
634 0x00, 0x00, //
+
635 0x00, 0x00, //
+
636 0xFF, 0xF0, // ############
+
637 0xFF, 0xF0, // ############
+
638 0x00, 0xF0, // ####
+
639 0x01, 0xE0, // ####
+
640 0x01, 0xC0, // ###
+
641 0x03, 0x80, // ###
+
642 0x07, 0x80, // ####
+
643 0x07, 0x00, // ###
+
644 0x0F, 0x00, // ####
+
645 0x0E, 0x00, // ###
+
646 0x0E, 0x00, // ###
+
647 0x1E, 0x00, // ####
+
648 0x1C, 0x00, // ###
+
649 0x1C, 0x00, // ###
+
650 0x1C, 0x00, // ###
+
651 0x1C, 0x00, // ###
+
652 0x18, 0x00, // ##
+
653 0x00, 0x00, //
+
654 0x00, 0x00, //
+
655 0x00, 0x00, //
+
656 0x00, 0x00, //
+
657 0x00, 0x00, //
+
658
+
659 // @950 '8' (12 pixels wide)
+
660 0x00, 0x00, //
+
661 0x00, 0x00, //
+
662 0x00, 0x00, //
+
663 0x1F, 0x80, // ######
+
664 0x3F, 0xC0, // ########
+
665 0x70, 0xE0, // ### ###
+
666 0x70, 0xE0, // ### ###
+
667 0x60, 0x60, // ## ##
+
668 0x70, 0xE0, // ### ###
+
669 0x70, 0xE0, // ### ###
+
670 0x3F, 0xC0, // ########
+
671 0x3F, 0xC0, // ########
+
672 0x70, 0xE0, // ### ###
+
673 0xE0, 0x70, // ### ###
+
674 0xE0, 0x70, // ### ###
+
675 0xE0, 0x70, // ### ###
+
676 0xE0, 0x70, // ### ###
+
677 0x70, 0xE0, // ### ###
+
678 0x7F, 0xE0, // ##########
+
679 0x1F, 0x80, // ######
+
680 0x00, 0x00, //
+
681 0x00, 0x00, //
+
682 0x00, 0x00, //
+
683 0x00, 0x00, //
+
684 0x00, 0x00, //
+
685
+
686 // @1000 '9' (12 pixels wide)
+
687 0x00, 0x00, //
+
688 0x00, 0x00, //
+
689 0x00, 0x00, //
+
690 0x1F, 0x00, // #####
+
691 0x3F, 0xC0, // ########
+
692 0x71, 0xE0, // ### ####
+
693 0xE0, 0xE0, // ### ###
+
694 0xE0, 0x70, // ### ###
+
695 0xE0, 0x70, // ### ###
+
696 0xE0, 0x70, // ### ###
+
697 0xE0, 0x70, // ### ###
+
698 0x70, 0xF0, // ### ####
+
699 0x3F, 0xF0, // ##########
+
700 0x1F, 0x70, // ##### ###
+
701 0x00, 0x70, // ###
+
702 0x60, 0x60, // ## ##
+
703 0x70, 0xE0, // ### ###
+
704 0x71, 0xC0, // ### ###
+
705 0x3F, 0xC0, // ########
+
706 0x1F, 0x00, // #####
+
707 0x00, 0x00, //
+
708 0x00, 0x00, //
+
709 0x00, 0x00, //
+
710 0x00, 0x00, //
+
711 0x00, 0x00, //
+
712
+
713 // @1050 ':' (3 pixels wide)
+
714 0x00, //
+
715 0x00, //
+
716 0x00, //
+
717 0x00, //
+
718 0x00, //
+
719 0x00, //
+
720 0x00, //
+
721 0x00, //
+
722 0xE0, // ###
+
723 0xE0, // ###
+
724 0xE0, // ###
+
725 0x00, //
+
726 0x00, //
+
727 0x00, //
+
728 0x00, //
+
729 0x00, //
+
730 0x00, //
+
731 0xE0, // ###
+
732 0xE0, // ###
+
733 0xE0, // ###
+
734 0x00, //
+
735 0x00, //
+
736 0x00, //
+
737 0x00, //
+
738 0x00, //
+
739
+
740 // @1075 ';' (3 pixels wide)
+
741 0x00, //
+
742 0x00, //
+
743 0x00, //
+
744 0x00, //
+
745 0x00, //
+
746 0x00, //
+
747 0x00, //
+
748 0x00, //
+
749 0xE0, // ###
+
750 0xE0, // ###
+
751 0xE0, // ###
+
752 0x00, //
+
753 0x00, //
+
754 0x00, //
+
755 0x00, //
+
756 0x00, //
+
757 0x00, //
+
758 0xC0, // ##
+
759 0xE0, // ###
+
760 0xE0, // ###
+
761 0x60, // ##
+
762 0x60, // ##
+
763 0xC0, // ##
+
764 0x80, // #
+
765 0x00, //
+
766
+
767 // @1100 '<' (12 pixels wide)
+
768 0x00, 0x00, //
+
769 0x00, 0x00, //
+
770 0x00, 0x00, //
+
771 0x00, 0x00, //
+
772 0x00, 0x00, //
+
773 0x00, 0x10, // #
+
774 0x00, 0xF0, // ####
+
775 0x03, 0xF0, // ######
+
776 0x0F, 0xF0, // ########
+
777 0x7F, 0x80, // ########
+
778 0xFC, 0x00, // ######
+
779 0xF0, 0x00, // ####
+
780 0xFC, 0x00, // ######
+
781 0x7F, 0x80, // ########
+
782 0x0F, 0xE0, // #######
+
783 0x03, 0xF0, // ######
+
784 0x00, 0xF0, // ####
+
785 0x00, 0x10, // #
+
786 0x00, 0x00, //
+
787 0x00, 0x00, //
+
788 0x00, 0x00, //
+
789 0x00, 0x00, //
+
790 0x00, 0x00, //
+
791 0x00, 0x00, //
+
792 0x00, 0x00, //
+
793
+
794 // @1150 '=' (12 pixels wide)
+
795 0x00, 0x00, //
+
796 0x00, 0x00, //
+
797 0x00, 0x00, //
+
798 0x00, 0x00, //
+
799 0x00, 0x00, //
+
800 0x00, 0x00, //
+
801 0x00, 0x00, //
+
802 0x00, 0x00, //
+
803 0xFF, 0xF0, // ############
+
804 0xFF, 0xF0, // ############
+
805 0xFF, 0xF0, // ############
+
806 0x00, 0x00, //
+
807 0x00, 0x00, //
+
808 0xFF, 0xF0, // ############
+
809 0xFF, 0xF0, // ############
+
810 0xFF, 0xF0, // ############
+
811 0x00, 0x00, //
+
812 0x00, 0x00, //
+
813 0x00, 0x00, //
+
814 0x00, 0x00, //
+
815 0x00, 0x00, //
+
816 0x00, 0x00, //
+
817 0x00, 0x00, //
+
818 0x00, 0x00, //
+
819 0x00, 0x00, //
+
820
+
821 // @1200 '>' (12 pixels wide)
+
822 0x00, 0x00, //
+
823 0x00, 0x00, //
+
824 0x00, 0x00, //
+
825 0x00, 0x00, //
+
826 0x00, 0x00, //
+
827 0x80, 0x00, // #
+
828 0xF0, 0x00, // ####
+
829 0xFC, 0x00, // ######
+
830 0x7F, 0x00, // #######
+
831 0x1F, 0xE0, // ########
+
832 0x03, 0xF0, // ######
+
833 0x00, 0xF0, // ####
+
834 0x03, 0xF0, // ######
+
835 0x1F, 0xE0, // ########
+
836 0xFF, 0x00, // ########
+
837 0xFC, 0x00, // ######
+
838 0xF0, 0x00, // ####
+
839 0x80, 0x00, // #
+
840 0x00, 0x00, //
+
841 0x00, 0x00, //
+
842 0x00, 0x00, //
+
843 0x00, 0x00, //
+
844 0x00, 0x00, //
+
845 0x00, 0x00, //
+
846 0x00, 0x00, //
+
847
+
848 // @1250 '?' (11 pixels wide)
+
849 0x00, 0x00, //
+
850 0x00, 0x00, //
+
851 0x00, 0x00, //
+
852 0x1F, 0x00, // #####
+
853 0x7F, 0xC0, // #########
+
854 0xF1, 0xC0, // #### ###
+
855 0xE0, 0xE0, // ### ###
+
856 0xE0, 0xE0, // ### ###
+
857 0xC0, 0xE0, // ## ###
+
858 0x03, 0xC0, // ####
+
859 0x07, 0xC0, // #####
+
860 0x0F, 0x80, // #####
+
861 0x0E, 0x00, // ###
+
862 0x1C, 0x00, // ###
+
863 0x1C, 0x00, // ###
+
864 0x08, 0x00, // #
+
865 0x00, 0x00, //
+
866 0x1C, 0x00, // ###
+
867 0x1C, 0x00, // ###
+
868 0x1C, 0x00, // ###
+
869 0x00, 0x00, //
+
870 0x00, 0x00, //
+
871 0x00, 0x00, //
+
872 0x00, 0x00, //
+
873 0x00, 0x00, //
+
874
+
875 // @1300 '@' (23 pixels wide)
+
876 0x00, 0x00, 0x00, //
+
877 0x00, 0x00, 0x00, //
+
878 0x00, 0x00, 0x00, //
+
879 0x00, 0xFF, 0x00, // ########
+
880 0x03, 0xFF, 0xC0, // ############
+
881 0x0F, 0x01, 0xE0, // #### ####
+
882 0x1C, 0x00, 0x70, // ### ###
+
883 0x38, 0x00, 0x38, // ### ###
+
884 0x30, 0xFB, 0x98, // ## ##### ### ##
+
885 0x61, 0xFF, 0x8C, // ## ########## ##
+
886 0x63, 0x8F, 0x8C, // ## ### ##### ##
+
887 0xC7, 0x07, 0x0C, // ## ### ### ##
+
888 0xC7, 0x07, 0x0C, // ## ### ### ##
+
889 0xCE, 0x07, 0x0C, // ## ### ### ##
+
890 0xCE, 0x07, 0x1C, // ## ### ### ###
+
891 0xCE, 0x0F, 0x18, // ## ### #### ##
+
892 0xCE, 0x0E, 0x38, // ## ### ### ###
+
893 0xCF, 0x1E, 0x70, // ## #### #### ###
+
894 0x67, 0xFF, 0xE0, // ## ##############
+
895 0x63, 0xEF, 0x80, // ## ##### #####
+
896 0x30, 0x00, 0x0E, // ## ###
+
897 0x1C, 0x00, 0x3C, // ### ####
+
898 0x0F, 0x00, 0xF8, // #### #####
+
899 0x07, 0xFF, 0xE0, // ##############
+
900 0x00, 0xFF, 0x00, // ########
+
901
+
902 // @1375 'A' (16 pixels wide)
+
903 0x00, 0x00, //
+
904 0x00, 0x00, //
+
905 0x00, 0x00, //
+
906 0x03, 0xC0, // ####
+
907 0x03, 0xC0, // ####
+
908 0x07, 0xE0, // ######
+
909 0x07, 0xE0, // ######
+
910 0x0E, 0xF0, // ### ####
+
911 0x0E, 0x70, // ### ###
+
912 0x0E, 0x70, // ### ###
+
913 0x1C, 0x78, // ### ####
+
914 0x1C, 0x38, // ### ###
+
915 0x3C, 0x3C, // #### ####
+
916 0x3C, 0x3C, // #### ####
+
917 0x7F, 0xFE, // ##############
+
918 0x7F, 0xFE, // ##############
+
919 0x70, 0x0E, // ### ###
+
920 0xF0, 0x0F, // #### ####
+
921 0xE0, 0x07, // ### ###
+
922 0xE0, 0x07, // ### ###
+
923 0x00, 0x00, //
+
924 0x00, 0x00, //
+
925 0x00, 0x00, //
+
926 0x00, 0x00, //
+
927 0x00, 0x00, //
+
928
+
929 // @1425 'B' (14 pixels wide)
+
930 0x00, 0x00, //
+
931 0x00, 0x00, //
+
932 0x00, 0x00, //
+
933 0xFF, 0xE0, // ###########
+
934 0xFF, 0xF8, // #############
+
935 0xE0, 0x78, // ### ####
+
936 0xE0, 0x38, // ### ###
+
937 0xE0, 0x38, // ### ###
+
938 0xE0, 0x38, // ### ###
+
939 0xE0, 0x78, // ### ####
+
940 0xFF, 0xF0, // ############
+
941 0xFF, 0xF0, // ############
+
942 0xE0, 0x38, // ### ###
+
943 0xE0, 0x1C, // ### ###
+
944 0xE0, 0x1C, // ### ###
+
945 0xE0, 0x1C, // ### ###
+
946 0xE0, 0x1C, // ### ###
+
947 0xE0, 0x3C, // ### ####
+
948 0xFF, 0xF8, // #############
+
949 0x7F, 0xF0, // ###########
+
950 0x00, 0x00, //
+
951 0x00, 0x00, //
+
952 0x00, 0x00, //
+
953 0x00, 0x00, //
+
954 0x00, 0x00, //
+
955
+
956 // @1475 'C' (15 pixels wide)
+
957 0x00, 0x00, //
+
958 0x00, 0x00, //
+
959 0x00, 0x00, //
+
960 0x07, 0xE0, // ######
+
961 0x1F, 0xF8, // ##########
+
962 0x3F, 0xFC, // ############
+
963 0x78, 0x3C, // #### ####
+
964 0x70, 0x1E, // ### ####
+
965 0xF0, 0x0E, // #### ###
+
966 0xE0, 0x04, // ### #
+
967 0xE0, 0x00, // ###
+
968 0xE0, 0x00, // ###
+
969 0xE0, 0x00, // ###
+
970 0xE0, 0x0C, // ### ##
+
971 0xF0, 0x0E, // #### ###
+
972 0x70, 0x1E, // ### ####
+
973 0x78, 0x3C, // #### ####
+
974 0x3F, 0xFC, // ############
+
975 0x1F, 0xF8, // ##########
+
976 0x07, 0xE0, // ######
+
977 0x00, 0x00, //
+
978 0x00, 0x00, //
+
979 0x00, 0x00, //
+
980 0x00, 0x00, //
+
981 0x00, 0x00, //
+
982
+
983 // @1525 'D' (14 pixels wide)
+
984 0x00, 0x00, //
+
985 0x00, 0x00, //
+
986 0x00, 0x00, //
+
987 0xFF, 0xC0, // ##########
+
988 0xFF, 0xE0, // ###########
+
989 0xFF, 0xF0, // ############
+
990 0xE0, 0x78, // ### ####
+
991 0xE0, 0x38, // ### ###
+
992 0xE0, 0x1C, // ### ###
+
993 0xE0, 0x1C, // ### ###
+
994 0xE0, 0x1C, // ### ###
+
995 0xE0, 0x1C, // ### ###
+
996 0xE0, 0x1C, // ### ###
+
997 0xE0, 0x1C, // ### ###
+
998 0xE0, 0x3C, // ### ####
+
999 0xE0, 0x38, // ### ###
+
1000 0xE0, 0x78, // ### ####
+
1001 0xFF, 0xF0, // ############
+
1002 0xFF, 0xF0, // ############
+
1003 0xFF, 0xC0, // ##########
+
1004 0x00, 0x00, //
+
1005 0x00, 0x00, //
+
1006 0x00, 0x00, //
+
1007 0x00, 0x00, //
+
1008 0x00, 0x00, //
+
1009
+
1010 // @1575 'E' (13 pixels wide)
+
1011 0x00, 0x00, //
+
1012 0x00, 0x00, //
+
1013 0x00, 0x00, //
+
1014 0xFF, 0xF0, // ############
+
1015 0xFF, 0xF0, // ############
+
1016 0xE0, 0x00, // ###
+
1017 0xE0, 0x00, // ###
+
1018 0xE0, 0x00, // ###
+
1019 0xE0, 0x00, // ###
+
1020 0xE0, 0x00, // ###
+
1021 0xFF, 0xF0, // ############
+
1022 0xFF, 0xF0, // ############
+
1023 0xE0, 0x00, // ###
+
1024 0xE0, 0x00, // ###
+
1025 0xE0, 0x00, // ###
+
1026 0xE0, 0x00, // ###
+
1027 0xE0, 0x00, // ###
+
1028 0xFF, 0xF0, // ############
+
1029 0xFF, 0xF8, // #############
+
1030 0xFF, 0xF0, // ############
+
1031 0x00, 0x00, //
+
1032 0x00, 0x00, //
+
1033 0x00, 0x00, //
+
1034 0x00, 0x00, //
+
1035 0x00, 0x00, //
+
1036
+
1037 // @1625 'F' (12 pixels wide)
+
1038 0x00, 0x00, //
+
1039 0x00, 0x00, //
+
1040 0x00, 0x00, //
+
1041 0xFF, 0xE0, // ###########
+
1042 0xFF, 0xF0, // ############
+
1043 0xE0, 0x00, // ###
+
1044 0xE0, 0x00, // ###
+
1045 0xE0, 0x00, // ###
+
1046 0xE0, 0x00, // ###
+
1047 0xE0, 0x00, // ###
+
1048 0xFF, 0xC0, // ##########
+
1049 0xFF, 0xC0, // ##########
+
1050 0xE0, 0x00, // ###
+
1051 0xE0, 0x00, // ###
+
1052 0xE0, 0x00, // ###
+
1053 0xE0, 0x00, // ###
+
1054 0xE0, 0x00, // ###
+
1055 0xE0, 0x00, // ###
+
1056 0xE0, 0x00, // ###
+
1057 0xE0, 0x00, // ###
+
1058 0x00, 0x00, //
+
1059 0x00, 0x00, //
+
1060 0x00, 0x00, //
+
1061 0x00, 0x00, //
+
1062 0x00, 0x00, //
+
1063
+
1064 // @1675 'G' (16 pixels wide)
+
1065 0x00, 0x00, //
+
1066 0x00, 0x00, //
+
1067 0x00, 0x00, //
+
1068 0x07, 0xF0, // #######
+
1069 0x1F, 0xFC, // ###########
+
1070 0x3C, 0x1E, // #### ####
+
1071 0x78, 0x0E, // #### ###
+
1072 0x70, 0x0F, // ### ####
+
1073 0xE0, 0x06, // ### ##
+
1074 0xE0, 0x00, // ###
+
1075 0xE0, 0x00, // ###
+
1076 0xE0, 0xFF, // ### ########
+
1077 0xE0, 0xFF, // ### ########
+
1078 0xE0, 0x07, // ### ###
+
1079 0xE0, 0x07, // ### ###
+
1080 0x70, 0x07, // ### ###
+
1081 0x78, 0x07, // #### ###
+
1082 0x3C, 0x1F, // #### #####
+
1083 0x1F, 0xFE, // ############
+
1084 0x07, 0xF8, // ########
+
1085 0x00, 0x00, //
+
1086 0x00, 0x00, //
+
1087 0x00, 0x00, //
+
1088 0x00, 0x00, //
+
1089 0x00, 0x00, //
+
1090
+
1091 // @1725 'H' (14 pixels wide)
+
1092 0x00, 0x00, //
+
1093 0x00, 0x00, //
+
1094 0x00, 0x00, //
+
1095 0xE0, 0x1C, // ### ###
+
1096 0xE0, 0x1C, // ### ###
+
1097 0xE0, 0x1C, // ### ###
+
1098 0xE0, 0x1C, // ### ###
+
1099 0xE0, 0x1C, // ### ###
+
1100 0xE0, 0x1C, // ### ###
+
1101 0xFF, 0xFC, // ##############
+
1102 0xFF, 0xFC, // ##############
+
1103 0xFF, 0xFC, // ##############
+
1104 0xE0, 0x1C, // ### ###
+
1105 0xE0, 0x1C, // ### ###
+
1106 0xE0, 0x1C, // ### ###
+
1107 0xE0, 0x1C, // ### ###
+
1108 0xE0, 0x1C, // ### ###
+
1109 0xE0, 0x1C, // ### ###
+
1110 0xE0, 0x1C, // ### ###
+
1111 0xE0, 0x1C, // ### ###
+
1112 0x00, 0x00, //
+
1113 0x00, 0x00, //
+
1114 0x00, 0x00, //
+
1115 0x00, 0x00, //
+
1116 0x00, 0x00, //
+
1117
+
1118 // @1775 'I' (3 pixels wide)
+
1119 0x00, //
+
1120 0x00, //
+
1121 0x00, //
+
1122 0xE0, // ###
+
1123 0xE0, // ###
+
1124 0xE0, // ###
+
1125 0xE0, // ###
+
1126 0xE0, // ###
+
1127 0xE0, // ###
+
1128 0xE0, // ###
+
1129 0xE0, // ###
+
1130 0xE0, // ###
+
1131 0xE0, // ###
+
1132 0xE0, // ###
+
1133 0xE0, // ###
+
1134 0xE0, // ###
+
1135 0xE0, // ###
+
1136 0xE0, // ###
+
1137 0xE0, // ###
+
1138 0xE0, // ###
+
1139 0x00, //
+
1140 0x00, //
+
1141 0x00, //
+
1142 0x00, //
+
1143 0x00, //
+
1144
+
1145 // @1800 'J' (11 pixels wide)
+
1146 0x00, 0x00, //
+
1147 0x00, 0x00, //
+
1148 0x00, 0x00, //
+
1149 0x00, 0xE0, // ###
+
1150 0x00, 0xE0, // ###
+
1151 0x00, 0xE0, // ###
+
1152 0x00, 0xE0, // ###
+
1153 0x00, 0xE0, // ###
+
1154 0x00, 0xE0, // ###
+
1155 0x00, 0xE0, // ###
+
1156 0x00, 0xE0, // ###
+
1157 0x00, 0xE0, // ###
+
1158 0x00, 0xE0, // ###
+
1159 0xE0, 0xE0, // ### ###
+
1160 0xE0, 0xE0, // ### ###
+
1161 0xF0, 0xE0, // #### ###
+
1162 0xF1, 0xE0, // #### ####
+
1163 0x7F, 0xC0, // #########
+
1164 0x3F, 0xC0, // ########
+
1165 0x1F, 0x00, // #####
+
1166 0x00, 0x00, //
+
1167 0x00, 0x00, //
+
1168 0x00, 0x00, //
+
1169 0x00, 0x00, //
+
1170 0x00, 0x00, //
+
1171
+
1172 // @1850 'K' (14 pixels wide)
+
1173 0x00, 0x00, //
+
1174 0x00, 0x00, //
+
1175 0x00, 0x00, //
+
1176 0xE0, 0x38, // ### ###
+
1177 0xE0, 0x78, // ### ####
+
1178 0xE0, 0xF8, // ### #####
+
1179 0xE1, 0xF0, // ### #####
+
1180 0xE3, 0xE0, // ### #####
+
1181 0xE7, 0xC0, // ### #####
+
1182 0xEF, 0x80, // ### #####
+
1183 0xFF, 0x80, // #########
+
1184 0xFF, 0xC0, // ##########
+
1185 0xFB, 0xC0, // ##### ####
+
1186 0xF1, 0xE0, // #### ####
+
1187 0xE0, 0xF0, // ### ####
+
1188 0xE0, 0xF0, // ### ####
+
1189 0xE0, 0x78, // ### ####
+
1190 0xE0, 0x3C, // ### ####
+
1191 0xE0, 0x3C, // ### ####
+
1192 0xE0, 0x1C, // ### ###
+
1193 0x00, 0x00, //
+
1194 0x00, 0x00, //
+
1195 0x00, 0x00, //
+
1196 0x00, 0x00, //
+
1197 0x00, 0x00, //
+
1198
+
1199 // @1900 'L' (12 pixels wide)
+
1200 0x00, 0x00, //
+
1201 0x00, 0x00, //
+
1202 0x00, 0x00, //
+
1203 0xE0, 0x00, // ###
+
1204 0xE0, 0x00, // ###
+
1205 0xE0, 0x00, // ###
+
1206 0xE0, 0x00, // ###
+
1207 0xE0, 0x00, // ###
+
1208 0xE0, 0x00, // ###
+
1209 0xE0, 0x00, // ###
+
1210 0xE0, 0x00, // ###
+
1211 0xE0, 0x00, // ###
+
1212 0xE0, 0x00, // ###
+
1213 0xE0, 0x00, // ###
+
1214 0xE0, 0x00, // ###
+
1215 0xE0, 0x00, // ###
+
1216 0xE0, 0x00, // ###
+
1217 0xFF, 0xE0, // ###########
+
1218 0xFF, 0xF0, // ############
+
1219 0xFF, 0xE0, // ###########
+
1220 0x00, 0x00, //
+
1221 0x00, 0x00, //
+
1222 0x00, 0x00, //
+
1223 0x00, 0x00, //
+
1224 0x00, 0x00, //
+
1225
+
1226 // @1950 'M' (16 pixels wide)
+
1227 0x00, 0x00, //
+
1228 0x00, 0x00, //
+
1229 0x00, 0x00, //
+
1230 0xF8, 0x1F, // ##### #####
+
1231 0xF8, 0x1F, // ##### #####
+
1232 0xFC, 0x3F, // ###### ######
+
1233 0xFC, 0x3F, // ###### ######
+
1234 0xFC, 0x3F, // ###### ######
+
1235 0xEC, 0x37, // ### ## ## ###
+
1236 0xEE, 0x77, // ### ### ### ###
+
1237 0xEE, 0x77, // ### ### ### ###
+
1238 0xEE, 0x77, // ### ### ### ###
+
1239 0xE6, 0x67, // ### ## ## ###
+
1240 0xE7, 0xE7, // ### ###### ###
+
1241 0xE7, 0xE7, // ### ###### ###
+
1242 0xE7, 0xE7, // ### ###### ###
+
1243 0xE3, 0xC7, // ### #### ###
+
1244 0xE3, 0xC7, // ### #### ###
+
1245 0xE3, 0xC7, // ### #### ###
+
1246 0xE1, 0x87, // ### ## ###
+
1247 0x00, 0x00, //
+
1248 0x00, 0x00, //
+
1249 0x00, 0x00, //
+
1250 0x00, 0x00, //
+
1251 0x00, 0x00, //
+
1252
+
1253 // @2000 'N' (14 pixels wide)
+
1254 0x00, 0x00, //
+
1255 0x00, 0x00, //
+
1256 0x00, 0x00, //
+
1257 0x60, 0x1C, // ## ###
+
1258 0xF0, 0x1C, // #### ###
+
1259 0xF8, 0x1C, // ##### ###
+
1260 0xF8, 0x1C, // ##### ###
+
1261 0xFC, 0x1C, // ###### ###
+
1262 0xFE, 0x1C, // ####### ###
+
1263 0xEE, 0x1C, // ### ### ###
+
1264 0xE7, 0x1C, // ### ### ###
+
1265 0xE7, 0x9C, // ### #### ###
+
1266 0xE3, 0x9C, // ### ### ###
+
1267 0xE1, 0xDC, // ### ### ###
+
1268 0xE1, 0xFC, // ### #######
+
1269 0xE0, 0xFC, // ### ######
+
1270 0xE0, 0x7C, // ### #####
+
1271 0xE0, 0x7C, // ### #####
+
1272 0xE0, 0x3C, // ### ####
+
1273 0xE0, 0x1C, // ### ###
+
1274 0x00, 0x00, //
+
1275 0x00, 0x00, //
+
1276 0x00, 0x00, //
+
1277 0x00, 0x00, //
+
1278 0x00, 0x00, //
+
1279
+
1280 // @2050 'O' (17 pixels wide)
+
1281 0x00, 0x00, 0x00, //
+
1282 0x00, 0x00, 0x00, //
+
1283 0x00, 0x00, 0x00, //
+
1284 0x07, 0xF0, 0x00, // #######
+
1285 0x1F, 0xFC, 0x00, // ###########
+
1286 0x3F, 0xFE, 0x00, // #############
+
1287 0x7C, 0x1F, 0x00, // ##### #####
+
1288 0x70, 0x07, 0x00, // ### ###
+
1289 0xF0, 0x07, 0x80, // #### ####
+
1290 0xE0, 0x03, 0x80, // ### ###
+
1291 0xE0, 0x03, 0x80, // ### ###
+
1292 0xE0, 0x03, 0x80, // ### ###
+
1293 0xE0, 0x03, 0x80, // ### ###
+
1294 0xE0, 0x03, 0x80, // ### ###
+
1295 0xF0, 0x07, 0x80, // #### ####
+
1296 0x70, 0x07, 0x00, // ### ###
+
1297 0x7C, 0x1F, 0x00, // ##### #####
+
1298 0x3F, 0xFE, 0x00, // #############
+
1299 0x1F, 0xFC, 0x00, // ###########
+
1300 0x07, 0xF0, 0x00, // #######
+
1301 0x00, 0x00, 0x00, //
+
1302 0x00, 0x00, 0x00, //
+
1303 0x00, 0x00, 0x00, //
+
1304 0x00, 0x00, 0x00, //
+
1305 0x00, 0x00, 0x00, //
+
1306
+
1307 // @2125 'P' (13 pixels wide)
+
1308 0x00, 0x00, //
+
1309 0x00, 0x00, //
+
1310 0x00, 0x00, //
+
1311 0x7F, 0xE0, // ##########
+
1312 0xFF, 0xF0, // ############
+
1313 0xE0, 0x78, // ### ####
+
1314 0xE0, 0x38, // ### ###
+
1315 0xE0, 0x38, // ### ###
+
1316 0xE0, 0x38, // ### ###
+
1317 0xE0, 0x38, // ### ###
+
1318 0xE0, 0x70, // ### ###
+
1319 0xFF, 0xF0, // ############
+
1320 0xFF, 0xC0, // ##########
+
1321 0xE0, 0x00, // ###
+
1322 0xE0, 0x00, // ###
+
1323 0xE0, 0x00, // ###
+
1324 0xE0, 0x00, // ###
+
1325 0xE0, 0x00, // ###
+
1326 0xE0, 0x00, // ###
+
1327 0xE0, 0x00, // ###
+
1328 0x00, 0x00, //
+
1329 0x00, 0x00, //
+
1330 0x00, 0x00, //
+
1331 0x00, 0x00, //
+
1332 0x00, 0x00, //
+
1333
+
1334 // @2175 'Q' (18 pixels wide)
+
1335 0x00, 0x00, 0x00, //
+
1336 0x00, 0x00, 0x00, //
+
1337 0x00, 0x00, 0x00, //
+
1338 0x07, 0xF0, 0x00, // #######
+
1339 0x1F, 0xFC, 0x00, // ###########
+
1340 0x3F, 0xFE, 0x00, // #############
+
1341 0x7C, 0x1F, 0x00, // ##### #####
+
1342 0x70, 0x07, 0x00, // ### ###
+
1343 0xF0, 0x07, 0x80, // #### ####
+
1344 0xE0, 0x03, 0x80, // ### ###
+
1345 0xE0, 0x03, 0x80, // ### ###
+
1346 0xE0, 0x03, 0x80, // ### ###
+
1347 0xE0, 0x03, 0x80, // ### ###
+
1348 0xE0, 0x03, 0x80, // ### ###
+
1349 0xF1, 0xC7, 0x80, // #### ### ####
+
1350 0x70, 0xFF, 0x00, // ### ########
+
1351 0x7C, 0x3F, 0x00, // ##### ######
+
1352 0x3F, 0xFE, 0x00, // #############
+
1353 0x1F, 0xFF, 0x80, // ##############
+
1354 0x07, 0xF3, 0xC0, // ####### ####
+
1355 0x00, 0x01, 0xC0, // ###
+
1356 0x00, 0x00, 0x00, //
+
1357 0x00, 0x00, 0x00, //
+
1358 0x00, 0x00, 0x00, //
+
1359 0x00, 0x00, 0x00, //
+
1360
+
1361 // @2250 'R' (14 pixels wide)
+
1362 0x00, 0x00, //
+
1363 0x00, 0x00, //
+
1364 0x00, 0x00, //
+
1365 0x7F, 0xF0, // ###########
+
1366 0xFF, 0xF8, // #############
+
1367 0xE0, 0x3C, // ### ####
+
1368 0xE0, 0x1C, // ### ###
+
1369 0xE0, 0x1C, // ### ###
+
1370 0xE0, 0x1C, // ### ###
+
1371 0xE0, 0x3C, // ### ####
+
1372 0xFF, 0xF8, // #############
+
1373 0xFF, 0xE0, // ###########
+
1374 0xE1, 0xE0, // ### ####
+
1375 0xE0, 0xF0, // ### ####
+
1376 0xE0, 0x78, // ### ####
+
1377 0xE0, 0x78, // ### ####
+
1378 0xE0, 0x3C, // ### ####
+
1379 0xE0, 0x3C, // ### ####
+
1380 0xE0, 0x1C, // ### ###
+
1381 0xE0, 0x0C, // ### ##
+
1382 0x00, 0x00, //
+
1383 0x00, 0x00, //
+
1384 0x00, 0x00, //
+
1385 0x00, 0x00, //
+
1386 0x00, 0x00, //
+
1387
+
1388 // @2300 'S' (13 pixels wide)
+
1389 0x00, 0x00, //
+
1390 0x00, 0x00, //
+
1391 0x00, 0x00, //
+
1392 0x1F, 0x80, // ######
+
1393 0x7F, 0xE0, // ##########
+
1394 0x70, 0xF0, // ### ####
+
1395 0xE0, 0x70, // ### ###
+
1396 0xE0, 0x30, // ### ##
+
1397 0xF0, 0x00, // ####
+
1398 0xFE, 0x00, // #######
+
1399 0x7F, 0xC0, // #########
+
1400 0x3F, 0xF0, // ##########
+
1401 0x07, 0xF0, // #######
+
1402 0x00, 0x78, // ####
+
1403 0xC0, 0x38, // ## ###
+
1404 0xE0, 0x38, // ### ###
+
1405 0xE0, 0x38, // ### ###
+
1406 0xF0, 0x70, // #### ###
+
1407 0x7F, 0xE0, // ##########
+
1408 0x1F, 0xC0, // #######
+
1409 0x00, 0x00, //
+
1410 0x00, 0x00, //
+
1411 0x00, 0x00, //
+
1412 0x00, 0x00, //
+
1413 0x00, 0x00, //
+
1414
+
1415 // @2350 'T' (15 pixels wide)
+
1416 0x00, 0x00, //
+
1417 0x00, 0x00, //
+
1418 0x00, 0x00, //
+
1419 0x7F, 0xFC, // #############
+
1420 0xFF, 0xFE, // ###############
+
1421 0x7F, 0xFC, // #############
+
1422 0x03, 0x80, // ###
+
1423 0x03, 0x80, // ###
+
1424 0x03, 0x80, // ###
+
1425 0x03, 0x80, // ###
+
1426 0x03, 0x80, // ###
+
1427 0x03, 0x80, // ###
+
1428 0x03, 0x80, // ###
+
1429 0x03, 0x80, // ###
+
1430 0x03, 0x80, // ###
+
1431 0x03, 0x80, // ###
+
1432 0x03, 0x80, // ###
+
1433 0x03, 0x80, // ###
+
1434 0x03, 0x80, // ###
+
1435 0x03, 0x80, // ###
+
1436 0x00, 0x00, //
+
1437 0x00, 0x00, //
+
1438 0x00, 0x00, //
+
1439 0x00, 0x00, //
+
1440 0x00, 0x00, //
+
1441
+
1442 // @2400 'U' (14 pixels wide)
+
1443 0x00, 0x00, //
+
1444 0x00, 0x00, //
+
1445 0x00, 0x00, //
+
1446 0xE0, 0x1C, // ### ###
+
1447 0xE0, 0x1C, // ### ###
+
1448 0xE0, 0x1C, // ### ###
+
1449 0xE0, 0x1C, // ### ###
+
1450 0xE0, 0x1C, // ### ###
+
1451 0xE0, 0x1C, // ### ###
+
1452 0xE0, 0x1C, // ### ###
+
1453 0xE0, 0x1C, // ### ###
+
1454 0xE0, 0x1C, // ### ###
+
1455 0xE0, 0x1C, // ### ###
+
1456 0xE0, 0x1C, // ### ###
+
1457 0xE0, 0x1C, // ### ###
+
1458 0xF0, 0x3C, // #### ####
+
1459 0x78, 0x78, // #### ####
+
1460 0x7F, 0xF8, // ############
+
1461 0x3F, 0xF0, // ##########
+
1462 0x0F, 0xC0, // ######
+
1463 0x00, 0x00, //
+
1464 0x00, 0x00, //
+
1465 0x00, 0x00, //
+
1466 0x00, 0x00, //
+
1467 0x00, 0x00, //
+
1468
+
1469 // @2450 'V' (15 pixels wide)
+
1470 0x00, 0x00, //
+
1471 0x00, 0x00, //
+
1472 0x00, 0x00, //
+
1473 0xE0, 0x0E, // ### ###
+
1474 0xE0, 0x0E, // ### ###
+
1475 0xF0, 0x1E, // #### ####
+
1476 0x70, 0x1C, // ### ###
+
1477 0x78, 0x1C, // #### ###
+
1478 0x78, 0x3C, // #### ####
+
1479 0x38, 0x38, // ### ###
+
1480 0x3C, 0x38, // #### ###
+
1481 0x3C, 0x70, // #### ###
+
1482 0x1C, 0x70, // ### ###
+
1483 0x1E, 0xF0, // #### ####
+
1484 0x0E, 0xE0, // ### ###
+
1485 0x0E, 0xE0, // ### ###
+
1486 0x0F, 0xE0, // #######
+
1487 0x07, 0xC0, // #####
+
1488 0x07, 0xC0, // #####
+
1489 0x03, 0x80, // ###
+
1490 0x00, 0x00, //
+
1491 0x00, 0x00, //
+
1492 0x00, 0x00, //
+
1493 0x00, 0x00, //
+
1494 0x00, 0x00, //
+
1495
+
1496 // @2500 'W' (21 pixels wide)
+
1497 0x00, 0x00, 0x00, //
+
1498 0x00, 0x00, 0x00, //
+
1499 0x00, 0x00, 0x00, //
+
1500 0xE0, 0x70, 0x38, // ### ### ###
+
1501 0xE0, 0xF8, 0x38, // ### ##### ###
+
1502 0xE0, 0xF8, 0x38, // ### ##### ###
+
1503 0xF0, 0xF8, 0x78, // #### ##### ####
+
1504 0x70, 0xD8, 0x70, // ### ## ## ###
+
1505 0x71, 0xDC, 0x70, // ### ### ### ###
+
1506 0x71, 0xDC, 0x70, // ### ### ### ###
+
1507 0x79, 0xDC, 0xF0, // #### ### ### ####
+
1508 0x3B, 0x8E, 0xE0, // ### ### ### ###
+
1509 0x3B, 0x8E, 0xE0, // ### ### ### ###
+
1510 0x3B, 0x8E, 0xE0, // ### ### ### ###
+
1511 0x3B, 0x06, 0xE0, // ### ## ## ###
+
1512 0x1F, 0x07, 0xC0, // ##### #####
+
1513 0x1F, 0x07, 0xC0, // ##### #####
+
1514 0x1F, 0x07, 0xC0, // ##### #####
+
1515 0x1E, 0x03, 0xC0, // #### ####
+
1516 0x0E, 0x03, 0x80, // ### ###
+
1517 0x00, 0x00, 0x00, //
+
1518 0x00, 0x00, 0x00, //
+
1519 0x00, 0x00, 0x00, //
+
1520 0x00, 0x00, 0x00, //
+
1521 0x00, 0x00, 0x00, //
+
1522
+
1523 // @2575 'X' (13 pixels wide)
+
1524 0x00, 0x00, //
+
1525 0x00, 0x00, //
+
1526 0x00, 0x00, //
+
1527 0x60, 0x30, // ## ##
+
1528 0x70, 0x38, // ### ###
+
1529 0x70, 0x70, // ### ###
+
1530 0x78, 0xF0, // #### ####
+
1531 0x3C, 0xE0, // #### ###
+
1532 0x1D, 0xC0, // ### ###
+
1533 0x1F, 0xC0, // #######
+
1534 0x0F, 0x80, // #####
+
1535 0x0F, 0x80, // #####
+
1536 0x0F, 0x80, // #####
+
1537 0x1F, 0xC0, // #######
+
1538 0x3D, 0xE0, // #### ####
+
1539 0x38, 0xE0, // ### ###
+
1540 0x78, 0xF0, // #### ####
+
1541 0xF0, 0x78, // #### ####
+
1542 0xE0, 0x38, // ### ###
+
1543 0xE0, 0x38, // ### ###
+
1544 0x00, 0x00, //
+
1545 0x00, 0x00, //
+
1546 0x00, 0x00, //
+
1547 0x00, 0x00, //
+
1548 0x00, 0x00, //
+
1549
+
1550 // @2625 'Y' (13 pixels wide)
+
1551 0x00, 0x00, //
+
1552 0x00, 0x00, //
+
1553 0x00, 0x00, //
+
1554 0xE0, 0x18, // ### ##
+
1555 0xE0, 0x38, // ### ###
+
1556 0xF0, 0x78, // #### ####
+
1557 0x78, 0x70, // #### ###
+
1558 0x78, 0xF0, // #### ####
+
1559 0x3D, 0xE0, // #### ####
+
1560 0x1D, 0xC0, // ### ###
+
1561 0x1F, 0xC0, // #######
+
1562 0x0F, 0x80, // #####
+
1563 0x07, 0x00, // ###
+
1564 0x07, 0x00, // ###
+
1565 0x07, 0x00, // ###
+
1566 0x07, 0x00, // ###
+
1567 0x07, 0x00, // ###
+
1568 0x07, 0x00, // ###
+
1569 0x07, 0x00, // ###
+
1570 0x07, 0x00, // ###
+
1571 0x00, 0x00, //
+
1572 0x00, 0x00, //
+
1573 0x00, 0x00, //
+
1574 0x00, 0x00, //
+
1575 0x00, 0x00, //
+
1576
+
1577 // @2675 'Z' (15 pixels wide)
+
1578 0x00, 0x00, //
+
1579 0x00, 0x00, //
+
1580 0x00, 0x00, //
+
1581 0x7F, 0xFC, // #############
+
1582 0x7F, 0xFC, // #############
+
1583 0x00, 0x3C, // ####
+
1584 0x00, 0x7C, // #####
+
1585 0x00, 0xF8, // #####
+
1586 0x01, 0xF0, // #####
+
1587 0x01, 0xE0, // ####
+
1588 0x03, 0xE0, // #####
+
1589 0x07, 0xC0, // #####
+
1590 0x0F, 0x80, // #####
+
1591 0x0F, 0x00, // ####
+
1592 0x1E, 0x00, // ####
+
1593 0x3C, 0x00, // ####
+
1594 0x7C, 0x00, // #####
+
1595 0xF8, 0x00, // #####
+
1596 0xFF, 0xFE, // ###############
+
1597 0x7F, 0xFE, // ##############
+
1598 0x00, 0x00, //
+
1599 0x00, 0x00, //
+
1600 0x00, 0x00, //
+
1601 0x00, 0x00, //
+
1602 0x00, 0x00, //
+
1603
+
1604 // @2725 '[' (6 pixels wide)
+
1605 0x00, //
+
1606 0x00, //
+
1607 0x00, //
+
1608 0xFC, // ######
+
1609 0xFC, // ######
+
1610 0xE0, // ###
+
1611 0xE0, // ###
+
1612 0xE0, // ###
+
1613 0xE0, // ###
+
1614 0xE0, // ###
+
1615 0xE0, // ###
+
1616 0xE0, // ###
+
1617 0xE0, // ###
+
1618 0xE0, // ###
+
1619 0xE0, // ###
+
1620 0xE0, // ###
+
1621 0xE0, // ###
+
1622 0xE0, // ###
+
1623 0xE0, // ###
+
1624 0xE0, // ###
+
1625 0xE0, // ###
+
1626 0xE0, // ###
+
1627 0xFC, // ######
+
1628 0x7C, // #####
+
1629 0x00, //
+
1630
+
1631 // @2750 '\' (6 pixels wide)
+
1632 0x00, //
+
1633 0x00, //
+
1634 0x00, //
+
1635 0xE0, // ###
+
1636 0xE0, // ###
+
1637 0x60, // ##
+
1638 0x60, // ##
+
1639 0x70, // ###
+
1640 0x70, // ###
+
1641 0x30, // ##
+
1642 0x30, // ##
+
1643 0x38, // ###
+
1644 0x38, // ###
+
1645 0x18, // ##
+
1646 0x18, // ##
+
1647 0x1C, // ###
+
1648 0x1C, // ###
+
1649 0x0C, // ##
+
1650 0x0C, // ##
+
1651 0x0C, // ##
+
1652 0x00, //
+
1653 0x00, //
+
1654 0x00, //
+
1655 0x00, //
+
1656 0x00, //
+
1657
+
1658 // @2775 ']' (6 pixels wide)
+
1659 0x00, //
+
1660 0x00, //
+
1661 0x00, //
+
1662 0xFC, // ######
+
1663 0xFC, // ######
+
1664 0x1C, // ###
+
1665 0x1C, // ###
+
1666 0x1C, // ###
+
1667 0x1C, // ###
+
1668 0x1C, // ###
+
1669 0x1C, // ###
+
1670 0x1C, // ###
+
1671 0x1C, // ###
+
1672 0x1C, // ###
+
1673 0x1C, // ###
+
1674 0x1C, // ###
+
1675 0x1C, // ###
+
1676 0x1C, // ###
+
1677 0x1C, // ###
+
1678 0x1C, // ###
+
1679 0x1C, // ###
+
1680 0x1C, // ###
+
1681 0xFC, // ######
+
1682 0xFC, // ######
+
1683 0x00, //
+
1684
+
1685 // @2800 '^' (12 pixels wide)
+
1686 0x00, 0x00, //
+
1687 0x00, 0x00, //
+
1688 0x00, 0x00, //
+
1689 0x07, 0x00, // ###
+
1690 0x0F, 0x00, // ####
+
1691 0x0F, 0x80, // #####
+
1692 0x1F, 0x80, // ######
+
1693 0x1F, 0xC0, // #######
+
1694 0x39, 0xC0, // ### ###
+
1695 0x39, 0xC0, // ### ###
+
1696 0x70, 0xE0, // ### ###
+
1697 0xF0, 0xF0, // #### ####
+
1698 0x00, 0x00, //
+
1699 0x00, 0x00, //
+
1700 0x00, 0x00, //
+
1701 0x00, 0x00, //
+
1702 0x00, 0x00, //
+
1703 0x00, 0x00, //
+
1704 0x00, 0x00, //
+
1705 0x00, 0x00, //
+
1706 0x00, 0x00, //
+
1707 0x00, 0x00, //
+
1708 0x00, 0x00, //
+
1709 0x00, 0x00, //
+
1710 0x00, 0x00, //
+
1711
+
1712 // @2850 '_' (12 pixels wide)
+
1713 0x00, 0x00, //
+
1714 0x00, 0x00, //
+
1715 0x00, 0x00, //
+
1716 0x00, 0x00, //
+
1717 0x00, 0x00, //
+
1718 0x00, 0x00, //
+
1719 0x00, 0x00, //
+
1720 0x00, 0x00, //
+
1721 0x00, 0x00, //
+
1722 0x00, 0x00, //
+
1723 0x00, 0x00, //
+
1724 0x00, 0x00, //
+
1725 0x00, 0x00, //
+
1726 0x00, 0x00, //
+
1727 0x00, 0x00, //
+
1728 0x00, 0x00, //
+
1729 0x00, 0x00, //
+
1730 0x00, 0x00, //
+
1731 0x00, 0x00, //
+
1732 0x00, 0x00, //
+
1733 0x00, 0x00, //
+
1734 0x00, 0x00, //
+
1735 0xFF, 0xF0, // ############
+
1736 0x00, 0x00, //
+
1737 0x00, 0x00, //
+
1738
+
1739 // @2900 '`' (5 pixels wide)
+
1740 0x00, //
+
1741 0x00, //
+
1742 0x00, //
+
1743 0xE0, // ###
+
1744 0x70, // ###
+
1745 0x18, // ##
+
1746 0x00, //
+
1747 0x00, //
+
1748 0x00, //
+
1749 0x00, //
+
1750 0x00, //
+
1751 0x00, //
+
1752 0x00, //
+
1753 0x00, //
+
1754 0x00, //
+
1755 0x00, //
+
1756 0x00, //
+
1757 0x00, //
+
1758 0x00, //
+
1759 0x00, //
+
1760 0x00, //
+
1761 0x00, //
+
1762 0x00, //
+
1763 0x00, //
+
1764 0x00, //
+
1765
+
1766 // @2925 'a' (13 pixels wide)
+
1767 0x00, 0x00, //
+
1768 0x00, 0x00, //
+
1769 0x00, 0x00, //
+
1770 0x00, 0x00, //
+
1771 0x00, 0x00, //
+
1772 0x00, 0x00, //
+
1773 0x00, 0x00, //
+
1774 0x00, 0x00, //
+
1775 0x1F, 0xC0, // #######
+
1776 0x7F, 0xE0, // ##########
+
1777 0x70, 0xF0, // ### ####
+
1778 0x60, 0x70, // ## ###
+
1779 0x01, 0xF0, // #####
+
1780 0x3F, 0xF0, // ##########
+
1781 0x7E, 0x70, // ###### ###
+
1782 0xE0, 0x70, // ### ###
+
1783 0xE0, 0x70, // ### ###
+
1784 0xF1, 0xF0, // #### #####
+
1785 0x7F, 0xF8, // ############
+
1786 0x3E, 0x30, // ##### ##
+
1787 0x00, 0x00, //
+
1788 0x00, 0x00, //
+
1789 0x00, 0x00, //
+
1790 0x00, 0x00, //
+
1791 0x00, 0x00, //
+
1792
+
1793 // @2975 'b' (12 pixels wide)
+
1794 0x00, 0x00, //
+
1795 0x00, 0x00, //
+
1796 0x00, 0x00, //
+
1797 0xE0, 0x00, // ###
+
1798 0xE0, 0x00, // ###
+
1799 0xE0, 0x00, // ###
+
1800 0xE0, 0x00, // ###
+
1801 0xE0, 0x00, // ###
+
1802 0xE7, 0x80, // ### ####
+
1803 0xFF, 0xE0, // ###########
+
1804 0xF8, 0xE0, // ##### ###
+
1805 0xF0, 0xF0, // #### ####
+
1806 0xE0, 0x70, // ### ###
+
1807 0xE0, 0x70, // ### ###
+
1808 0xE0, 0x70, // ### ###
+
1809 0xE0, 0x70, // ### ###
+
1810 0xF0, 0xF0, // #### ####
+
1811 0xF8, 0xE0, // ##### ###
+
1812 0xFF, 0xC0, // ##########
+
1813 0xE7, 0x80, // ### ####
+
1814 0x00, 0x00, //
+
1815 0x00, 0x00, //
+
1816 0x00, 0x00, //
+
1817 0x00, 0x00, //
+
1818 0x00, 0x00, //
+
1819
+
1820 // @3025 'c' (12 pixels wide)
+
1821 0x00, 0x00, //
+
1822 0x00, 0x00, //
+
1823 0x00, 0x00, //
+
1824 0x00, 0x00, //
+
1825 0x00, 0x00, //
+
1826 0x00, 0x00, //
+
1827 0x00, 0x00, //
+
1828 0x00, 0x00, //
+
1829 0x1F, 0x80, // ######
+
1830 0x3F, 0xE0, // #########
+
1831 0x70, 0xE0, // ### ###
+
1832 0xF0, 0x70, // #### ###
+
1833 0xE0, 0x20, // ### #
+
1834 0xE0, 0x00, // ###
+
1835 0xE0, 0x00, // ###
+
1836 0xE0, 0x20, // ### #
+
1837 0xF0, 0x70, // #### ###
+
1838 0x70, 0xF0, // ### ####
+
1839 0x3F, 0xE0, // #########
+
1840 0x1F, 0x80, // ######
+
1841 0x00, 0x00, //
+
1842 0x00, 0x00, //
+
1843 0x00, 0x00, //
+
1844 0x00, 0x00, //
+
1845 0x00, 0x00, //
+
1846
+
1847 // @3075 'd' (12 pixels wide)
+
1848 0x00, 0x00, //
+
1849 0x00, 0x00, //
+
1850 0x00, 0x00, //
+
1851 0x00, 0x70, // ###
+
1852 0x00, 0x70, // ###
+
1853 0x00, 0x70, // ###
+
1854 0x00, 0x70, // ###
+
1855 0x00, 0x70, // ###
+
1856 0x1E, 0x70, // #### ###
+
1857 0x7F, 0xF0, // ###########
+
1858 0x71, 0xF0, // ### #####
+
1859 0xF0, 0xF0, // #### ####
+
1860 0xE0, 0x70, // ### ###
+
1861 0xE0, 0x70, // ### ###
+
1862 0xE0, 0x70, // ### ###
+
1863 0xE0, 0x70, // ### ###
+
1864 0xF0, 0xF0, // #### ####
+
1865 0x71, 0xF0, // ### #####
+
1866 0x3F, 0xF0, // ##########
+
1867 0x1E, 0x70, // #### ###
+
1868 0x00, 0x00, //
+
1869 0x00, 0x00, //
+
1870 0x00, 0x00, //
+
1871 0x00, 0x00, //
+
1872 0x00, 0x00, //
+
1873
+
1874 // @3125 'e' (12 pixels wide)
+
1875 0x00, 0x00, //
+
1876 0x00, 0x00, //
+
1877 0x00, 0x00, //
+
1878 0x00, 0x00, //
+
1879 0x00, 0x00, //
+
1880 0x00, 0x00, //
+
1881 0x00, 0x00, //
+
1882 0x00, 0x00, //
+
1883 0x1F, 0x80, // ######
+
1884 0x3F, 0xC0, // ########
+
1885 0x70, 0xE0, // ### ###
+
1886 0xE0, 0xF0, // ### ####
+
1887 0xE0, 0x70, // ### ###
+
1888 0xFF, 0xF0, // ############
+
1889 0xFF, 0xE0, // ###########
+
1890 0xE0, 0x00, // ###
+
1891 0xE0, 0x30, // ### ##
+
1892 0x70, 0xF0, // ### ####
+
1893 0x3F, 0xE0, // #########
+
1894 0x1F, 0x80, // ######
+
1895 0x00, 0x00, //
+
1896 0x00, 0x00, //
+
1897 0x00, 0x00, //
+
1898 0x00, 0x00, //
+
1899 0x00, 0x00, //
+
1900
+
1901 // @3175 'f' (9 pixels wide)
+
1902 0x00, 0x00, //
+
1903 0x00, 0x00, //
+
1904 0x00, 0x00, //
+
1905 0x1F, 0x00, // #####
+
1906 0x3F, 0x80, // #######
+
1907 0x38, 0x00, // ###
+
1908 0x38, 0x00, // ###
+
1909 0x38, 0x00, // ###
+
1910 0xFE, 0x00, // #######
+
1911 0xFF, 0x00, // ########
+
1912 0x38, 0x00, // ###
+
1913 0x38, 0x00, // ###
+
1914 0x38, 0x00, // ###
+
1915 0x38, 0x00, // ###
+
1916 0x38, 0x00, // ###
+
1917 0x38, 0x00, // ###
+
1918 0x38, 0x00, // ###
+
1919 0x38, 0x00, // ###
+
1920 0x38, 0x00, // ###
+
1921 0x38, 0x00, // ###
+
1922 0x00, 0x00, //
+
1923 0x00, 0x00, //
+
1924 0x00, 0x00, //
+
1925 0x00, 0x00, //
+
1926 0x00, 0x00, //
+
1927
+
1928 // @3225 'g' (12 pixels wide)
+
1929 0x00, 0x00, //
+
1930 0x00, 0x00, //
+
1931 0x00, 0x00, //
+
1932 0x00, 0x00, //
+
1933 0x00, 0x00, //
+
1934 0x00, 0x00, //
+
1935 0x00, 0x00, //
+
1936 0x00, 0x00, //
+
1937 0x1E, 0x70, // #### ###
+
1938 0x7F, 0xF0, // ###########
+
1939 0x70, 0xF0, // ### ####
+
1940 0xF0, 0xF0, // #### ####
+
1941 0xE0, 0x70, // ### ###
+
1942 0xE0, 0x70, // ### ###
+
1943 0xE0, 0x70, // ### ###
+
1944 0xE0, 0x70, // ### ###
+
1945 0xE0, 0xF0, // ### ####
+
1946 0x70, 0xF0, // ### ####
+
1947 0x3F, 0xF0, // ##########
+
1948 0x1E, 0x70, // #### ###
+
1949 0x40, 0x70, // # ###
+
1950 0xE0, 0x70, // ### ###
+
1951 0x70, 0xE0, // ### ###
+
1952 0x7F, 0xE0, // ##########
+
1953 0x1F, 0x80, // ######
+
1954
+
1955 // @3275 'h' (11 pixels wide)
+
1956 0x00, 0x00, //
+
1957 0x00, 0x00, //
+
1958 0x00, 0x00, //
+
1959 0xE0, 0x00, // ###
+
1960 0xE0, 0x00, // ###
+
1961 0xE0, 0x00, // ###
+
1962 0xE0, 0x00, // ###
+
1963 0xE0, 0x00, // ###
+
1964 0xEF, 0x80, // ### #####
+
1965 0xFF, 0xC0, // ##########
+
1966 0xF1, 0xE0, // #### ####
+
1967 0xE0, 0xE0, // ### ###
+
1968 0xE0, 0xE0, // ### ###
+
1969 0xE0, 0xE0, // ### ###
+
1970 0xE0, 0xE0, // ### ###
+
1971 0xE0, 0xE0, // ### ###
+
1972 0xE0, 0xE0, // ### ###
+
1973 0xE0, 0xE0, // ### ###
+
1974 0xE0, 0xE0, // ### ###
+
1975 0xE0, 0xE0, // ### ###
+
1976 0x00, 0x00, //
+
1977 0x00, 0x00, //
+
1978 0x00, 0x00, //
+
1979 0x00, 0x00, //
+
1980 0x00, 0x00, //
+
1981
+
1982 // @3325 'i' (3 pixels wide)
+
1983 0x00, //
+
1984 0x00, //
+
1985 0x00, //
+
1986 0xE0, // ###
+
1987 0xE0, // ###
+
1988 0xE0, // ###
+
1989 0x00, //
+
1990 0x00, //
+
1991 0xE0, // ###
+
1992 0xE0, // ###
+
1993 0xE0, // ###
+
1994 0xE0, // ###
+
1995 0xE0, // ###
+
1996 0xE0, // ###
+
1997 0xE0, // ###
+
1998 0xE0, // ###
+
1999 0xE0, // ###
+
2000 0xE0, // ###
+
2001 0xE0, // ###
+
2002 0xE0, // ###
+
2003 0x00, //
+
2004 0x00, //
+
2005 0x00, //
+
2006 0x00, //
+
2007 0x00, //
+
2008
+
2009 // @3350 'j' (6 pixels wide)
+
2010 0x00, //
+
2011 0x00, //
+
2012 0x00, //
+
2013 0x1C, // ###
+
2014 0x1C, // ###
+
2015 0x1C, // ###
+
2016 0x00, //
+
2017 0x00, //
+
2018 0x1C, // ###
+
2019 0x1C, // ###
+
2020 0x1C, // ###
+
2021 0x1C, // ###
+
2022 0x1C, // ###
+
2023 0x1C, // ###
+
2024 0x1C, // ###
+
2025 0x1C, // ###
+
2026 0x1C, // ###
+
2027 0x1C, // ###
+
2028 0x1C, // ###
+
2029 0x1C, // ###
+
2030 0x1C, // ###
+
2031 0x1C, // ###
+
2032 0x1C, // ###
+
2033 0xFC, // ######
+
2034 0xF8, // #####
+
2035
+
2036 // @3375 'k' (11 pixels wide)
+
2037 0x00, 0x00, //
+
2038 0x00, 0x00, //
+
2039 0x00, 0x00, //
+
2040 0xE0, 0x00, // ###
+
2041 0xE0, 0x00, // ###
+
2042 0xE0, 0x00, // ###
+
2043 0xE0, 0x00, // ###
+
2044 0xE0, 0x00, // ###
+
2045 0xE1, 0xC0, // ### ###
+
2046 0xE3, 0xC0, // ### ####
+
2047 0xE7, 0x80, // ### ####
+
2048 0xEF, 0x00, // ### ####
+
2049 0xFE, 0x00, // #######
+
2050 0xFF, 0x00, // ########
+
2051 0xF7, 0x00, // #### ###
+
2052 0xE3, 0x80, // ### ###
+
2053 0xE3, 0xC0, // ### ####
+
2054 0xE1, 0xC0, // ### ###
+
2055 0xE0, 0xE0, // ### ###
+
2056 0xE0, 0xE0, // ### ###
+
2057 0x00, 0x00, //
+
2058 0x00, 0x00, //
+
2059 0x00, 0x00, //
+
2060 0x00, 0x00, //
+
2061 0x00, 0x00, //
+
2062
+
2063 // @3425 'l' (3 pixels wide)
+
2064 0x00, //
+
2065 0x00, //
+
2066 0x00, //
+
2067 0xE0, // ###
+
2068 0xE0, // ###
+
2069 0xE0, // ###
+
2070 0xE0, // ###
+
2071 0xE0, // ###
+
2072 0xE0, // ###
+
2073 0xE0, // ###
+
2074 0xE0, // ###
+
2075 0xE0, // ###
+
2076 0xE0, // ###
+
2077 0xE0, // ###
+
2078 0xE0, // ###
+
2079 0xE0, // ###
+
2080 0xE0, // ###
+
2081 0xE0, // ###
+
2082 0xE0, // ###
+
2083 0xE0, // ###
+
2084 0x00, //
+
2085 0x00, //
+
2086 0x00, //
+
2087 0x00, //
+
2088 0x00, //
+
2089
+
2090 // @3450 'm' (18 pixels wide)
+
2091 0x00, 0x00, 0x00, //
+
2092 0x00, 0x00, 0x00, //
+
2093 0x00, 0x00, 0x00, //
+
2094 0x00, 0x00, 0x00, //
+
2095 0x00, 0x00, 0x00, //
+
2096 0x00, 0x00, 0x00, //
+
2097 0x00, 0x00, 0x00, //
+
2098 0x00, 0x00, 0x00, //
+
2099 0xEF, 0x9F, 0x00, // ### ##### #####
+
2100 0xFF, 0xFF, 0xC0, // ##################
+
2101 0xF1, 0xE3, 0xC0, // #### #### ####
+
2102 0xE1, 0xC1, 0xC0, // ### ### ###
+
2103 0xE1, 0xC1, 0xC0, // ### ### ###
+
2104 0xE1, 0xC1, 0xC0, // ### ### ###
+
2105 0xE1, 0xC1, 0xC0, // ### ### ###
+
2106 0xE1, 0xC1, 0xC0, // ### ### ###
+
2107 0xE1, 0xC1, 0xC0, // ### ### ###
+
2108 0xE1, 0xC1, 0xC0, // ### ### ###
+
2109 0xE1, 0xC1, 0xC0, // ### ### ###
+
2110 0xE1, 0xC1, 0xC0, // ### ### ###
+
2111 0x00, 0x00, 0x00, //
+
2112 0x00, 0x00, 0x00, //
+
2113 0x00, 0x00, 0x00, //
+
2114 0x00, 0x00, 0x00, //
+
2115 0x00, 0x00, 0x00, //
+
2116
+
2117 // @3525 'n' (11 pixels wide)
+
2118 0x00, 0x00, //
+
2119 0x00, 0x00, //
+
2120 0x00, 0x00, //
+
2121 0x00, 0x00, //
+
2122 0x00, 0x00, //
+
2123 0x00, 0x00, //
+
2124 0x00, 0x00, //
+
2125 0x00, 0x00, //
+
2126 0xEF, 0x80, // ### #####
+
2127 0xFF, 0xC0, // ##########
+
2128 0xF1, 0xE0, // #### ####
+
2129 0xE0, 0xE0, // ### ###
+
2130 0xE0, 0xE0, // ### ###
+
2131 0xE0, 0xE0, // ### ###
+
2132 0xE0, 0xE0, // ### ###
+
2133 0xE0, 0xE0, // ### ###
+
2134 0xE0, 0xE0, // ### ###
+
2135 0xE0, 0xE0, // ### ###
+
2136 0xE0, 0xE0, // ### ###
+
2137 0xE0, 0xE0, // ### ###
+
2138 0x00, 0x00, //
+
2139 0x00, 0x00, //
+
2140 0x00, 0x00, //
+
2141 0x00, 0x00, //
+
2142 0x00, 0x00, //
+
2143
+
2144 // @3575 'o' (13 pixels wide)
+
2145 0x00, 0x00, //
+
2146 0x00, 0x00, //
+
2147 0x00, 0x00, //
+
2148 0x00, 0x00, //
+
2149 0x00, 0x00, //
+
2150 0x00, 0x00, //
+
2151 0x00, 0x00, //
+
2152 0x00, 0x00, //
+
2153 0x0F, 0x80, // #####
+
2154 0x3F, 0xE0, // #########
+
2155 0x78, 0xF0, // #### ####
+
2156 0xF0, 0x78, // #### ####
+
2157 0xE0, 0x38, // ### ###
+
2158 0xE0, 0x38, // ### ###
+
2159 0xE0, 0x38, // ### ###
+
2160 0xE0, 0x38, // ### ###
+
2161 0xF0, 0x78, // #### ####
+
2162 0x78, 0xF0, // #### ####
+
2163 0x3F, 0xE0, // #########
+
2164 0x0F, 0x80, // #####
+
2165 0x00, 0x00, //
+
2166 0x00, 0x00, //
+
2167 0x00, 0x00, //
+
2168 0x00, 0x00, //
+
2169 0x00, 0x00, //
+
2170
+
2171 // @3625 'p' (12 pixels wide)
+
2172 0x00, 0x00, //
+
2173 0x00, 0x00, //
+
2174 0x00, 0x00, //
+
2175 0x00, 0x00, //
+
2176 0x00, 0x00, //
+
2177 0x00, 0x00, //
+
2178 0x00, 0x00, //
+
2179 0x00, 0x00, //
+
2180 0xE7, 0x80, // ### ####
+
2181 0xFF, 0xC0, // ##########
+
2182 0xF8, 0xE0, // ##### ###
+
2183 0xF0, 0xF0, // #### ####
+
2184 0xE0, 0x70, // ### ###
+
2185 0xE0, 0x70, // ### ###
+
2186 0xE0, 0x70, // ### ###
+
2187 0xE0, 0x70, // ### ###
+
2188 0xF0, 0xF0, // #### ####
+
2189 0xF8, 0xE0, // ##### ###
+
2190 0xFF, 0xC0, // ##########
+
2191 0xE7, 0x80, // ### ####
+
2192 0xE0, 0x00, // ###
+
2193 0xE0, 0x00, // ###
+
2194 0xE0, 0x00, // ###
+
2195 0xE0, 0x00, // ###
+
2196 0xE0, 0x00, // ###
+
2197
+
2198 // @3675 'q' (12 pixels wide)
+
2199 0x00, 0x00, //
+
2200 0x00, 0x00, //
+
2201 0x00, 0x00, //
+
2202 0x00, 0x00, //
+
2203 0x00, 0x00, //
+
2204 0x00, 0x00, //
+
2205 0x00, 0x00, //
+
2206 0x00, 0x00, //
+
2207 0x1E, 0x70, // #### ###
+
2208 0x3F, 0xF0, // ##########
+
2209 0x71, 0xF0, // ### #####
+
2210 0xF0, 0xF0, // #### ####
+
2211 0xE0, 0x70, // ### ###
+
2212 0xE0, 0x70, // ### ###
+
2213 0xE0, 0x70, // ### ###
+
2214 0xE0, 0x70, // ### ###
+
2215 0xF0, 0xF0, // #### ####
+
2216 0x71, 0xF0, // ### #####
+
2217 0x3F, 0xF0, // ##########
+
2218 0x1E, 0x70, // #### ###
+
2219 0x00, 0x70, // ###
+
2220 0x00, 0x70, // ###
+
2221 0x00, 0x70, // ###
+
2222 0x00, 0x70, // ###
+
2223 0x00, 0x70, // ###
+
2224
+
2225 // @3725 'r' (9 pixels wide)
+
2226 0x00, 0x00, //
+
2227 0x00, 0x00, //
+
2228 0x00, 0x00, //
+
2229 0x00, 0x00, //
+
2230 0x00, 0x00, //
+
2231 0x00, 0x00, //
+
2232 0x00, 0x00, //
+
2233 0x00, 0x00, //
+
2234 0xEF, 0x00, // ### ####
+
2235 0xFF, 0x80, // #########
+
2236 0xF0, 0x00, // ####
+
2237 0xE0, 0x00, // ###
+
2238 0xE0, 0x00, // ###
+
2239 0xE0, 0x00, // ###
+
2240 0xE0, 0x00, // ###
+
2241 0xE0, 0x00, // ###
+
2242 0xE0, 0x00, // ###
+
2243 0xE0, 0x00, // ###
+
2244 0xE0, 0x00, // ###
+
2245 0xE0, 0x00, // ###
+
2246 0x00, 0x00, //
+
2247 0x00, 0x00, //
+
2248 0x00, 0x00, //
+
2249 0x00, 0x00, //
+
2250 0x00, 0x00, //
+
2251
+
2252 // @3775 's' (11 pixels wide)
+
2253 0x00, 0x00, //
+
2254 0x00, 0x00, //
+
2255 0x00, 0x00, //
+
2256 0x00, 0x00, //
+
2257 0x00, 0x00, //
+
2258 0x00, 0x00, //
+
2259 0x00, 0x00, //
+
2260 0x00, 0x00, //
+
2261 0x3F, 0x00, // ######
+
2262 0x7F, 0xC0, // #########
+
2263 0xE1, 0xC0, // ### ###
+
2264 0xE0, 0xC0, // ### ##
+
2265 0xF8, 0x00, // #####
+
2266 0x7F, 0x80, // ########
+
2267 0x1F, 0xC0, // #######
+
2268 0x01, 0xE0, // ####
+
2269 0xE0, 0xE0, // ### ###
+
2270 0xF0, 0xE0, // #### ###
+
2271 0x7F, 0xC0, // #########
+
2272 0x3F, 0x80, // #######
+
2273 0x00, 0x00, //
+
2274 0x00, 0x00, //
+
2275 0x00, 0x00, //
+
2276 0x00, 0x00, //
+
2277 0x00, 0x00, //
+
2278
+
2279 // @3825 't' (9 pixels wide)
+
2280 0x00, 0x00, //
+
2281 0x00, 0x00, //
+
2282 0x00, 0x00, //
+
2283 0x38, 0x00, // ###
+
2284 0x38, 0x00, // ###
+
2285 0x38, 0x00, // ###
+
2286 0x38, 0x00, // ###
+
2287 0x38, 0x00, // ###
+
2288 0xFE, 0x00, // #######
+
2289 0xFF, 0x00, // ########
+
2290 0x38, 0x00, // ###
+
2291 0x38, 0x00, // ###
+
2292 0x38, 0x00, // ###
+
2293 0x38, 0x00, // ###
+
2294 0x38, 0x00, // ###
+
2295 0x38, 0x00, // ###
+
2296 0x38, 0x00, // ###
+
2297 0x38, 0x00, // ###
+
2298 0x3F, 0x80, // #######
+
2299 0x1F, 0x00, // #####
+
2300 0x00, 0x00, //
+
2301 0x00, 0x00, //
+
2302 0x00, 0x00, //
+
2303 0x00, 0x00, //
+
2304 0x00, 0x00, //
+
2305
+
2306 // @3875 'u' (11 pixels wide)
+
2307 0x00, 0x00, //
+
2308 0x00, 0x00, //
+
2309 0x00, 0x00, //
+
2310 0x00, 0x00, //
+
2311 0x00, 0x00, //
+
2312 0x00, 0x00, //
+
2313 0x00, 0x00, //
+
2314 0x00, 0x00, //
+
2315 0xE0, 0xE0, // ### ###
+
2316 0xE0, 0xE0, // ### ###
+
2317 0xE0, 0xE0, // ### ###
+
2318 0xE0, 0xE0, // ### ###
+
2319 0xE0, 0xE0, // ### ###
+
2320 0xE0, 0xE0, // ### ###
+
2321 0xE0, 0xE0, // ### ###
+
2322 0xE0, 0xE0, // ### ###
+
2323 0xE0, 0xE0, // ### ###
+
2324 0xF1, 0xE0, // #### ####
+
2325 0x7F, 0xE0, // ##########
+
2326 0x3C, 0xE0, // #### ###
+
2327 0x00, 0x00, //
+
2328 0x00, 0x00, //
+
2329 0x00, 0x00, //
+
2330 0x00, 0x00, //
+
2331 0x00, 0x00, //
+
2332
+
2333 // @3925 'v' (11 pixels wide)
+
2334 0x00, 0x00, //
+
2335 0x00, 0x00, //
+
2336 0x00, 0x00, //
+
2337 0x00, 0x00, //
+
2338 0x00, 0x00, //
+
2339 0x00, 0x00, //
+
2340 0x00, 0x00, //
+
2341 0x00, 0x00, //
+
2342 0xC0, 0x60, // ## ##
+
2343 0xE0, 0xE0, // ### ###
+
2344 0xE0, 0xE0, // ### ###
+
2345 0x71, 0xC0, // ### ###
+
2346 0x71, 0xC0, // ### ###
+
2347 0x31, 0x80, // ## ##
+
2348 0x3B, 0x80, // ### ###
+
2349 0x3B, 0x80, // ### ###
+
2350 0x1B, 0x00, // ## ##
+
2351 0x1F, 0x00, // #####
+
2352 0x0E, 0x00, // ###
+
2353 0x0E, 0x00, // ###
+
2354 0x00, 0x00, //
+
2355 0x00, 0x00, //
+
2356 0x00, 0x00, //
+
2357 0x00, 0x00, //
+
2358 0x00, 0x00, //
+
2359
+
2360 // @3975 'w' (18 pixels wide)
+
2361 0x00, 0x00, 0x00, //
+
2362 0x00, 0x00, 0x00, //
+
2363 0x00, 0x00, 0x00, //
+
2364 0x00, 0x00, 0x00, //
+
2365 0x00, 0x00, 0x00, //
+
2366 0x00, 0x00, 0x00, //
+
2367 0x00, 0x00, 0x00, //
+
2368 0x00, 0x00, 0x00, //
+
2369 0xE0, 0xC1, 0xC0, // ### ## ###
+
2370 0xE1, 0xE1, 0xC0, // ### #### ###
+
2371 0xE1, 0xE1, 0xC0, // ### #### ###
+
2372 0x71, 0xE3, 0x80, // ### #### ###
+
2373 0x73, 0xF3, 0x80, // ### ###### ###
+
2374 0x73, 0x33, 0x80, // ### ## ## ###
+
2375 0x3B, 0x37, 0x00, // ### ## ## ###
+
2376 0x3F, 0x3F, 0x00, // ###### ######
+
2377 0x3E, 0x1F, 0x00, // ##### #####
+
2378 0x1E, 0x1E, 0x00, // #### ####
+
2379 0x1E, 0x1E, 0x00, // #### ####
+
2380 0x0C, 0x0C, 0x00, // ## ##
+
2381 0x00, 0x00, 0x00, //
+
2382 0x00, 0x00, 0x00, //
+
2383 0x00, 0x00, 0x00, //
+
2384 0x00, 0x00, 0x00, //
+
2385 0x00, 0x00, 0x00, //
+
2386
+
2387 // @4050 'x' (11 pixels wide)
+
2388 0x00, 0x00, //
+
2389 0x00, 0x00, //
+
2390 0x00, 0x00, //
+
2391 0x00, 0x00, //
+
2392 0x00, 0x00, //
+
2393 0x00, 0x00, //
+
2394 0x00, 0x00, //
+
2395 0x00, 0x00, //
+
2396 0xE0, 0xE0, // ### ###
+
2397 0xF1, 0xE0, // #### ####
+
2398 0x7B, 0xC0, // #### ####
+
2399 0x3F, 0x80, // #######
+
2400 0x1F, 0x00, // #####
+
2401 0x1F, 0x00, // #####
+
2402 0x3F, 0x80, // #######
+
2403 0x3B, 0x80, // ### ###
+
2404 0x7B, 0xC0, // #### ####
+
2405 0xF1, 0xE0, // #### ####
+
2406 0xE0, 0xE0, // ### ###
+
2407 0xC0, 0xE0, // ## ###
+
2408 0x00, 0x00, //
+
2409 0x00, 0x00, //
+
2410 0x00, 0x00, //
+
2411 0x00, 0x00, //
+
2412 0x00, 0x00, //
+
2413
+
2414 // @4100 'y' (11 pixels wide)
+
2415 0x00, 0x00, //
+
2416 0x00, 0x00, //
+
2417 0x00, 0x00, //
+
2418 0x00, 0x00, //
+
2419 0x00, 0x00, //
+
2420 0x00, 0x00, //
+
2421 0x00, 0x00, //
+
2422 0x00, 0x00, //
+
2423 0xE0, 0x60, // ### ##
+
2424 0xE0, 0xE0, // ### ###
+
2425 0xE0, 0xE0, // ### ###
+
2426 0x71, 0xC0, // ### ###
+
2427 0x71, 0xC0, // ### ###
+
2428 0x71, 0xC0, // ### ###
+
2429 0x3B, 0x80, // ### ###
+
2430 0x3B, 0x80, // ### ###
+
2431 0x1B, 0x00, // ## ##
+
2432 0x1F, 0x00, // #####
+
2433 0x1F, 0x00, // #####
+
2434 0x0E, 0x00, // ###
+
2435 0x0E, 0x00, // ###
+
2436 0x0E, 0x00, // ###
+
2437 0x1C, 0x00, // ###
+
2438 0xFC, 0x00, // ######
+
2439 0xF8, 0x00, // #####
+
2440
+
2441 // @4150 'z' (12 pixels wide)
+
2442 0x00, 0x00, //
+
2443 0x00, 0x00, //
+
2444 0x00, 0x00, //
+
2445 0x00, 0x00, //
+
2446 0x00, 0x00, //
+
2447 0x00, 0x00, //
+
2448 0x00, 0x00, //
+
2449 0x00, 0x00, //
+
2450 0x7F, 0xE0, // ##########
+
2451 0xFF, 0xE0, // ###########
+
2452 0x01, 0xE0, // ####
+
2453 0x03, 0xC0, // ####
+
2454 0x07, 0x80, // ####
+
2455 0x0F, 0x00, // ####
+
2456 0x1E, 0x00, // ####
+
2457 0x1C, 0x00, // ###
+
2458 0x38, 0x00, // ###
+
2459 0x78, 0x00, // ####
+
2460 0xFF, 0xF0, // ############
+
2461 0xFF, 0xF0, // ############
+
2462 0x00, 0x00, //
+
2463 0x00, 0x00, //
+
2464 0x00, 0x00, //
+
2465 0x00, 0x00, //
+
2466 0x00, 0x00, //
+
2467
+
2468 // @4200 '{' (8 pixels wide)
+
2469 0x00, //
+
2470 0x00, //
+
2471 0x00, //
+
2472 0x07, // ###
+
2473 0x0F, // ####
+
2474 0x1F, // #####
+
2475 0x1C, // ###
+
2476 0x1C, // ###
+
2477 0x1C, // ###
+
2478 0x1C, // ###
+
2479 0x1C, // ###
+
2480 0x1C, // ###
+
2481 0x78, // ####
+
2482 0xF8, // #####
+
2483 0xF8, // #####
+
2484 0x78, // ####
+
2485 0x1C, // ###
+
2486 0x1C, // ###
+
2487 0x1C, // ###
+
2488 0x1C, // ###
+
2489 0x1C, // ###
+
2490 0x1C, // ###
+
2491 0x1F, // #####
+
2492 0x0F, // ####
+
2493 0x07, // ###
+
2494
+
2495 // @4225 '|' (3 pixels wide)
+
2496 0x00, //
+
2497 0x00, //
+
2498 0x00, //
+
2499 0xE0, // ###
+
2500 0xE0, // ###
+
2501 0xE0, // ###
+
2502 0xE0, // ###
+
2503 0xE0, // ###
+
2504 0xE0, // ###
+
2505 0xE0, // ###
+
2506 0xE0, // ###
+
2507 0xE0, // ###
+
2508 0xE0, // ###
+
2509 0xE0, // ###
+
2510 0xE0, // ###
+
2511 0xE0, // ###
+
2512 0xE0, // ###
+
2513 0xE0, // ###
+
2514 0xE0, // ###
+
2515 0xE0, // ###
+
2516 0xE0, // ###
+
2517 0xE0, // ###
+
2518 0xE0, // ###
+
2519 0xE0, // ###
+
2520 0xE0, // ###
+
2521
+
2522 // @4250 '}' (8 pixels wide)
+
2523 0x00, //
+
2524 0x00, //
+
2525 0x00, //
+
2526 0xE0, // ###
+
2527 0xF0, // ####
+
2528 0xF8, // #####
+
2529 0x38, // ###
+
2530 0x38, // ###
+
2531 0x38, // ###
+
2532 0x38, // ###
+
2533 0x38, // ###
+
2534 0x38, // ###
+
2535 0x1E, // ####
+
2536 0x1F, // #####
+
2537 0x1F, // #####
+
2538 0x1E, // ####
+
2539 0x38, // ###
+
2540 0x38, // ###
+
2541 0x38, // ###
+
2542 0x38, // ###
+
2543 0x38, // ###
+
2544 0x38, // ###
+
2545 0xF8, // #####
+
2546 0xF0, // ####
+
2547 0xE0, // ###
+
2548
+
2549 // @4275 '~' (12 pixels wide)
+
2550 0x00, 0x00, //
+
2551 0x00, 0x00, //
+
2552 0x00, 0x00, //
+
2553 0x00, 0x00, //
+
2554 0x00, 0x00, //
+
2555 0x00, 0x00, //
+
2556 0x00, 0x00, //
+
2557 0x00, 0x00, //
+
2558 0x00, 0x00, //
+
2559 0x00, 0x00, //
+
2560 0x7C, 0x10, // ##### #
+
2561 0xFF, 0xF0, // ############
+
2562 0xFF, 0xF0, // ############
+
2563 0x83, 0xE0, // # #####
+
2564 0x00, 0x00, //
+
2565 0x00, 0x00, //
+
2566 0x00, 0x00, //
+
2567 0x00, 0x00, //
+
2568 0x00, 0x00, //
+
2569 0x00, 0x00, //
+
2570 0x00, 0x00, //
+
2571 0x00, 0x00, //
+
2572 0x00, 0x00, //
+
2573 0x00, 0x00, //
+
2574 0x00, 0x00, //
+
2575};
+
2576
+
2577// Character descriptors for Arial Rounded MT Bold 18pt
+
2578// { [Char width in bits], [Offset into arialRoundedMTBold18ptCharBitmaps in bytes] }
+
2579const FONT_CHAR_INFO arialRoundedMTBold18ptDescriptors[] =
+
2580{
+
2581 {8, 0}, //
+
2582 {3, 25}, // !
+
2583 {8, 50}, // "
+
2584 {13, 75}, // #
+
2585 {12, 125}, // $
+
2586 {19, 175}, // %
+
2587 {15, 250}, // &
+
2588 {3, 300}, // '
+
2589 {6, 325}, // (
+
2590 {6, 350}, // )
+
2591 {10, 375}, // *
+
2592 {12, 425}, // +
+
2593 {4, 475}, // ,
+
2594 {7, 500}, // -
+
2595 {3, 525}, // .
+
2596 {6, 550}, // /
+
2597 {12, 575}, // 0
+
2598 {8, 625}, // 1
+
2599 {12, 650}, // 2
+
2600 {12, 700}, // 3
+
2601 {14, 750}, // 4
+
2602 {12, 800}, // 5
+
2603 {12, 850}, // 6
+
2604 {12, 900}, // 7
+
2605 {12, 950}, // 8
+
2606 {12, 1000}, // 9
+
2607 {3, 1050}, // :
+
2608 {3, 1075}, // ;
+
2609 {12, 1100}, // <
+
2610 {12, 1150}, // =
+
2611 {12, 1200}, // >
+
2612 {11, 1250}, // ?
+
2613 {23, 1300}, // @
+
2614 {16, 1375}, // A
+
2615 {14, 1425}, // B
+
2616 {15, 1475}, // C
+
2617 {14, 1525}, // D
+
2618 {13, 1575}, // E
+
2619 {12, 1625}, // F
+
2620 {16, 1675}, // G
+
2621 {14, 1725}, // H
+
2622 {3, 1775}, // I
+
2623 {11, 1800}, // J
+
2624 {14, 1850}, // K
+
2625 {12, 1900}, // L
+
2626 {16, 1950}, // M
+
2627 {14, 2000}, // N
+
2628 {17, 2050}, // O
+
2629 {13, 2125}, // P
+
2630 {18, 2175}, // Q
+
2631 {14, 2250}, // R
+
2632 {13, 2300}, // S
+
2633 {15, 2350}, // T
+
2634 {14, 2400}, // U
+
2635 {15, 2450}, // V
+
2636 {21, 2500}, // W
+
2637 {13, 2575}, // X
+
2638 {13, 2625}, // Y
+
2639 {15, 2675}, // Z
+
2640 {6, 2725}, // [
+
2641 {6, 2750}, // backslash
+
2642 {6, 2775}, // ]
+
2643 {12, 2800}, // ^
+
2644 {12, 2850}, // _
+
2645 {5, 2900}, // `
+
2646 {13, 2925}, // a
+
2647 {12, 2975}, // b
+
2648 {12, 3025}, // c
+
2649 {12, 3075}, // d
+
2650 {12, 3125}, // e
+
2651 {9, 3175}, // f
+
2652 {12, 3225}, // g
+
2653 {11, 3275}, // h
+
2654 {3, 3325}, // i
+
2655 {6, 3350}, // j
+
2656 {11, 3375}, // k
+
2657 {3, 3425}, // l
+
2658 {18, 3450}, // m
+
2659 {11, 3525}, // n
+
2660 {13, 3575}, // o
+
2661 {12, 3625}, // p
+
2662 {12, 3675}, // q
+
2663 {9, 3725}, // r
+
2664 {11, 3775}, // s
+
2665 {9, 3825}, // t
+
2666 {11, 3875}, // u
+
2667 {11, 3925}, // v
+
2668 {18, 3975}, // w
+
2669 {11, 4050}, // x
+
2670 {11, 4100}, // y
+
2671 {12, 4150}, // z
+
2672 {8, 4200}, // {
+
2673 {3, 4225}, // |
+
2674 {8, 4250}, // }
+
2675 {12, 4275}, // ~
+
2676};
+
2677
+
2678// Font information for Arial Rounded MT Bold 18pt
+ +
2680{
+
2681 25, // Character height
+
2682 ' ', // Start character
+
2683 '~', // End character
+
2684 arialRoundedMTBold18ptDescriptors, // Character descriptor array
+
2685 arialRoundedMTBold18ptBitmaps, // Character bitmap array
+
2686};
+
const uint8_t arialRoundedMTBold18ptBitmaps[]
+
const FONT_INFO arialRoundedMTBold18ptFontInfo
+
const FONT_CHAR_INFO arialRoundedMTBold18ptDescriptors[]
+ +
+
+ + + + diff --git a/html/bc_s.png b/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..1b1ab4fd0539e5893073b0488359928b2e3524c2 GIT binary patch literal 670 zcmV;P0%84$P)2qb#%sR)vy9zyzI zrY}9Dt4ZxF2u7tlXxq%jEMDthID8N1+FB6VY_hkLwYU7<{SOyC*-PNe3!-r!>N>3&r-%=0!ATIYbuQQeAf!m8wR zGIGfTdN%@sdaBKe#&2M+CehmX&-G5OL-|OygG34D4{4IX2ni1))6+R1^cS$~$_^Jh zTeGfX#l?;c~U^a*GRsamy zZYO;=hppJff;H8OEOmbW^r4*x+6OiB_u|f~oz^+@BRaLj12_8HXkkf{tQJL9qLVEE zI1%slzL;25pGTO~WK6%yz1cQKBze{RoFyYN@lVmRKLnb(Ul|E|QUCw|07*qoM6N<$ Ef`vLdH~;_u literal 0 HcmV?d00001 diff --git a/html/bc_sd.png b/html/bc_sd.png new file mode 100644 index 0000000000000000000000000000000000000000..36143cad06e29fea06c4b2284cdc36391acb70d2 GIT binary patch literal 610 zcmV-o0-gPdP)RGZecO{~?nA*mI$C|W^8QM^$sD%DD$daqvjCklmv zpf`H2QV+v}`4Q4yUxg|H)e zGJLEXdYvQu8FwMI!+QVdONy`6UN3E`vM1vbA%2+0E>x|vg*I1*>>g<3K9yFoPG6sK zwPr(}_-dZGRJKmd{58aPL8`o=>;Gh)yfW$JOvI7^lsV0~xT^IHe}NEFj7kHbOq2K~ zqY2If9Yah+;sDUhJ=Pk?%UE(r@K!$nG~*dWu5pNwzo1ONrb`8=H=Md3rn+oJ%K z*(QSF3h#(w{llvS_|{M}v--&7TO&91z{$b=?Fw}0_r}=K&lFEMIhZflNS2;|m3An* z8rT+p9ba&PZm~!dTn)_Ya|zI;t?9e>uTgBfI+)qwQlRE3X#?5C1`P}zYqNHbwIa87 zo9pFw=O}$%uUa!4Cg{;B)Lkpk3@AWSI~txvnH(w-vyeIzsEciGhpTc&x=L{XLPCKq wevYca<{wK^Op)-&0k45c<1Ec>n+a07*qoM6N<$f&*$G3jhEB literal 0 HcmV?d00001 diff --git a/html/bdwn.png b/html/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..9760917c68cc453c0ea03d640dfdba5cdd7cc679 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZKu;IPkP61Pb1w=uDDXJT^F6db zY!RNQ*YXf1dd+#0OI%}Fa>kPvmVei^Cb_`)RX0O#^tauSS`H_6vGy_lPZ`L>b mh0lF2{T4N)=SaFnC1c}1=_NPUIGqC;&fw|l=d#Wzp$P!<>oDE` literal 0 HcmV?d00001 diff --git a/html/classes.html b/html/classes.html new file mode 100644 index 0000000..f7b02dd --- /dev/null +++ b/html/classes.html @@ -0,0 +1,116 @@ + + + + + + + +Solar panel: Class Index + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class Index
+
+ +
+ + + + diff --git a/html/closed.png b/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..02e107704b5d756dfe937990524e34ba5d428206 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@1EvmP~>pExY~8c z_8BXyx(f4!rF?xFG(r+8wE5=?F@(Ij&%Qv5`9{PHhESm`>)-r;t#bRpB4+0;VY@W; fylhaPl(3hRvrW> literal 0 HcmV?d00001 diff --git a/html/crc_8c.html b/html/crc_8c.html new file mode 100644 index 0000000..44e907d --- /dev/null +++ b/html/crc_8c.html @@ -0,0 +1,237 @@ + + + + + + + +Solar panel: crc.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
crc.c File Reference
+
+
+
#include "crc.h"
+
+

Go to the source code of this file.

+ + + + +

+Functions

uint16_t CRC16 (const uint8_t *msg, uint16_t length)
 
+ + + + + +

+Variables

const uint8_t auchCRCHi []
 
const uint8_t auchCRCLo []
 
+

Function Documentation

+ +

◆ CRC16()

+ +
+
+ + + + + + + + + + + + + + + + + + +
uint16_t CRC16 (const uint8_t * msg,
uint16_t length 
)
+
+

Compute the CRC using the MODBUS formulae

Parameters
+ + + +
msg: message to be sent
length: length of the message
+
+
+
Returns
the computed CRC value
+ +

Definition at line 48 of file crc.c.

+ +
+
+

Variable Documentation

+ +

◆ auchCRCHi

+ +
+
+ + + + +
const uint8_t auchCRCHi[]
+
+Initial value:
= {
+
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+
0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
+
0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
+
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,
+
0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
+
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
+
0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
+
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+
0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
+
0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+
0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
+
0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+
0x40
+
}
+

\source indirect : http://stackoverflow.com/questions/20878300/calculate-16-bit-crc-in-java-and-append-it-at-the-end-of-the-byte-array

+ +

Definition at line 7 of file crc.c.

+ +
+
+ +

◆ auchCRCLo

+ +
+
+ + + + +
const uint8_t auchCRCLo[]
+
+Initial value:
= {
+
0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,
+
0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
+
0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,
+
0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
+
0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,
+
0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
+
0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,
+
0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
+
0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,
+
0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
+
0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,
+
0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
+
0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,
+
0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
+
0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,
+
0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
+
0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,
+
0x40
+
}
+
+

Definition at line 27 of file crc.c.

+ +
+
+
+
+ + + + diff --git a/html/crc_8c.js b/html/crc_8c.js new file mode 100644 index 0000000..9143730 --- /dev/null +++ b/html/crc_8c.js @@ -0,0 +1,6 @@ +var crc_8c = +[ + [ "CRC16", "crc_8c.html#a0fb245e3321a13b9170f7a948ed08b51", null ], + [ "auchCRCHi", "crc_8c.html#a7362c72c8a4b1f27641c41b04d899e6b", null ], + [ "auchCRCLo", "crc_8c.html#a1f5449b8e6577d9b28f66b9453ccb2f3", null ] +]; \ No newline at end of file diff --git a/html/crc_8c_source.html b/html/crc_8c_source.html new file mode 100644 index 0000000..711e6e1 --- /dev/null +++ b/html/crc_8c_source.html @@ -0,0 +1,166 @@ + + + + + + + +Solar panel: crc.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
crc.c
+
+
+Go to the documentation of this file.
1
+
5#include "crc.h"
+
6
+
7const uint8_t auchCRCHi[] = {
+
8 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+
9 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+
10 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
+
11 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
+
12 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,
+
13 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
+
14 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
+
15 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
+
16 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+
17 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+
18 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
+
19 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+
20 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+
21 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+
22 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
+
23 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+
24 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+
25 0x40
+
26};
+
27const uint8_t auchCRCLo[] = {
+
28 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,
+
29 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
+
30 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,
+
31 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
+
32 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,
+
33 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
+
34 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,
+
35 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
+
36 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,
+
37 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
+
38 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,
+
39 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
+
40 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,
+
41 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
+
42 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,
+
43 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
+
44 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,
+
45 0x40
+
46};
+
47
+
48uint16_t CRC16(const uint8_t *msg, uint16_t length)
+
49{
+
50 uint8_t uchCRCHi = 0xFF; /* high byte of CRC initialized */
+
51 uint8_t uchCRCLo = 0xFF; /* low byte of CRC initialized */
+
52 uint8_t uIndex; /* will index into CRC lookup table */
+
53
+
54 while (length--) /* pass through message buffer */ {
+
55 uIndex = uchCRCLo ^ *msg++; /* calculate the CRC */
+
56 uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex];
+
57 uchCRCHi = auchCRCLo[uIndex];
+
58 }
+
59 return (uchCRCHi << 8 | uchCRCLo);
+
60}
+
uint16_t CRC16(const uint8_t *msg, uint16_t length)
Definition: crc.c:48
+
const uint8_t auchCRCLo[]
Definition: crc.c:27
+
const uint8_t auchCRCHi[]
Definition: crc.c:7
+
CRC calculation for Modbus.
+
+
+ + + + diff --git a/html/crc_8h.html b/html/crc_8h.html new file mode 100644 index 0000000..093d786 --- /dev/null +++ b/html/crc_8h.html @@ -0,0 +1,162 @@ + + + + + + + +Solar panel: crc.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
crc.h File Reference
+
+
+ +

CRC calculation for Modbus. +More...

+
#include <stdint.h>
+
+

Go to the source code of this file.

+ + + + +

+Functions

uint16_t CRC16 (const uint8_t *msg, uint16_t length)
 
+

Detailed Description

+

CRC calculation for Modbus.

+ +

Definition in file crc.h.

+

Function Documentation

+ +

◆ CRC16()

+ +
+
+ + + + + + + + + + + + + + + + + + +
uint16_t CRC16 (const uint8_t * msg,
uint16_t length 
)
+
+

Compute the CRC using the MODBUS formulae

Parameters
+ + + +
msg: message to be sent
length: length of the message
+
+
+
Returns
the computed CRC value
+ +

Definition at line 48 of file crc.c.

+ +
+
+
+
+ + + + diff --git a/html/crc_8h.js b/html/crc_8h.js new file mode 100644 index 0000000..9f34953 --- /dev/null +++ b/html/crc_8h.js @@ -0,0 +1,4 @@ +var crc_8h = +[ + [ "CRC16", "crc_8h.html#a0fb245e3321a13b9170f7a948ed08b51", null ] +]; \ No newline at end of file diff --git a/html/crc_8h_source.html b/html/crc_8h_source.html new file mode 100644 index 0000000..8bd6d75 --- /dev/null +++ b/html/crc_8h_source.html @@ -0,0 +1,115 @@ + + + + + + + +Solar panel: crc.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
crc.h
+
+
+Go to the documentation of this file.
1/************************************************************************/
+
6#ifndef CRC_H
+
7#define CRC_H
+
8
+
9#include <stdint.h>
+
10
+
17uint16_t CRC16(const uint8_t *msg, uint16_t length);
+
18
+
19#endif /* CRC_H */
+
uint16_t CRC16(const uint8_t *msg, uint16_t length)
Definition: crc.c:48
+
+
+ + + + diff --git a/html/debug_2crc_8p1_8d.html b/html/debug_2crc_8p1_8d.html new file mode 100644 index 0000000..1c16dc2 --- /dev/null +++ b/html/debug_2crc_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/crc.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
crc.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2crc_8p1_8d_source.html b/html/debug_2crc_8p1_8d_source.html new file mode 100644 index 0000000..082eddc --- /dev/null +++ b/html/debug_2crc_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/debug/crc.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
crc.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/crc.p1: \
+
2crc.c \
+
3crc.h
+
+
+ + + + diff --git a/html/debug_2doprnt_8d.html b/html/debug_2doprnt_8d.html new file mode 100644 index 0000000..710c07a --- /dev/null +++ b/html/debug_2doprnt_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: dist/default/debug/doprnt.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
doprnt.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2doprnt_8d_source.html b/html/debug_2doprnt_8d_source.html new file mode 100644 index 0000000..4b93901 --- /dev/null +++ b/html/debug_2doprnt_8d_source.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: dist/default/debug/doprnt.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
doprnt.d
+
+
+Go to the documentation of this file.
1dist/default/debug\doprnt.p1: \
+
2 C:\Program\ Files\Microchip\xc8\v2.40\pic\sources\c99\common\doprnt.c
+
+
+ + + + diff --git a/html/debug_2lcd_2lcd_8p1_8d.html b/html/debug_2lcd_2lcd_8p1_8d.html new file mode 100644 index 0000000..669a8db --- /dev/null +++ b/html/debug_2lcd_2lcd_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/lcd/lcd.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
lcd.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2lcd_2lcd_8p1_8d_source.html b/html/debug_2lcd_2lcd_8p1_8d_source.html new file mode 100644 index 0000000..4fe2eac --- /dev/null +++ b/html/debug_2lcd_2lcd_8p1_8d_source.html @@ -0,0 +1,109 @@ + + + + + + + +Solar panel: build/default/debug/lcd/lcd.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
lcd.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/lcd/lcd.p1: \
+
2lcd/lcd.c \
+
3lcd/lcd.h \
+
4lcd/ssd1963_cmd.h
+
+
+ + + + diff --git a/html/debug_2main_8p1_8d.html b/html/debug_2main_8p1_8d.html new file mode 100644 index 0000000..32eda80 --- /dev/null +++ b/html/debug_2main_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/main.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
main.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2main_8p1_8d_source.html b/html/debug_2main_8p1_8d_source.html new file mode 100644 index 0000000..73d94ca --- /dev/null +++ b/html/debug_2main_8p1_8d_source.html @@ -0,0 +1,120 @@ + + + + + + + +Solar panel: build/default/debug/main.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
main.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/main.p1: \
+
2main.c \
+
3mcc_generated_files/mcc.h \
+
4mcc_generated_files/device_config.h \
+
5mcc_generated_files/pin_manager.h \
+
6mcc_generated_files/interrupt_manager.h \
+
7mcc_generated_files/epwm1.h \
+
8mcc_generated_files/tmr2.h \
+
9mcc_generated_files/adc.h \
+
10mcc_generated_files/tmr0.h \
+
11mcc_generated_files/eusart1.h \
+
12lcd/lcd.h \
+
13measure.h \
+
14modbus.h
+
void main(void)
Definition: main.c:18
+
+
+ + + + diff --git a/html/debug_2mcc__generated__files_2adc_8p1_8d.html b/html/debug_2mcc__generated__files_2adc_8p1_8d.html new file mode 100644 index 0000000..2f479c3 --- /dev/null +++ b/html/debug_2mcc__generated__files_2adc_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/adc.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
adc.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2mcc__generated__files_2adc_8p1_8d_source.html b/html/debug_2mcc__generated__files_2adc_8p1_8d_source.html new file mode 100644 index 0000000..9adea0c --- /dev/null +++ b/html/debug_2mcc__generated__files_2adc_8p1_8d_source.html @@ -0,0 +1,109 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/adc.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
adc.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/mcc_generated_files/adc.p1: \
+
2mcc_generated_files/adc.c \
+
3mcc_generated_files/adc.h \
+
4mcc_generated_files/device_config.h
+
+
+ + + + diff --git a/html/debug_2mcc__generated__files_2device__config_8p1_8d.html b/html/debug_2mcc__generated__files_2device__config_8p1_8d.html new file mode 100644 index 0000000..a698616 --- /dev/null +++ b/html/debug_2mcc__generated__files_2device__config_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/device_config.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
device_config.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2mcc__generated__files_2device__config_8p1_8d_source.html b/html/debug_2mcc__generated__files_2device__config_8p1_8d_source.html new file mode 100644 index 0000000..b1cbee4 --- /dev/null +++ b/html/debug_2mcc__generated__files_2device__config_8p1_8d_source.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/device_config.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
device_config.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/mcc_generated_files/device_config.p1: \
+
2mcc_generated_files/device_config.c
+
+
+ + + + diff --git a/html/debug_2mcc__generated__files_2epwm1_8p1_8d.html b/html/debug_2mcc__generated__files_2epwm1_8p1_8d.html new file mode 100644 index 0000000..fee1d2c --- /dev/null +++ b/html/debug_2mcc__generated__files_2epwm1_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/epwm1.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
epwm1.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2mcc__generated__files_2epwm1_8p1_8d_source.html b/html/debug_2mcc__generated__files_2epwm1_8p1_8d_source.html new file mode 100644 index 0000000..302b7a5 --- /dev/null +++ b/html/debug_2mcc__generated__files_2epwm1_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/epwm1.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
epwm1.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/mcc_generated_files/epwm1.p1: \
+
2mcc_generated_files/epwm1.c \
+
3mcc_generated_files/epwm1.h
+
+
+ + + + diff --git a/html/debug_2mcc__generated__files_2eusart1_8p1_8d.html b/html/debug_2mcc__generated__files_2eusart1_8p1_8d.html new file mode 100644 index 0000000..705b6b3 --- /dev/null +++ b/html/debug_2mcc__generated__files_2eusart1_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/eusart1.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
eusart1.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2mcc__generated__files_2eusart1_8p1_8d_source.html b/html/debug_2mcc__generated__files_2eusart1_8p1_8d_source.html new file mode 100644 index 0000000..b2d54cd --- /dev/null +++ b/html/debug_2mcc__generated__files_2eusart1_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/eusart1.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
eusart1.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/mcc_generated_files/eusart1.p1: \
+
2mcc_generated_files/eusart1.c \
+
3mcc_generated_files/eusart1.h
+
+
+ + + + diff --git a/html/debug_2mcc__generated__files_2interrupt__manager_8p1_8d.html b/html/debug_2mcc__generated__files_2interrupt__manager_8p1_8d.html new file mode 100644 index 0000000..4337c3a --- /dev/null +++ b/html/debug_2mcc__generated__files_2interrupt__manager_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/interrupt_manager.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
interrupt_manager.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2mcc__generated__files_2interrupt__manager_8p1_8d_source.html b/html/debug_2mcc__generated__files_2interrupt__manager_8p1_8d_source.html new file mode 100644 index 0000000..7d1ff3b --- /dev/null +++ b/html/debug_2mcc__generated__files_2interrupt__manager_8p1_8d_source.html @@ -0,0 +1,116 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/interrupt_manager.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
interrupt_manager.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/mcc_generated_files/interrupt_manager.p1: \
+
2mcc_generated_files/interrupt_manager.c \
+
3mcc_generated_files/interrupt_manager.h \
+
4mcc_generated_files/mcc.h \
+
5mcc_generated_files/device_config.h \
+
6mcc_generated_files/pin_manager.h \
+
7mcc_generated_files/epwm1.h \
+
8mcc_generated_files/tmr2.h \
+
9mcc_generated_files/adc.h \
+
10mcc_generated_files/tmr0.h \
+
11mcc_generated_files/eusart1.h
+
+
+ + + + diff --git a/html/debug_2mcc__generated__files_2mcc_8p1_8d.html b/html/debug_2mcc__generated__files_2mcc_8p1_8d.html new file mode 100644 index 0000000..a9678a0 --- /dev/null +++ b/html/debug_2mcc__generated__files_2mcc_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/mcc.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
mcc.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2mcc__generated__files_2mcc_8p1_8d_source.html b/html/debug_2mcc__generated__files_2mcc_8p1_8d_source.html new file mode 100644 index 0000000..fa1fa99 --- /dev/null +++ b/html/debug_2mcc__generated__files_2mcc_8p1_8d_source.html @@ -0,0 +1,116 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/mcc.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
mcc.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/mcc_generated_files/mcc.p1: \
+
2mcc_generated_files/mcc.c \
+
3mcc_generated_files/mcc.h \
+
4mcc_generated_files/device_config.h \
+
5mcc_generated_files/pin_manager.h \
+
6mcc_generated_files/interrupt_manager.h \
+
7mcc_generated_files/epwm1.h \
+
8mcc_generated_files/tmr2.h \
+
9mcc_generated_files/adc.h \
+
10mcc_generated_files/tmr0.h \
+
11mcc_generated_files/eusart1.h
+
+
+ + + + diff --git a/html/debug_2mcc__generated__files_2pin__manager_8p1_8d.html b/html/debug_2mcc__generated__files_2pin__manager_8p1_8d.html new file mode 100644 index 0000000..dce2494 --- /dev/null +++ b/html/debug_2mcc__generated__files_2pin__manager_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/pin_manager.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
pin_manager.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2mcc__generated__files_2pin__manager_8p1_8d_source.html b/html/debug_2mcc__generated__files_2pin__manager_8p1_8d_source.html new file mode 100644 index 0000000..accea28 --- /dev/null +++ b/html/debug_2mcc__generated__files_2pin__manager_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/pin_manager.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
pin_manager.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/mcc_generated_files/pin_manager.p1: \
+
2mcc_generated_files/pin_manager.c \
+
3mcc_generated_files/pin_manager.h
+
+
+ + + + diff --git a/html/debug_2mcc__generated__files_2tmr0_8p1_8d.html b/html/debug_2mcc__generated__files_2tmr0_8p1_8d.html new file mode 100644 index 0000000..2675a2f --- /dev/null +++ b/html/debug_2mcc__generated__files_2tmr0_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/tmr0.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
tmr0.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2mcc__generated__files_2tmr0_8p1_8d_source.html b/html/debug_2mcc__generated__files_2tmr0_8p1_8d_source.html new file mode 100644 index 0000000..0bf3f37 --- /dev/null +++ b/html/debug_2mcc__generated__files_2tmr0_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/tmr0.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
tmr0.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/mcc_generated_files/tmr0.p1: \
+
2mcc_generated_files/tmr0.c \
+
3mcc_generated_files/tmr0.h
+
+
+ + + + diff --git a/html/debug_2mcc__generated__files_2tmr2_8p1_8d.html b/html/debug_2mcc__generated__files_2tmr2_8p1_8d.html new file mode 100644 index 0000000..dbf529d --- /dev/null +++ b/html/debug_2mcc__generated__files_2tmr2_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/tmr2.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
tmr2.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2mcc__generated__files_2tmr2_8p1_8d_source.html b/html/debug_2mcc__generated__files_2tmr2_8p1_8d_source.html new file mode 100644 index 0000000..6879a6b --- /dev/null +++ b/html/debug_2mcc__generated__files_2tmr2_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files/tmr2.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
tmr2.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/mcc_generated_files/tmr2.p1: \
+
2mcc_generated_files/tmr2.c \
+
3mcc_generated_files/tmr2.h
+
+
+ + + + diff --git a/html/debug_2measure_8p1_8d.html b/html/debug_2measure_8p1_8d.html new file mode 100644 index 0000000..19093b3 --- /dev/null +++ b/html/debug_2measure_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/measure.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
measure.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2measure_8p1_8d_source.html b/html/debug_2measure_8p1_8d_source.html new file mode 100644 index 0000000..a12f47e --- /dev/null +++ b/html/debug_2measure_8p1_8d_source.html @@ -0,0 +1,117 @@ + + + + + + + +Solar panel: build/default/debug/measure.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
measure.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/measure.p1: \
+
2measure.c \
+
3measure.h \
+
4mcc_generated_files/mcc.h \
+
5mcc_generated_files/device_config.h \
+
6mcc_generated_files/pin_manager.h \
+
7mcc_generated_files/interrupt_manager.h \
+
8mcc_generated_files/epwm1.h \
+
9mcc_generated_files/tmr2.h \
+
10mcc_generated_files/adc.h \
+
11mcc_generated_files/tmr0.h \
+
12mcc_generated_files/eusart1.h
+
+
+ + + + diff --git a/html/debug_2modbus_8p1_8d.html b/html/debug_2modbus_8p1_8d.html new file mode 100644 index 0000000..82d8b0a --- /dev/null +++ b/html/debug_2modbus_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/debug/modbus.p1.d File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
modbus.p1.d File Reference
+
+ +
+ + + + diff --git a/html/debug_2modbus_8p1_8d_source.html b/html/debug_2modbus_8p1_8d_source.html new file mode 100644 index 0000000..3d7cf6d --- /dev/null +++ b/html/debug_2modbus_8p1_8d_source.html @@ -0,0 +1,119 @@ + + + + + + + +Solar panel: build/default/debug/modbus.p1.d Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
modbus.p1.d
+
+
+Go to the documentation of this file.
1build/default/debug/modbus.p1: \
+
2modbus.c \
+
3modbus.h \
+
4crc.h \
+
5uart.h \
+
6mcc_generated_files/mcc.h \
+
7mcc_generated_files/device_config.h \
+
8mcc_generated_files/pin_manager.h \
+
9mcc_generated_files/interrupt_manager.h \
+
10mcc_generated_files/epwm1.h \
+
11mcc_generated_files/tmr2.h \
+
12mcc_generated_files/adc.h \
+
13mcc_generated_files/tmr0.h \
+
14mcc_generated_files/eusart1.h
+
+
+ + + + diff --git a/html/device__config_8c.html b/html/device__config_8c.html new file mode 100644 index 0000000..e7d5c9f --- /dev/null +++ b/html/device__config_8c.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: mcc_generated_files/device_config.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
device_config.c File Reference
+
+ +
+ + + + diff --git a/html/device__config_8c_source.html b/html/device__config_8c_source.html new file mode 100644 index 0000000..ec540fa --- /dev/null +++ b/html/device__config_8c_source.html @@ -0,0 +1,159 @@ + + + + + + + +Solar panel: mcc_generated_files/device_config.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
device_config.c
+
+
+Go to the documentation of this file.
1
+
24/*
+
25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
26
+
27 Subject to your compliance with these terms, you may use Microchip software and any
+
28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
29 license terms applicable to your use of third party software (including open source software) that
+
30 may accompany Microchip software.
+
31
+
32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
35 FOR A PARTICULAR PURPOSE.
+
36
+
37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
44 SOFTWARE.
+
45*/
+
46
+
47// Configuration bits: selected in the GUI
+
48
+
49// CONFIG1L
+
50#pragma config WDT = OFF // Watchdog Timer Enable bit->WDT disabled (control is placed on SWDTEN bit)
+
51#pragma config STVR = ON // Stack Overflow/Underflow Reset Enable bit->Reset on stack overflow/underflow enabled
+
52#pragma config XINST = OFF // Extended Instruction Set Enable bit->Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
+
53#pragma config DEBUG = OFF // Background Debugger Enable bit->Background debugger disabled; RB6 and RB7 configured as general purpose I/O pins
+
54
+
55// CONFIG1H
+
56#pragma config CP0 = OFF // Code Protection bit->Program memory is not code-protected
+
57
+
58// CONFIG2L
+
59#pragma config FOSC = HS // Oscillator Selection bits->HS oscillator
+
60#pragma config FOSC2 = ON // Default/Reset System Clock Select bit->Clock selected by FOSC1:FOSC0 as system clock is enabled when OSCCON<1:0> = 00
+
61#pragma config FCMEN = ON // Fail-Safe Clock Monitor Enable->Fail-Safe Clock Monitor enabled
+
62#pragma config IESO = ON // Two-Speed Start-up (Internal/External Oscillator Switchover) Control bit->Two-Speed Start-up enabled
+
63
+
64// CONFIG2H
+
65#pragma config WDTPS = 32768 // Watchdog Timer Postscaler Select bits->1:32768
+
66
+
67// CONFIG3L
+
68#pragma config EASHFT = ON // External Address Bus Shift Enable bit->Address shifting enabled; address on external bus is offset to start at 000000h
+
69#pragma config MODE = MM // External Memory Bus->Microcontroller mode, external bus disabled
+
70#pragma config BW = 16 // Data Bus Width Select bit->16-Bit Data Width mode
+
71#pragma config WAIT = OFF // External Bus Wait Enable bit->Wait states for operations on external memory bus disabled
+
72
+
73// CONFIG3H
+
74#pragma config CCP2MX = ON // ECCP2 MUX bit->ECCP2/P2A is multiplexed with RC1
+
75#pragma config ECCPMX = ON // ECCP MUX bit->ECCP1 outputs (P1B/P1C) are multiplexed with RE6 and RE5; ECCP3 outputs (P3B/P3C) are multiplexed with RE4 and RE3
+
76#pragma config ETHLED = ON // Ethernet LED Enable bit->RA0/RA1 are multiplexed with LEDA/LEDB when Ethernet module is enabled and function as I/O when Ethernet is disabled
+
+
+ + + + diff --git a/html/device__config_8h.html b/html/device__config_8h.html new file mode 100644 index 0000000..a1270cb --- /dev/null +++ b/html/device__config_8h.html @@ -0,0 +1,137 @@ + + + + + + + +Solar panel: mcc_generated_files/device_config.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
device_config.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Macros

#define _XTAL_FREQ   25000000
 
+

Macro Definition Documentation

+ +

◆ _XTAL_FREQ

+ +
+
+ + + + +
#define _XTAL_FREQ   25000000
+
+

@Generated PIC10 / PIC12 / PIC16 / PIC18 MCUs Header File

+

@Company: Microchip Technology Inc.

+

@File Name: mcc.c

+

@Summary: This is the device_config.h file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description: This header file provides implementations for driver APIs for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.00 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later MPLAB : MPLAB X 6.00

+ +

Definition at line 50 of file device_config.h.

+ +
+
+
+
+ + + + diff --git a/html/device__config_8h.js b/html/device__config_8h.js new file mode 100644 index 0000000..54b467b --- /dev/null +++ b/html/device__config_8h.js @@ -0,0 +1,4 @@ +var device__config_8h = +[ + [ "_XTAL_FREQ", "device__config_8h.html#a024148e99a7143db044a48216664d03d", null ] +]; \ No newline at end of file diff --git a/html/device__config_8h_source.html b/html/device__config_8h_source.html new file mode 100644 index 0000000..b8bc36c --- /dev/null +++ b/html/device__config_8h_source.html @@ -0,0 +1,135 @@ + + + + + + + +Solar panel: mcc_generated_files/device_config.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
device_config.h
+
+
+Go to the documentation of this file.
1
+
24/*
+
25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
26
+
27 Subject to your compliance with these terms, you may use Microchip software and any
+
28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
29 license terms applicable to your use of third party software (including open source software) that
+
30 may accompany Microchip software.
+
31
+
32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
35 FOR A PARTICULAR PURPOSE.
+
36
+
37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
44 SOFTWARE.
+
45*/
+
46
+
47#ifndef DEVICE_CONFIG_H
+
48#define DEVICE_CONFIG_H
+
49
+
50#define _XTAL_FREQ 25000000
+
51
+
52#endif /* DEVICE_CONFIG_H */
+
+
+ + + + diff --git a/html/dir_0ad8aa10ae8c15a00cc43e117933779f.html b/html/dir_0ad8aa10ae8c15a00cc43e117933779f.html new file mode 100644 index 0000000..c1163a6 --- /dev/null +++ b/html/dir_0ad8aa10ae8c15a00cc43e117933779f.html @@ -0,0 +1,145 @@ + + + + + + + +Solar panel: mcc_generated_files Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
mcc_generated_files Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  adc.c [code]
 
file  adc.h [code]
 
file  device_config.c [code]
 
file  device_config.h [code]
 
file  epwm1.c [code]
 
file  epwm1.h [code]
 
file  eusart1.c [code]
 
file  eusart1.h [code]
 
file  interrupt_manager.c [code]
 
file  interrupt_manager.h [code]
 
file  mcc.c [code]
 
file  mcc.h [code]
 
file  pin_manager.c [code]
 
file  pin_manager.h [code]
 
file  tmr0.c [code]
 
file  tmr0.h [code]
 
file  tmr2.c [code]
 
file  tmr2.h [code]
 
+
+
+ + + + diff --git a/html/dir_0ad8aa10ae8c15a00cc43e117933779f.js b/html/dir_0ad8aa10ae8c15a00cc43e117933779f.js new file mode 100644 index 0000000..eeb3033 --- /dev/null +++ b/html/dir_0ad8aa10ae8c15a00cc43e117933779f.js @@ -0,0 +1,21 @@ +var dir_0ad8aa10ae8c15a00cc43e117933779f = +[ + [ "adc.c", "adc_8c.html", "adc_8c" ], + [ "adc.h", "adc_8h.html", "adc_8h" ], + [ "device_config.c", "device__config_8c.html", null ], + [ "device_config.h", "device__config_8h.html", "device__config_8h" ], + [ "epwm1.c", "epwm1_8c.html", "epwm1_8c" ], + [ "epwm1.h", "epwm1_8h.html", "epwm1_8h" ], + [ "eusart1.c", "eusart1_8c.html", "eusart1_8c" ], + [ "eusart1.h", "eusart1_8h.html", "eusart1_8h" ], + [ "interrupt_manager.c", "interrupt__manager_8c.html", "interrupt__manager_8c" ], + [ "interrupt_manager.h", "interrupt__manager_8h.html", "interrupt__manager_8h" ], + [ "mcc.c", "mcc_8c.html", "mcc_8c" ], + [ "mcc.h", "mcc_8h.html", "mcc_8h" ], + [ "pin_manager.c", "pin__manager_8c.html", "pin__manager_8c" ], + [ "pin_manager.h", "pin__manager_8h.html", "pin__manager_8h" ], + [ "tmr0.c", "tmr0_8c.html", "tmr0_8c" ], + [ "tmr0.h", "tmr0_8h.html", "tmr0_8h" ], + [ "tmr2.c", "tmr2_8c.html", "tmr2_8c" ], + [ "tmr2.h", "tmr2_8h.html", "tmr2_8h" ] +]; \ No newline at end of file diff --git a/html/dir_0fb03716f94c12843ecb26ce98074137.html b/html/dir_0fb03716f94c12843ecb26ce98074137.html new file mode 100644 index 0000000..efb6c81 --- /dev/null +++ b/html/dir_0fb03716f94c12843ecb26ce98074137.html @@ -0,0 +1,127 @@ + + + + + + + +Solar panel: build/default/debug/mcc_generated_files Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
mcc_generated_files Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Files

file  adc.p1.d [code]
 
file  device_config.p1.d [code]
 
file  epwm1.p1.d [code]
 
file  eusart1.p1.d [code]
 
file  interrupt_manager.p1.d [code]
 
file  mcc.p1.d [code]
 
file  pin_manager.p1.d [code]
 
file  tmr0.p1.d [code]
 
file  tmr2.p1.d [code]
 
+
+
+ + + + diff --git a/html/dir_0fb03716f94c12843ecb26ce98074137.js b/html/dir_0fb03716f94c12843ecb26ce98074137.js new file mode 100644 index 0000000..58ff9de --- /dev/null +++ b/html/dir_0fb03716f94c12843ecb26ce98074137.js @@ -0,0 +1,12 @@ +var dir_0fb03716f94c12843ecb26ce98074137 = +[ + [ "adc.p1.d", "debug_2mcc__generated__files_2adc_8p1_8d.html", null ], + [ "device_config.p1.d", "debug_2mcc__generated__files_2device__config_8p1_8d.html", null ], + [ "epwm1.p1.d", "debug_2mcc__generated__files_2epwm1_8p1_8d.html", null ], + [ "eusart1.p1.d", "debug_2mcc__generated__files_2eusart1_8p1_8d.html", null ], + [ "interrupt_manager.p1.d", "debug_2mcc__generated__files_2interrupt__manager_8p1_8d.html", null ], + [ "mcc.p1.d", "debug_2mcc__generated__files_2mcc_8p1_8d.html", null ], + [ "pin_manager.p1.d", "debug_2mcc__generated__files_2pin__manager_8p1_8d.html", null ], + [ "tmr0.p1.d", "debug_2mcc__generated__files_2tmr0_8p1_8d.html", null ], + [ "tmr2.p1.d", "debug_2mcc__generated__files_2tmr2_8p1_8d.html", null ] +]; \ No newline at end of file diff --git a/html/dir_3599bb265aa7354e9690bbad03dadc8e.html b/html/dir_3599bb265aa7354e9690bbad03dadc8e.html new file mode 100644 index 0000000..ae55861 --- /dev/null +++ b/html/dir_3599bb265aa7354e9690bbad03dadc8e.html @@ -0,0 +1,113 @@ + + + + + + + +Solar panel: dist/default Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
default Directory Reference
+
+
+ + + + + + +

+Directories

directory  debug
 
directory  production
 
+
+
+ + + + diff --git a/html/dir_3599bb265aa7354e9690bbad03dadc8e.js b/html/dir_3599bb265aa7354e9690bbad03dadc8e.js new file mode 100644 index 0000000..e3a3aad --- /dev/null +++ b/html/dir_3599bb265aa7354e9690bbad03dadc8e.js @@ -0,0 +1,5 @@ +var dir_3599bb265aa7354e9690bbad03dadc8e = +[ + [ "debug", "dir_656c3fc66603871cb7211d4d37d6611d.html", "dir_656c3fc66603871cb7211d4d37d6611d" ], + [ "production", "dir_efde92471f44a6b10062d52851ddf1c8.html", "dir_efde92471f44a6b10062d52851ddf1c8" ] +]; \ No newline at end of file diff --git a/html/dir_3caa40b8b06107d1692d1682cae226a5.html b/html/dir_3caa40b8b06107d1692d1682cae226a5.html new file mode 100644 index 0000000..da7b208 --- /dev/null +++ b/html/dir_3caa40b8b06107d1692d1682cae226a5.html @@ -0,0 +1,113 @@ + + + + + + + +Solar panel: build/default Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
default Directory Reference
+
+
+ + + + + + +

+Directories

directory  debug
 
directory  production
 
+
+
+ + + + diff --git a/html/dir_3caa40b8b06107d1692d1682cae226a5.js b/html/dir_3caa40b8b06107d1692d1682cae226a5.js new file mode 100644 index 0000000..9aefe08 --- /dev/null +++ b/html/dir_3caa40b8b06107d1692d1682cae226a5.js @@ -0,0 +1,5 @@ +var dir_3caa40b8b06107d1692d1682cae226a5 = +[ + [ "debug", "dir_cbff1af7677f368a9b0328b1ff8ca25f.html", "dir_cbff1af7677f368a9b0328b1ff8ca25f" ], + [ "production", "dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.html", "dir_7e8dc67bb2ce0390d13f9572fe7ee1f2" ] +]; \ No newline at end of file diff --git a/html/dir_4fef79e7177ba769987a8da36c892c5f.html b/html/dir_4fef79e7177ba769987a8da36c892c5f.html new file mode 100644 index 0000000..52a2ab7 --- /dev/null +++ b/html/dir_4fef79e7177ba769987a8da36c892c5f.html @@ -0,0 +1,111 @@ + + + + + + + +Solar panel: build Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
build Directory Reference
+
+
+ + + + +

+Directories

directory  default
 
+
+
+ + + + diff --git a/html/dir_4fef79e7177ba769987a8da36c892c5f.js b/html/dir_4fef79e7177ba769987a8da36c892c5f.js new file mode 100644 index 0000000..1624b49 --- /dev/null +++ b/html/dir_4fef79e7177ba769987a8da36c892c5f.js @@ -0,0 +1,4 @@ +var dir_4fef79e7177ba769987a8da36c892c5f = +[ + [ "default", "dir_3caa40b8b06107d1692d1682cae226a5.html", "dir_3caa40b8b06107d1692d1682cae226a5" ] +]; \ No newline at end of file diff --git a/html/dir_656c3fc66603871cb7211d4d37d6611d.html b/html/dir_656c3fc66603871cb7211d4d37d6611d.html new file mode 100644 index 0000000..1ad349f --- /dev/null +++ b/html/dir_656c3fc66603871cb7211d4d37d6611d.html @@ -0,0 +1,111 @@ + + + + + + + +Solar panel: dist/default/debug Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
debug Directory Reference
+
+
+ + + + +

+Files

file  doprnt.d [code]
 
+
+
+ + + + diff --git a/html/dir_656c3fc66603871cb7211d4d37d6611d.js b/html/dir_656c3fc66603871cb7211d4d37d6611d.js new file mode 100644 index 0000000..90a491e --- /dev/null +++ b/html/dir_656c3fc66603871cb7211d4d37d6611d.js @@ -0,0 +1,4 @@ +var dir_656c3fc66603871cb7211d4d37d6611d = +[ + [ "doprnt.d", "debug_2doprnt_8d.html", null ] +]; \ No newline at end of file diff --git a/html/dir_7539740a674fe554df3e16c8629ce56f.html b/html/dir_7539740a674fe554df3e16c8629ce56f.html new file mode 100644 index 0000000..d416b0b --- /dev/null +++ b/html/dir_7539740a674fe554df3e16c8629ce56f.html @@ -0,0 +1,124 @@ + + + + + + + +Solar panel: lcd Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
lcd Directory Reference
+
+
+ + + + + + + + + + + + + + + + + +

+Files

file  arialRoundedMTBold18ptBitmaps.c [code]
 
file  ft5xx6.c [code]
 FT5xx6 Touch Controller Driver.
 
file  ft5xx6.h [code]
 FT5xx6 Touch Controller Driver.
 
file  lcd.c [code]
 
file  lcd.h [code]
 
file  ssd1963_cmd.h [code]
 SSD1963 Display Controller Commands.
 
+
+
+ + + + diff --git a/html/dir_7539740a674fe554df3e16c8629ce56f.js b/html/dir_7539740a674fe554df3e16c8629ce56f.js new file mode 100644 index 0000000..5c1f2e0 --- /dev/null +++ b/html/dir_7539740a674fe554df3e16c8629ce56f.js @@ -0,0 +1,9 @@ +var dir_7539740a674fe554df3e16c8629ce56f = +[ + [ "arialRoundedMTBold18ptBitmaps.c", "arial_rounded_m_t_bold18pt_bitmaps_8c.html", "arial_rounded_m_t_bold18pt_bitmaps_8c" ], + [ "ft5xx6.c", "ft5xx6_8c.html", "ft5xx6_8c" ], + [ "ft5xx6.h", "ft5xx6_8h.html", "ft5xx6_8h" ], + [ "lcd.c", "lcd_8c.html", "lcd_8c" ], + [ "lcd.h", "lcd_8h.html", "lcd_8h" ], + [ "ssd1963_cmd.h", "ssd1963__cmd_8h.html", "ssd1963__cmd_8h" ] +]; \ No newline at end of file diff --git a/html/dir_7d11db2609e8bdd1230b72b0f106f30e.html b/html/dir_7d11db2609e8bdd1230b72b0f106f30e.html new file mode 100644 index 0000000..878fd58 --- /dev/null +++ b/html/dir_7d11db2609e8bdd1230b72b0f106f30e.html @@ -0,0 +1,127 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
mcc_generated_files Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Files

file  adc.p1.d [code]
 
file  device_config.p1.d [code]
 
file  epwm1.p1.d [code]
 
file  eusart1.p1.d [code]
 
file  interrupt_manager.p1.d [code]
 
file  mcc.p1.d [code]
 
file  pin_manager.p1.d [code]
 
file  tmr0.p1.d [code]
 
file  tmr2.p1.d [code]
 
+
+
+ + + + diff --git a/html/dir_7d11db2609e8bdd1230b72b0f106f30e.js b/html/dir_7d11db2609e8bdd1230b72b0f106f30e.js new file mode 100644 index 0000000..099b548 --- /dev/null +++ b/html/dir_7d11db2609e8bdd1230b72b0f106f30e.js @@ -0,0 +1,12 @@ +var dir_7d11db2609e8bdd1230b72b0f106f30e = +[ + [ "adc.p1.d", "production_2mcc__generated__files_2adc_8p1_8d.html", null ], + [ "device_config.p1.d", "production_2mcc__generated__files_2device__config_8p1_8d.html", null ], + [ "epwm1.p1.d", "production_2mcc__generated__files_2epwm1_8p1_8d.html", null ], + [ "eusart1.p1.d", "production_2mcc__generated__files_2eusart1_8p1_8d.html", null ], + [ "interrupt_manager.p1.d", "production_2mcc__generated__files_2interrupt__manager_8p1_8d.html", null ], + [ "mcc.p1.d", "production_2mcc__generated__files_2mcc_8p1_8d.html", null ], + [ "pin_manager.p1.d", "production_2mcc__generated__files_2pin__manager_8p1_8d.html", null ], + [ "tmr0.p1.d", "production_2mcc__generated__files_2tmr0_8p1_8d.html", null ], + [ "tmr2.p1.d", "production_2mcc__generated__files_2tmr2_8p1_8d.html", null ] +]; \ No newline at end of file diff --git a/html/dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.html b/html/dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.html new file mode 100644 index 0000000..924e403 --- /dev/null +++ b/html/dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.html @@ -0,0 +1,124 @@ + + + + + + + +Solar panel: build/default/production Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
production Directory Reference
+
+
+ + + + + + +

+Directories

directory  lcd
 
directory  mcc_generated_files
 
+ + + + + + + + + +

+Files

file  crc.p1.d [code]
 
file  main.p1.d [code]
 
file  measure.p1.d [code]
 
file  modbus.p1.d [code]
 
+
+
+ + + + diff --git a/html/dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.js b/html/dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.js new file mode 100644 index 0000000..244ddaa --- /dev/null +++ b/html/dir_7e8dc67bb2ce0390d13f9572fe7ee1f2.js @@ -0,0 +1,9 @@ +var dir_7e8dc67bb2ce0390d13f9572fe7ee1f2 = +[ + [ "lcd", "dir_b8aefce5abc5d5fbadf00a64bbde7f35.html", "dir_b8aefce5abc5d5fbadf00a64bbde7f35" ], + [ "mcc_generated_files", "dir_7d11db2609e8bdd1230b72b0f106f30e.html", "dir_7d11db2609e8bdd1230b72b0f106f30e" ], + [ "crc.p1.d", "production_2crc_8p1_8d.html", null ], + [ "main.p1.d", "production_2main_8p1_8d.html", null ], + [ "measure.p1.d", "production_2measure_8p1_8d.html", null ], + [ "modbus.p1.d", "production_2modbus_8p1_8d.html", null ] +]; \ No newline at end of file diff --git a/html/dir_b8aefce5abc5d5fbadf00a64bbde7f35.html b/html/dir_b8aefce5abc5d5fbadf00a64bbde7f35.html new file mode 100644 index 0000000..f820b92 --- /dev/null +++ b/html/dir_b8aefce5abc5d5fbadf00a64bbde7f35.html @@ -0,0 +1,111 @@ + + + + + + + +Solar panel: build/default/production/lcd Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
lcd Directory Reference
+
+
+ + + + +

+Files

file  lcd.p1.d [code]
 
+
+
+ + + + diff --git a/html/dir_b8aefce5abc5d5fbadf00a64bbde7f35.js b/html/dir_b8aefce5abc5d5fbadf00a64bbde7f35.js new file mode 100644 index 0000000..0e57730 --- /dev/null +++ b/html/dir_b8aefce5abc5d5fbadf00a64bbde7f35.js @@ -0,0 +1,4 @@ +var dir_b8aefce5abc5d5fbadf00a64bbde7f35 = +[ + [ "lcd.p1.d", "production_2lcd_2lcd_8p1_8d.html", null ] +]; \ No newline at end of file diff --git a/html/dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1.html b/html/dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1.html new file mode 100644 index 0000000..35f7645 --- /dev/null +++ b/html/dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1.html @@ -0,0 +1,111 @@ + + + + + + + +Solar panel: dist Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
dist Directory Reference
+
+
+ + + + +

+Directories

directory  default
 
+
+
+ + + + diff --git a/html/dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1.js b/html/dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1.js new file mode 100644 index 0000000..8118b7c --- /dev/null +++ b/html/dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1.js @@ -0,0 +1,4 @@ +var dir_b94f9f0c034b39d5d6d39e3a6fbfd3e1 = +[ + [ "default", "dir_3599bb265aa7354e9690bbad03dadc8e.html", "dir_3599bb265aa7354e9690bbad03dadc8e" ] +]; \ No newline at end of file diff --git a/html/dir_cbff1af7677f368a9b0328b1ff8ca25f.html b/html/dir_cbff1af7677f368a9b0328b1ff8ca25f.html new file mode 100644 index 0000000..97bc357 --- /dev/null +++ b/html/dir_cbff1af7677f368a9b0328b1ff8ca25f.html @@ -0,0 +1,124 @@ + + + + + + + +Solar panel: build/default/debug Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
debug Directory Reference
+
+
+ + + + + + +

+Directories

directory  lcd
 
directory  mcc_generated_files
 
+ + + + + + + + + +

+Files

file  crc.p1.d [code]
 
file  main.p1.d [code]
 
file  measure.p1.d [code]
 
file  modbus.p1.d [code]
 
+
+
+ + + + diff --git a/html/dir_cbff1af7677f368a9b0328b1ff8ca25f.js b/html/dir_cbff1af7677f368a9b0328b1ff8ca25f.js new file mode 100644 index 0000000..0e0ecf3 --- /dev/null +++ b/html/dir_cbff1af7677f368a9b0328b1ff8ca25f.js @@ -0,0 +1,9 @@ +var dir_cbff1af7677f368a9b0328b1ff8ca25f = +[ + [ "lcd", "dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.html", "dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c" ], + [ "mcc_generated_files", "dir_0fb03716f94c12843ecb26ce98074137.html", "dir_0fb03716f94c12843ecb26ce98074137" ], + [ "crc.p1.d", "debug_2crc_8p1_8d.html", null ], + [ "main.p1.d", "debug_2main_8p1_8d.html", null ], + [ "measure.p1.d", "debug_2measure_8p1_8d.html", null ], + [ "modbus.p1.d", "debug_2modbus_8p1_8d.html", null ] +]; \ No newline at end of file diff --git a/html/dir_efde92471f44a6b10062d52851ddf1c8.html b/html/dir_efde92471f44a6b10062d52851ddf1c8.html new file mode 100644 index 0000000..48eea60 --- /dev/null +++ b/html/dir_efde92471f44a6b10062d52851ddf1c8.html @@ -0,0 +1,111 @@ + + + + + + + +Solar panel: dist/default/production Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
production Directory Reference
+
+
+ + + + +

+Files

file  doprnt.d [code]
 
+
+
+ + + + diff --git a/html/dir_efde92471f44a6b10062d52851ddf1c8.js b/html/dir_efde92471f44a6b10062d52851ddf1c8.js new file mode 100644 index 0000000..9ba4aeb --- /dev/null +++ b/html/dir_efde92471f44a6b10062d52851ddf1c8.js @@ -0,0 +1,4 @@ +var dir_efde92471f44a6b10062d52851ddf1c8 = +[ + [ "doprnt.d", "production_2doprnt_8d.html", null ] +]; \ No newline at end of file diff --git a/html/dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.html b/html/dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.html new file mode 100644 index 0000000..95f1ac3 --- /dev/null +++ b/html/dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.html @@ -0,0 +1,111 @@ + + + + + + + +Solar panel: build/default/debug/lcd Directory Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
lcd Directory Reference
+
+
+ + + + +

+Files

file  lcd.p1.d [code]
 
+
+
+ + + + diff --git a/html/dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.js b/html/dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.js new file mode 100644 index 0000000..4981fdb --- /dev/null +++ b/html/dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c.js @@ -0,0 +1,4 @@ +var dir_f16e1bcead4d7a8e9b40f6ffbaf4e12c = +[ + [ "lcd.p1.d", "debug_2lcd_2lcd_8p1_8d.html", null ] +]; \ No newline at end of file diff --git a/html/doc.png b/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..95f99c152018f6497b3444421fcfae1f0776c3d3 GIT binary patch literal 744 zcmVP)O=>mOR#DSJYrh1c78Ls@h@iM~Big075a}wqbs=uMbmv0rrn(SR z1aVgc5fMcxqHVQSt4*CGP2#<8Y_aW3H`0ZRVGffak9*!d=iE12t6r}IY#9OoTZt_v z2m!3ez1dRTsnuCrcI9)bb*4)-W=d6B!T}PY06QW9x)UJ=Qnm%)hhU*l09b?D(@vo? z9->)_WdzBPMamA4lEPEJYV2wZ(wnroGwsk2unO(b;1vKbcuEuwSV&C+T@VdghODK* z-Svwf6?&2(j^`qb&p15!TJ}wfuLnvJw1h~>1fq!PMoA_YmdzR^IlZ%y`?Dop{rsaR z@b~RYpvp=;k-+_J3rS2m$;eBWbaCwIJUx%*xcYjLxpIv+MVAy|3RvMYMyr z#i}Wu6}AsfjcxMO|2o8@R%vUy;Qdln>9vwLV9o6-k?u%B!)QKk%+w@Z&d0dcmE>%D)DRA&+%EF55K9te zfc5b0Kog|b*whja=gJH=**ssUn7B^L^HghuTqMYFa~R#cAHk-RtX*8%ALGV>1Q++k zxOp&b-d_$kb8dH(At6nR={ZdTfCqd#5Qz;Qd?|BR25P=iJD9PV{JznHGi{Bs z(*MZcJVmlG)%?16aAB{v2ik?M1@M9=!LodWw78K(cknd@qUK!>dU3xoGNlk?kKM)7eMvH=4L~yh0000ZT+-b42f9aIO~ zaEgaeC`8Zx19S%cgq!LKxMa#j5A8c@QQxissummary { + list-style-type: none; +} + +details > summary::-webkit-details-marker { + display: none; +} + +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; +} + +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; +} + +body { + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); +} + +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); +} + diff --git a/html/doxygen.svg b/html/doxygen.svg new file mode 100644 index 0000000..eb9c879 --- /dev/null +++ b/html/doxygen.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/html/dynsections.js b/html/dynsections.js new file mode 100644 index 0000000..1f4cd14 --- /dev/null +++ b/html/dynsections.js @@ -0,0 +1,130 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); + $('table.directory tr'). + removeClass('odd').filter(':visible:odd').addClass('odd'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +Solar panel: mcc_generated_files/epwm1.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
epwm1.c File Reference
+
+
+
#include <xc.h>
+#include "epwm1.h"
+
+

Go to the source code of this file.

+ + + + +

+Macros

#define PWM1_INITIALIZE_DUTY_VALUE   511
 
+ + + + + +

+Functions

void EPWM1_Initialize (void)
 
void EPWM1_LoadDutyValue (uint16_t dutyValue)
 
+

Macro Definition Documentation

+ +

◆ PWM1_INITIALIZE_DUTY_VALUE

+ +
+
+ + + + +
#define PWM1_INITIALIZE_DUTY_VALUE   511
+
+

EPWM1 Generated Driver File

+

@Company Microchip Technology Inc.

+

@File Name epwm1.c

+

@Summary This is the generated driver implementation file for the EPWM1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description This source file provides implementations for driver APIs for EPWM1. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.01 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: Macro Declarations

+ +

Definition at line 58 of file epwm1.c.

+ +
+
+

Function Documentation

+ +

◆ EPWM1_Initialize()

+ +
+
+ + + + + + + + +
void EPWM1_Initialize (void )
+
+

Section: EPWM Module APIs

+ +

Definition at line 64 of file epwm1.c.

+ +
+
+ +

◆ EPWM1_LoadDutyValue()

+ +
+
+ + + + + + + + +
void EPWM1_LoadDutyValue (uint16_t dutyValue)
+
+

@Summary Loads 16-bit duty cycle.

+

@Description This routine loads the 16 bit duty cycle value.

+

@Preconditions EPWM1_Initialize() function should have been called before calling this function.

+

@Param Pass 16bit duty cycle value.

+

@Returns None

+

@Example uint16_t dutycycle;

+

EPWM1_Initialize(); EPWM1_LoadDutyValue(dutycycle);

+ +

Definition at line 85 of file epwm1.c.

+ +
+
+
+
+ + + + diff --git a/html/epwm1_8c.js b/html/epwm1_8c.js new file mode 100644 index 0000000..736ab5b --- /dev/null +++ b/html/epwm1_8c.js @@ -0,0 +1,6 @@ +var epwm1_8c = +[ + [ "PWM1_INITIALIZE_DUTY_VALUE", "epwm1_8c.html#a826e981181cbd3e99fa4f7d7072f84c9", null ], + [ "EPWM1_Initialize", "epwm1_8c.html#a0087e70977fcfb3d715ab9fec17a6a8d", null ], + [ "EPWM1_LoadDutyValue", "epwm1_8c.html#acb3f0021b8789111ae243d1cd4c5942c", null ] +]; \ No newline at end of file diff --git a/html/epwm1_8c_source.html b/html/epwm1_8c_source.html new file mode 100644 index 0000000..9da7648 --- /dev/null +++ b/html/epwm1_8c_source.html @@ -0,0 +1,166 @@ + + + + + + + +Solar panel: mcc_generated_files/epwm1.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
epwm1.c
+
+
+Go to the documentation of this file.
1
+
24/*
+
25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
26
+
27 Subject to your compliance with these terms, you may use Microchip software and any
+
28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
29 license terms applicable to your use of third party software (including open source software) that
+
30 may accompany Microchip software.
+
31
+
32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
35 FOR A PARTICULAR PURPOSE.
+
36
+
37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
44 SOFTWARE.
+
45*/
+
46
+
51#include <xc.h>
+
52#include "epwm1.h"
+
53
+
58#define PWM1_INITIALIZE_DUTY_VALUE 511
+
59
+ +
65{
+
66 // Set the EPWM1 to the options selected in the User Interface
+
67
+
68 // CCP1M P1A,P1C: active high; P1B,P1D: active high; DC1B 3; P1M single;
+
69 CCP1CON = 0x3C;
+
70
+
71 // ECCPASE operating; PSSBD P1BP1D_0; PSSAC P1AP1C_0; ECCPAS disabled;
+
72 ECCP1AS = 0x00;
+
73
+
74 // P1RSEN automatic_restart; P1DC0 0;
+
75 ECCP1DEL = 0x80;
+
76
+
77 // CCPR1H 0;
+
78 CCPR1H = 0x00;
+
79
+
80 // CCPR1L 127;
+
81 CCPR1L = 0x7F;
+
82
+
83}
+
84
+
85void EPWM1_LoadDutyValue(uint16_t dutyValue)
+
86{
+
87 // Writing to 8 MSBs of pwm duty cycle in CCPRL register
+
88 CCPR1L = ((dutyValue & 0x03FC)>>2);
+
89
+
90 // Writing to 2 LSBs of pwm duty cycle in CCPCON register
+
91 CCP1CON = ((uint8_t)(CCP1CON & 0xCF) | ((dutyValue & 0x0003)<<4));
+
92}
+
void EPWM1_Initialize(void)
Definition: epwm1.c:64
+
void EPWM1_LoadDutyValue(uint16_t dutyValue)
Definition: epwm1.c:85
+ +
+
+ + + + diff --git a/html/epwm1_8h.html b/html/epwm1_8h.html new file mode 100644 index 0000000..8f63117 --- /dev/null +++ b/html/epwm1_8h.html @@ -0,0 +1,180 @@ + + + + + + + +Solar panel: mcc_generated_files/epwm1.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
epwm1.h File Reference
+
+
+
#include <xc.h>
+#include <stdint.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Functions

void EPWM1_Initialize (void)
 
void EPWM1_LoadDutyValue (uint16_t dutyValue)
 
+

Function Documentation

+ +

◆ EPWM1_Initialize()

+ +
+
+ + + + + + + + +
void EPWM1_Initialize (void )
+
+

EPWM1 Generated Driver File

+

@Company Microchip Technology Inc.

+

@File Name epwm1.h

+

@Summary This is the generated driver implementation file for the EPWM1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description This header file provides implementations for driver APIs for EPWM1. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.01 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: EPWM Module APIs @Summary Initializes the EPWM1

+

@Description This routine initializes the EPWM1 module. This routine must be called before any other EPWM1 routine is called. This routine should only be called once during system initialization.

+

@Preconditions None

+

@Param None

+

@Returns None

+

@Comment

+

@Example uint16_t dutycycle;

+

ECCP1_Initialize(); EPWM1_LoadDutyValue(dutycycle);

+

Section: EPWM Module APIs

+ +

Definition at line 64 of file epwm1.c.

+ +
+
+ +

◆ EPWM1_LoadDutyValue()

+ +
+
+ + + + + + + + +
void EPWM1_LoadDutyValue (uint16_t dutyValue)
+
+

@Summary Loads 16-bit duty cycle.

+

@Description This routine loads the 16 bit duty cycle value.

+

@Preconditions EPWM1_Initialize() function should have been called before calling this function.

+

@Param Pass 16bit duty cycle value.

+

@Returns None

+

@Example uint16_t dutycycle;

+

EPWM1_Initialize(); EPWM1_LoadDutyValue(dutycycle);

+ +

Definition at line 85 of file epwm1.c.

+ +
+
+
+
+ + + + diff --git a/html/epwm1_8h.js b/html/epwm1_8h.js new file mode 100644 index 0000000..cf4b5ae --- /dev/null +++ b/html/epwm1_8h.js @@ -0,0 +1,5 @@ +var epwm1_8h = +[ + [ "EPWM1_Initialize", "epwm1_8h.html#a0087e70977fcfb3d715ab9fec17a6a8d", null ], + [ "EPWM1_LoadDutyValue", "epwm1_8h.html#acb3f0021b8789111ae243d1cd4c5942c", null ] +]; \ No newline at end of file diff --git a/html/epwm1_8h_source.html b/html/epwm1_8h_source.html new file mode 100644 index 0000000..17c303a --- /dev/null +++ b/html/epwm1_8h_source.html @@ -0,0 +1,154 @@ + + + + + + + +Solar panel: mcc_generated_files/epwm1.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
epwm1.h
+
+
+Go to the documentation of this file.
1
+
24/*
+
25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
26
+
27 Subject to your compliance with these terms, you may use Microchip software and any
+
28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
29 license terms applicable to your use of third party software (including open source software) that
+
30 may accompany Microchip software.
+
31
+
32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
35 FOR A PARTICULAR PURPOSE.
+
36
+
37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
44 SOFTWARE.
+
45*/
+
46
+
47#ifndef EPWM1_H
+
48#define EPWM1_H
+
49
+
54#include <xc.h>
+
55#include <stdint.h>
+
56
+
57#ifdef __cplusplus // Provide C++ Compatibility
+
58
+
59 extern "C" {
+
60
+
61#endif
+
62
+
96void EPWM1_Initialize(void);
+
97
+
122void EPWM1_LoadDutyValue(uint16_t dutyValue);
+
123
+
124#ifdef __cplusplus // Provide C++ Compatibility
+
125
+
126 }
+
127
+
128#endif
+
129
+
130#endif //EPWM1_H
+
void EPWM1_Initialize(void)
Definition: epwm1.c:64
+
void EPWM1_LoadDutyValue(uint16_t dutyValue)
Definition: epwm1.c:85
+
+
+ + + + diff --git a/html/eusart1_8c.html b/html/eusart1_8c.html new file mode 100644 index 0000000..f10a31b --- /dev/null +++ b/html/eusart1_8c.html @@ -0,0 +1,795 @@ + + + + + + + +Solar panel: mcc_generated_files/eusart1.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
eusart1.c File Reference
+
+
+
#include "eusart1.h"
+
+

Go to the source code of this file.

+ + + + + + +

+Macros

#define EUSART1_TX_BUFFER_SIZE   8
 
#define EUSART1_RX_BUFFER_SIZE   8
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void EUSART1_DefaultFramingErrorHandler (void)
 
void EUSART1_DefaultOverrunErrorHandler (void)
 
void EUSART1_DefaultErrorHandler (void)
 
void EUSART1_Initialize (void)
 
bool EUSART1_is_tx_ready (void)
 
bool EUSART1_is_rx_ready (void)
 
bool EUSART1_is_tx_done (void)
 
eusart1_status_t EUSART1_get_last_status (void)
 
uint8_t EUSART1_Read (void)
 
void EUSART1_Write (uint8_t txData)
 
void EUSART1_Receive_ISR (void)
 
void EUSART1_RxDataHandler (void)
 
void EUSART1_SetFramingErrorHandler (void(*interruptHandler)(void))
 
void EUSART1_SetOverrunErrorHandler (void(*interruptHandler)(void))
 
void EUSART1_SetErrorHandler (void(*interruptHandler)(void))
 
void EUSART1_SetRxInterruptHandler (void(*interruptHandler)(void))
 
+ + + + + + + + + + + + + + + + + + + + + +

+Variables

volatile uint8_t eusart1RxHead = 0
 
volatile uint8_t eusart1RxTail = 0
 
volatile uint8_t eusart1RxBuffer [EUSART1_RX_BUFFER_SIZE]
 
volatile eusart1_status_t eusart1RxStatusBuffer [EUSART1_RX_BUFFER_SIZE]
 
volatile uint8_t eusart1RxCount
 
volatile eusart1_status_t eusart1RxLastError
 
void(* EUSART1_RxDefaultInterruptHandler )(void)
 
void(* EUSART1_FramingErrorHandler )(void)
 
void(* EUSART1_OverrunErrorHandler )(void)
 
void(* EUSART1_ErrorHandler )(void)
 
+

Macro Definition Documentation

+ +

◆ EUSART1_RX_BUFFER_SIZE

+ +
+
+ + + + +
#define EUSART1_RX_BUFFER_SIZE   8
+
+ +

Definition at line 57 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_TX_BUFFER_SIZE

+ +
+
+ + + + +
#define EUSART1_TX_BUFFER_SIZE   8
+
+

EUSART1 Generated Driver File

+

@Company Microchip Technology Inc.

+

@File Name eusart1.c

+

@Summary This is the generated driver implementation file for the EUSART1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description This source file provides APIs for EUSART1. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.1.1 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: Macro Declarations

+ +

Definition at line 56 of file eusart1.c.

+ +
+
+

Function Documentation

+ +

◆ EUSART1_DefaultErrorHandler()

+ +
+
+ + + + + + + + +
void EUSART1_DefaultErrorHandler (void )
+
+ +

Definition at line 217 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_DefaultFramingErrorHandler()

+ +
+
+ + + + + + + + +
void EUSART1_DefaultFramingErrorHandler (void )
+
+ +

Definition at line 207 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_DefaultOverrunErrorHandler()

+ +
+
+ + + + + + + + +
void EUSART1_DefaultOverrunErrorHandler (void )
+
+ +

Definition at line 209 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_get_last_status()

+ +
+
+ + + + + + + + +
eusart1_status_t EUSART1_get_last_status (void )
+
+

@Summary Gets the error status of the last read byte.

+

@Description This routine gets the error status of the last read byte.

+

@Preconditions EUSART1_Initialize() function should have been called before calling this function. The returned value is only updated after a read is called.

+

@Param None

+

@Returns the status of the last read byte

+

@Example void main(void) { volatile uint8_t rxData; volatile eusart1_status_t rxStatus;

+

Initialize the device SYSTEM_Initialize();

+

Enable the Global Interrupts INTERRUPT_GlobalInterruptEnable();

+

while(1) { Logic to echo received data if(EUSART1_is_rx_ready()) { rxData = EUSART1_Read(); rxStatus = EUSART1_get_last_status(); if(rxStatus.ferr){ LED_0_SetHigh(); } } } }

+ +

Definition at line 136 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_Initialize()

+ +
+
+ + + + + + + + +
void EUSART1_Initialize (void )
+
+

@Summary Initialization routine that takes inputs from the EUSART1 GUI.

+

@Description This routine initializes the EUSART1 driver. This routine must be called before any other EUSART1 routine is called.

+

@Preconditions None

+

@Param None

+

@Returns None

+

@Comment

+ +

Definition at line 83 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_is_rx_ready()

+ +
+
+ + + + + + + + +
bool EUSART1_is_rx_ready (void )
+
+

@Summary Checks if the EUSART1 receiver ready for reading

+

@Description This routine checks if EUSART1 receiver has received data and ready to be read

+

@Preconditions EUSART1_Initialize() function should be called before calling this function EUSART1 receiver should be enabled before calling this function

+

@Param None

+

@Returns Status of EUSART1 receiver TRUE: EUSART1 receiver is ready for reading FALSE: EUSART1 receiver is not ready for reading

+

@Example void main(void) { volatile uint8_t rxData;

+

Initialize the device SYSTEM_Initialize();

+

while(1) { Logic to echo received data if(EUSART1_is_rx_ready()) { rxData = UART1_Read(); if(EUSART1_is_tx_ready()) { EUSART1_Write(rxData); } } } }

+ +

Definition at line 126 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_is_tx_done()

+ +
+
+ + + + + + + + +
bool EUSART1_is_tx_done (void )
+
+

@Summary Checks if EUSART1 data is transmitted

+

@Description This function return the status of transmit shift register

+

@Preconditions EUSART1_Initialize() function should be called before calling this function EUSART1 transmitter should be enabled and EUSART1_Write should be called before calling this function

+

@Param None

+

@Returns Status of EUSART1 receiver TRUE: Data completely shifted out if the USART shift register FALSE: Data is not completely shifted out of the shift register

+

@Example void main(void) { volatile uint8_t rxData;

+

Initialize the device SYSTEM_Initialize();

+

while(1) { if(EUSART1_is_tx_ready()) { LED_0_SetHigh(); EUSART1Write(rxData); } if(EUSART1_is_tx_done() { LED_0_SetLow(); } } }

+ +

Definition at line 131 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_is_tx_ready()

+ +
+
+ + + + + + + + +
bool EUSART1_is_tx_ready (void )
+
+

@Summary Checks if the EUSART1 transmitter is ready to transmit data

+

@Description This routine checks if EUSART1 transmitter is ready to accept and transmit data byte

+

@Preconditions EUSART1_Initialize() function should have been called before calling this function. EUSART1 transmitter should be enabled before calling this function

+

@Param None

+

@Returns Status of EUSART1 transmitter TRUE: EUSART1 transmitter is ready FALSE: EUSART1 transmitter is not ready

+

@Example void main(void) { volatile uint8_t rxData;

+

Initialize the device SYSTEM_Initialize();

+

while(1) { Logic to echo received data if(EUSART1_is_rx_ready()) { rxData = UART1_Read(); if(EUSART1_is_tx_ready()) { EUSART1Write(rxData); } } } }

+ +

Definition at line 121 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_Read()

+ +
+
+ + + + + + + + +
uint8_t EUSART1_Read (void )
+
+

@Summary Read a byte of data from the EUSART1.

+

@Description This routine reads a byte of data from the EUSART1.

+

@Preconditions EUSART1_Initialize() function should have been called before calling this function. The transfer status should be checked to see if the receiver is not empty before calling this function.

+

@Param None

+

@Returns A data byte received by the driver.

+ +

Definition at line 140 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_Receive_ISR()

+ +
+
+ + + + + + + + +
void EUSART1_Receive_ISR (void )
+
+

@Summary Maintains the driver's receiver state machine and implements its ISR

+

@Description This routine is used to maintain the driver's internal receiver state machine.This interrupt service routine is called when the state of the receiver needs to be maintained in a non polled manner.

+

@Preconditions EUSART1_Initialize() function should have been called for the ISR to execute correctly.

+

@Param None

+

@Returns None

+ +

Definition at line 173 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_RxDataHandler()

+ +
+
+ + + + + + + + +
void EUSART1_RxDataHandler (void )
+
+

@Summary Maintains the driver's receiver state machine

+

@Description This routine is called by the receive state routine and is used to maintain the driver's internal receiver state machine. It should be called by a custom ISR to maintain normal behavior

+

@Preconditions EUSART1_Initialize() function should have been called for the ISR to execute correctly.

+

@Param None

+

@Returns None

+ +

Definition at line 197 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_SetErrorHandler()

+ +
+
+ + + + + + + + +
void EUSART1_SetErrorHandler (void(*)(void) interruptHandler)
+
+

@Summary Set EUSART1 Error Handler

+

@Description This API sets the function to be called upon EUSART1 error

+

@Preconditions Initialize the EUSART1 module before calling this API

+

@Param Address of function to be set as error handler

+

@Returns None

+ +

Definition at line 229 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_SetFramingErrorHandler()

+ +
+
+ + + + + + + + +
void EUSART1_SetFramingErrorHandler (void(*)(void) interruptHandler)
+
+

@Summary Set EUSART1 Framing Error Handler

+

@Description This API sets the function to be called upon EUSART1 framing error

+

@Preconditions Initialize the EUSART1 before calling this API

+

@Param Address of function to be set as framing error handler

+

@Returns None

+ +

Definition at line 221 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_SetOverrunErrorHandler()

+ +
+
+ + + + + + + + +
void EUSART1_SetOverrunErrorHandler (void(*)(void) interruptHandler)
+
+

@Summary Set EUSART1 Overrun Error Handler

+

@Description This API sets the function to be called upon EUSART1 overrun error

+

@Preconditions Initialize the EUSART1 module before calling this API

+

@Param Address of function to be set as overrun error handler

+

@Returns None

+ +

Definition at line 225 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_SetRxInterruptHandler()

+ +
+
+ + + + + + + + +
void EUSART1_SetRxInterruptHandler (void(*)(void) interruptHandler)
+
+

@Summary Sets the receive handler function to be called by the interrupt service

+

@Description Calling this function will set a new custom function that will be called when the receive interrupt needs servicing.

+

@Preconditions EUSART1_Initialize() function should have been called for the ISR to execute correctly.

+

@Param A pointer to the new function

+

@Returns None

+ +

Definition at line 234 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_Write()

+ +
+
+ + + + + + + + +
void EUSART1_Write (uint8_t txData)
+
+

@Summary Writes a byte of data to the EUSART1.

+

@Description This routine writes a byte of data to the EUSART1.

+

@Preconditions EUSART1_Initialize() function should have been called before calling this function. The transfer status should be checked to see if transmitter is not busy before calling this function.

+

@Param txData - Data byte to write to the EUSART1

+

@Returns None

+ +

Definition at line 162 of file eusart1.c.

+ +
+
+

Variable Documentation

+ +

◆ EUSART1_ErrorHandler

+ +
+
+ + + + + + + + +
void(* EUSART1_ErrorHandler) (void) (void )
+
+ +

Definition at line 77 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_FramingErrorHandler

+ +
+
+ + + + + + + + +
void(* EUSART1_FramingErrorHandler) (void) (void )
+
+ +

Definition at line 75 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_OverrunErrorHandler

+ +
+
+ + + + + + + + +
void(* EUSART1_OverrunErrorHandler) (void) (void )
+
+ +

Definition at line 76 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_RxDefaultInterruptHandler

+ +
+
+ + + + + + + + +
void(* EUSART1_RxDefaultInterruptHandler) (void) (void )
+
+

Section: EUSART1 APIs

+ +

Definition at line 73 of file eusart1.c.

+ +
+
+ +

◆ eusart1RxBuffer

+ +
+
+ + + + +
volatile uint8_t eusart1RxBuffer[EUSART1_RX_BUFFER_SIZE]
+
+ +

Definition at line 65 of file eusart1.c.

+ +
+
+ +

◆ eusart1RxCount

+ +
+
+ + + + +
volatile uint8_t eusart1RxCount
+
+ +

Definition at line 67 of file eusart1.c.

+ +
+
+ +

◆ eusart1RxHead

+ +
+
+ + + + +
volatile uint8_t eusart1RxHead = 0
+
+

Section: Global Variables

+ +

Definition at line 63 of file eusart1.c.

+ +
+
+ +

◆ eusart1RxLastError

+ +
+
+ + + + +
volatile eusart1_status_t eusart1RxLastError
+
+ +

Definition at line 68 of file eusart1.c.

+ +
+
+ +

◆ eusart1RxStatusBuffer

+ +
+
+ + + + +
volatile eusart1_status_t eusart1RxStatusBuffer[EUSART1_RX_BUFFER_SIZE]
+
+ +

Definition at line 66 of file eusart1.c.

+ +
+
+ +

◆ eusart1RxTail

+ +
+
+ + + + +
volatile uint8_t eusart1RxTail = 0
+
+ +

Definition at line 64 of file eusart1.c.

+ +
+
+
+
+ + + + diff --git a/html/eusart1_8c.js b/html/eusart1_8c.js new file mode 100644 index 0000000..887a410 --- /dev/null +++ b/html/eusart1_8c.js @@ -0,0 +1,31 @@ +var eusart1_8c = +[ + [ "EUSART1_RX_BUFFER_SIZE", "eusart1_8c.html#a642958f0262c1fa43f73055039f9e69c", null ], + [ "EUSART1_TX_BUFFER_SIZE", "eusart1_8c.html#a1c74f6788eacb6fb0fe6c604f395a8ab", null ], + [ "EUSART1_DefaultErrorHandler", "eusart1_8c.html#a9c10ba53dd6112ac70e8e82a146dd39b", null ], + [ "EUSART1_DefaultFramingErrorHandler", "eusart1_8c.html#ad551fd18f88e50d53d18c345e0819b60", null ], + [ "EUSART1_DefaultOverrunErrorHandler", "eusart1_8c.html#a3d463ab78d0a1a0346dbb5f5e9a44647", null ], + [ "EUSART1_get_last_status", "eusart1_8c.html#a3dc796228d84a0c6a57dc207ed14daae", null ], + [ "EUSART1_Initialize", "eusart1_8c.html#a17236c1d3fc2264f13ed077b4fc6973e", null ], + [ "EUSART1_is_rx_ready", "eusart1_8c.html#a51236ea81a98a25986a6733fbf291621", null ], + [ "EUSART1_is_tx_done", "eusart1_8c.html#a7b5f2ddacf3a8b27a5edff78996e66f5", null ], + [ "EUSART1_is_tx_ready", "eusart1_8c.html#a3cc9de3f3d2a8588be3bd85084011a68", null ], + [ "EUSART1_Read", "eusart1_8c.html#ab4dd58b431d4f59c5b78f909b0b9cb0b", null ], + [ "EUSART1_Receive_ISR", "eusart1_8c.html#af6867c294ab8008a59cdc81a74272669", null ], + [ "EUSART1_RxDataHandler", "eusart1_8c.html#a059ef83fc11ba2fbe279fe185b0e3832", null ], + [ "EUSART1_SetErrorHandler", "eusart1_8c.html#a1ce96cef41cc2e985c8a600873f3d688", null ], + [ "EUSART1_SetFramingErrorHandler", "eusart1_8c.html#aa4a8db092efc718cf508792a0a521dba", null ], + [ "EUSART1_SetOverrunErrorHandler", "eusart1_8c.html#a8129057b0391bb8de6fa1058057c589e", null ], + [ "EUSART1_SetRxInterruptHandler", "eusart1_8c.html#a66a557ddf06eda003b454c56b5f6fa2b", null ], + [ "EUSART1_Write", "eusart1_8c.html#a6acb88a121ac046bf5ae77f9a3521350", null ], + [ "EUSART1_ErrorHandler", "eusart1_8c.html#abc6ac02650c89fd0f804ce8f9e4be29a", null ], + [ "EUSART1_FramingErrorHandler", "eusart1_8c.html#a29be52aecc13884fad7f3c9707b58936", null ], + [ "EUSART1_OverrunErrorHandler", "eusart1_8c.html#ad312829b7b826ae814c9b3b94fd42567", null ], + [ "EUSART1_RxDefaultInterruptHandler", "eusart1_8c.html#a880bcfd3bf2ca46fd0f4a14b2a0a3b9d", null ], + [ "eusart1RxBuffer", "eusart1_8c.html#a9f953e2d0a8e2cdb9e7f36ace3c7b17a", null ], + [ "eusart1RxCount", "eusart1_8c.html#ab6e9a7238b7754678619a44374419718", null ], + [ "eusart1RxHead", "eusart1_8c.html#a3edd611815ab0a84ebf348449e3cf135", null ], + [ "eusart1RxLastError", "eusart1_8c.html#a8f5fe769231559381402518edf3005de", null ], + [ "eusart1RxStatusBuffer", "eusart1_8c.html#a3c4a003a0ca1e9d04caf6eca92833522", null ], + [ "eusart1RxTail", "eusart1_8c.html#a72676c6462b4f80b1d7e791a82bf1e20", null ] +]; \ No newline at end of file diff --git a/html/eusart1_8c_source.html b/html/eusart1_8c_source.html new file mode 100644 index 0000000..6af4dec --- /dev/null +++ b/html/eusart1_8c_source.html @@ -0,0 +1,337 @@ + + + + + + + +Solar panel: mcc_generated_files/eusart1.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
eusart1.c
+
+
+Go to the documentation of this file.
1
+
24/*
+
25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
26
+
27 Subject to your compliance with these terms, you may use Microchip software and any
+
28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
29 license terms applicable to your use of third party software (including open source software) that
+
30 may accompany Microchip software.
+
31
+
32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
35 FOR A PARTICULAR PURPOSE.
+
36
+
37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
44 SOFTWARE.
+
45*/
+
46
+
50#include "eusart1.h"
+
51
+
56#define EUSART1_TX_BUFFER_SIZE 8
+
57#define EUSART1_RX_BUFFER_SIZE 8
+
58
+
63volatile uint8_t eusart1RxHead = 0;
+
64volatile uint8_t eusart1RxTail = 0;
+ + +
67volatile uint8_t eusart1RxCount;
+ +
69
+ +
74
+ + + +
78
+ + + +
82
+ +
84{
+
85 // disable interrupts before changing states
+
86 PIE1bits.RC1IE = 0;
+ +
88 // Set the EUSART1 module to the options selected in the user interface.
+
89
+
90 // ABDOVF no_overflow; SCKP async_noninverted_sync_fallingedge; BRG16 16bit_generator; WUE disabled; ABDEN disabled; RXDTP not_inverted;
+
91 BAUDCON1 = 0x08;
+
92
+
93 // SPEN enabled; RX9 9-bit; CREN enabled; ADDEN disabled; SREN disabled;
+
94 RCSTA1 = 0xD0;
+
95
+
96 // TX9 9-bit; TX9D 1; SENDB sync_break_complete; TXEN enabled; SYNC asynchronous; BRGH hi_speed; CSRC master_mode;
+
97 TXSTA1 = 0xE5;
+
98
+
99 //
+
100 SPBRG1 = 0x8A;
+
101
+
102 //
+
103 SPBRGH1 = 0x02;
+
104
+
105
+ + + +
109
+ +
111
+
112
+
113 eusart1RxHead = 0;
+
114 eusart1RxTail = 0;
+
115 eusart1RxCount = 0;
+
116
+
117 // enable receive interrupt
+
118 PIE1bits.RC1IE = 1;
+
119}
+
120
+ +
122{
+
123 return (bool)(PIR1bits.TX1IF && TXSTA1bits.TXEN);
+
124}
+
125
+ +
127{
+
128 return (eusart1RxCount ? true : false);
+
129}
+
130
+ +
132{
+
133 return TXSTA1bits.TRMT;
+
134}
+
135
+ +
137 return eusart1RxLastError;
+
138}
+
139
+
140uint8_t EUSART1_Read(void)
+
141{
+
142 uint8_t readValue = 0;
+
143
+
144 while(0 == eusart1RxCount)
+
145 {
+
146 }
+
147
+ +
149
+
150 readValue = eusart1RxBuffer[eusart1RxTail++];
+
151 if(sizeof(eusart1RxBuffer) <= eusart1RxTail)
+
152 {
+
153 eusart1RxTail = 0;
+
154 }
+
155 PIE1bits.RC1IE = 0;
+ +
157 PIE1bits.RC1IE = 1;
+
158
+
159 return readValue;
+
160}
+
161
+
162void EUSART1_Write(uint8_t txData)
+
163{
+
164 while(0 == PIR1bits.TX1IF)
+
165 {
+
166 }
+
167
+
168 TXREG1 = txData; // Write the data byte to the USART.
+
169}
+
170
+
171
+
172
+ +
174{
+
175
+ +
177
+
178 if(RCSTA1bits.FERR){
+ + +
181 }
+
182
+
183 if(RCSTA1bits.OERR){
+ + +
186 }
+
187
+ + +
190 } else {
+ +
192 }
+
193
+
194 // or set custom function using EUSART1_SetRxInterruptHandler()
+
195}
+
196
+ +
198 // use this default receive interrupt handler code
+
199 eusart1RxBuffer[eusart1RxHead++] = RCREG1;
+
200 if(sizeof(eusart1RxBuffer) <= eusart1RxHead)
+
201 {
+
202 eusart1RxHead = 0;
+
203 }
+ +
205}
+
206
+ +
208
+ +
210 // EUSART1 error - restart
+
211
+
212 RCSTA1bits.CREN = 0;
+
213 RCSTA1bits.CREN = 1;
+
214
+
215}
+
216
+ + +
219}
+
220
+
221void EUSART1_SetFramingErrorHandler(void (* interruptHandler)(void)){
+
222 EUSART1_FramingErrorHandler = interruptHandler;
+
223}
+
224
+
225void EUSART1_SetOverrunErrorHandler(void (* interruptHandler)(void)){
+
226 EUSART1_OverrunErrorHandler = interruptHandler;
+
227}
+
228
+
229void EUSART1_SetErrorHandler(void (* interruptHandler)(void)){
+
230 EUSART1_ErrorHandler = interruptHandler;
+
231}
+
232
+
233
+
234void EUSART1_SetRxInterruptHandler(void (* interruptHandler)(void)){
+
235 EUSART1_RxDefaultInterruptHandler = interruptHandler;
+
236}
+
void EUSART1_RxDataHandler(void)
Definition: eusart1.c:197
+
void EUSART1_Initialize(void)
Definition: eusart1.c:83
+
void EUSART1_SetErrorHandler(void(*interruptHandler)(void))
Definition: eusart1.c:229
+
void(* EUSART1_FramingErrorHandler)(void)
Definition: eusart1.c:75
+
volatile eusart1_status_t eusart1RxStatusBuffer[EUSART1_RX_BUFFER_SIZE]
Definition: eusart1.c:66
+
bool EUSART1_is_tx_ready(void)
Definition: eusart1.c:121
+
void EUSART1_DefaultOverrunErrorHandler(void)
Definition: eusart1.c:209
+
eusart1_status_t EUSART1_get_last_status(void)
Definition: eusart1.c:136
+
volatile uint8_t eusart1RxHead
Definition: eusart1.c:63
+
bool EUSART1_is_rx_ready(void)
Definition: eusart1.c:126
+
#define EUSART1_RX_BUFFER_SIZE
Definition: eusart1.c:57
+
void EUSART1_SetRxInterruptHandler(void(*interruptHandler)(void))
Definition: eusart1.c:234
+
void EUSART1_Write(uint8_t txData)
Definition: eusart1.c:162
+
volatile uint8_t eusart1RxTail
Definition: eusart1.c:64
+
bool EUSART1_is_tx_done(void)
Definition: eusart1.c:131
+
void EUSART1_SetOverrunErrorHandler(void(*interruptHandler)(void))
Definition: eusart1.c:225
+
void(* EUSART1_RxDefaultInterruptHandler)(void)
Definition: eusart1.c:73
+
volatile eusart1_status_t eusart1RxLastError
Definition: eusart1.c:68
+
void EUSART1_DefaultErrorHandler(void)
Definition: eusart1.c:217
+
volatile uint8_t eusart1RxBuffer[EUSART1_RX_BUFFER_SIZE]
Definition: eusart1.c:65
+
void EUSART1_SetFramingErrorHandler(void(*interruptHandler)(void))
Definition: eusart1.c:221
+
uint8_t EUSART1_Read(void)
Definition: eusart1.c:140
+
volatile uint8_t eusart1RxCount
Definition: eusart1.c:67
+
void(* EUSART1_ErrorHandler)(void)
Definition: eusart1.c:77
+
void(* EUSART1_OverrunErrorHandler)(void)
Definition: eusart1.c:76
+
void EUSART1_DefaultFramingErrorHandler(void)
Definition: eusart1.c:207
+
void EUSART1_Receive_ISR(void)
Definition: eusart1.c:173
+ + +
unsigned oerr
Definition: eusart1.h:79
+
uint8_t status
Definition: eusart1.h:82
+
unsigned ferr
Definition: eusart1.h:78
+
+
+ + + + diff --git a/html/eusart1_8h.html b/html/eusart1_8h.html new file mode 100644 index 0000000..d856a37 --- /dev/null +++ b/html/eusart1_8h.html @@ -0,0 +1,603 @@ + + + + + + + +Solar panel: mcc_generated_files/eusart1.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
eusart1.h File Reference
+
+
+
#include <xc.h>
+#include <stdbool.h>
+#include <stdint.h>
+
+

Go to the source code of this file.

+ + + + +

+Classes

union  eusart1_status_t
 
+ + + +

+Macros

#define EUSART1_DataReady   (EUSART1_is_rx_ready())
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void EUSART1_Initialize (void)
 
bool EUSART1_is_tx_ready (void)
 
bool EUSART1_is_rx_ready (void)
 
bool EUSART1_is_tx_done (void)
 
eusart1_status_t EUSART1_get_last_status (void)
 
uint8_t EUSART1_Read (void)
 
void EUSART1_Write (uint8_t txData)
 
void EUSART1_Receive_ISR (void)
 
void EUSART1_RxDataHandler (void)
 
void EUSART1_SetFramingErrorHandler (void(*interruptHandler)(void))
 
void EUSART1_SetOverrunErrorHandler (void(*interruptHandler)(void))
 
void EUSART1_SetErrorHandler (void(*interruptHandler)(void))
 
void EUSART1_SetRxInterruptHandler (void(*interruptHandler)(void))
 
+ + + + + + + +

+Variables

volatile uint8_t eusart1TxBufferRemaining
 
volatile uint8_t eusart1RxCount
 
void(* EUSART1_RxDefaultInterruptHandler )(void)
 
+

Macro Definition Documentation

+ +

◆ EUSART1_DataReady

+ +
+
+ + + + +
#define EUSART1_DataReady   (EUSART1_is_rx_ready())
+
+

EUSART1 Generated Driver API Header File

+

@Company Microchip Technology Inc.

+

@File Name eusart1.h

+

@Summary This is the generated header file for the EUSART1 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description This header file provides APIs for driver for EUSART1. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.1.1 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: Macro Declarations

+ +

Definition at line 69 of file eusart1.h.

+ +
+
+

Function Documentation

+ +

◆ EUSART1_get_last_status()

+ +
+
+ + + + + + + + +
eusart1_status_t EUSART1_get_last_status (void )
+
+

@Summary Gets the error status of the last read byte.

+

@Description This routine gets the error status of the last read byte.

+

@Preconditions EUSART1_Initialize() function should have been called before calling this function. The returned value is only updated after a read is called.

+

@Param None

+

@Returns the status of the last read byte

+

@Example void main(void) { volatile uint8_t rxData; volatile eusart1_status_t rxStatus;

+

Initialize the device SYSTEM_Initialize();

+

Enable the Global Interrupts INTERRUPT_GlobalInterruptEnable();

+

while(1) { Logic to echo received data if(EUSART1_is_rx_ready()) { rxData = EUSART1_Read(); rxStatus = EUSART1_get_last_status(); if(rxStatus.ferr){ LED_0_SetHigh(); } } } }

+ +

Definition at line 136 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_Initialize()

+ +
+
+ + + + + + + + +
void EUSART1_Initialize (void )
+
+

@Summary Initialization routine that takes inputs from the EUSART1 GUI.

+

@Description This routine initializes the EUSART1 driver. This routine must be called before any other EUSART1 routine is called.

+

@Preconditions None

+

@Param None

+

@Returns None

+

@Comment

+ +

Definition at line 83 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_is_rx_ready()

+ +
+
+ + + + + + + + +
bool EUSART1_is_rx_ready (void )
+
+

@Summary Checks if the EUSART1 receiver ready for reading

+

@Description This routine checks if EUSART1 receiver has received data and ready to be read

+

@Preconditions EUSART1_Initialize() function should be called before calling this function EUSART1 receiver should be enabled before calling this function

+

@Param None

+

@Returns Status of EUSART1 receiver TRUE: EUSART1 receiver is ready for reading FALSE: EUSART1 receiver is not ready for reading

+

@Example void main(void) { volatile uint8_t rxData;

+

Initialize the device SYSTEM_Initialize();

+

while(1) { Logic to echo received data if(EUSART1_is_rx_ready()) { rxData = UART1_Read(); if(EUSART1_is_tx_ready()) { EUSART1_Write(rxData); } } } }

+ +

Definition at line 126 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_is_tx_done()

+ +
+
+ + + + + + + + +
bool EUSART1_is_tx_done (void )
+
+

@Summary Checks if EUSART1 data is transmitted

+

@Description This function return the status of transmit shift register

+

@Preconditions EUSART1_Initialize() function should be called before calling this function EUSART1 transmitter should be enabled and EUSART1_Write should be called before calling this function

+

@Param None

+

@Returns Status of EUSART1 receiver TRUE: Data completely shifted out if the USART shift register FALSE: Data is not completely shifted out of the shift register

+

@Example void main(void) { volatile uint8_t rxData;

+

Initialize the device SYSTEM_Initialize();

+

while(1) { if(EUSART1_is_tx_ready()) { LED_0_SetHigh(); EUSART1Write(rxData); } if(EUSART1_is_tx_done() { LED_0_SetLow(); } } }

+ +

Definition at line 131 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_is_tx_ready()

+ +
+
+ + + + + + + + +
bool EUSART1_is_tx_ready (void )
+
+

@Summary Checks if the EUSART1 transmitter is ready to transmit data

+

@Description This routine checks if EUSART1 transmitter is ready to accept and transmit data byte

+

@Preconditions EUSART1_Initialize() function should have been called before calling this function. EUSART1 transmitter should be enabled before calling this function

+

@Param None

+

@Returns Status of EUSART1 transmitter TRUE: EUSART1 transmitter is ready FALSE: EUSART1 transmitter is not ready

+

@Example void main(void) { volatile uint8_t rxData;

+

Initialize the device SYSTEM_Initialize();

+

while(1) { Logic to echo received data if(EUSART1_is_rx_ready()) { rxData = UART1_Read(); if(EUSART1_is_tx_ready()) { EUSART1Write(rxData); } } } }

+ +

Definition at line 121 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_Read()

+ +
+
+ + + + + + + + +
uint8_t EUSART1_Read (void )
+
+

@Summary Read a byte of data from the EUSART1.

+

@Description This routine reads a byte of data from the EUSART1.

+

@Preconditions EUSART1_Initialize() function should have been called before calling this function. The transfer status should be checked to see if the receiver is not empty before calling this function.

+

@Param None

+

@Returns A data byte received by the driver.

+ +

Definition at line 140 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_Receive_ISR()

+ +
+
+ + + + + + + + +
void EUSART1_Receive_ISR (void )
+
+

@Summary Maintains the driver's receiver state machine and implements its ISR

+

@Description This routine is used to maintain the driver's internal receiver state machine.This interrupt service routine is called when the state of the receiver needs to be maintained in a non polled manner.

+

@Preconditions EUSART1_Initialize() function should have been called for the ISR to execute correctly.

+

@Param None

+

@Returns None

+ +

Definition at line 173 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_RxDataHandler()

+ +
+
+ + + + + + + + +
void EUSART1_RxDataHandler (void )
+
+

@Summary Maintains the driver's receiver state machine

+

@Description This routine is called by the receive state routine and is used to maintain the driver's internal receiver state machine. It should be called by a custom ISR to maintain normal behavior

+

@Preconditions EUSART1_Initialize() function should have been called for the ISR to execute correctly.

+

@Param None

+

@Returns None

+ +

Definition at line 197 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_SetErrorHandler()

+ +
+
+ + + + + + + + +
void EUSART1_SetErrorHandler (void(*)(void) interruptHandler)
+
+

@Summary Set EUSART1 Error Handler

+

@Description This API sets the function to be called upon EUSART1 error

+

@Preconditions Initialize the EUSART1 module before calling this API

+

@Param Address of function to be set as error handler

+

@Returns None

+ +

Definition at line 229 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_SetFramingErrorHandler()

+ +
+
+ + + + + + + + +
void EUSART1_SetFramingErrorHandler (void(*)(void) interruptHandler)
+
+

@Summary Set EUSART1 Framing Error Handler

+

@Description This API sets the function to be called upon EUSART1 framing error

+

@Preconditions Initialize the EUSART1 before calling this API

+

@Param Address of function to be set as framing error handler

+

@Returns None

+ +

Definition at line 221 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_SetOverrunErrorHandler()

+ +
+
+ + + + + + + + +
void EUSART1_SetOverrunErrorHandler (void(*)(void) interruptHandler)
+
+

@Summary Set EUSART1 Overrun Error Handler

+

@Description This API sets the function to be called upon EUSART1 overrun error

+

@Preconditions Initialize the EUSART1 module before calling this API

+

@Param Address of function to be set as overrun error handler

+

@Returns None

+ +

Definition at line 225 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_SetRxInterruptHandler()

+ +
+
+ + + + + + + + +
void EUSART1_SetRxInterruptHandler (void(*)(void) interruptHandler)
+
+

@Summary Sets the receive handler function to be called by the interrupt service

+

@Description Calling this function will set a new custom function that will be called when the receive interrupt needs servicing.

+

@Preconditions EUSART1_Initialize() function should have been called for the ISR to execute correctly.

+

@Param A pointer to the new function

+

@Returns None

+ +

Definition at line 234 of file eusart1.c.

+ +
+
+ +

◆ EUSART1_Write()

+ +
+
+ + + + + + + + +
void EUSART1_Write (uint8_t txData)
+
+

@Summary Writes a byte of data to the EUSART1.

+

@Description This routine writes a byte of data to the EUSART1.

+

@Preconditions EUSART1_Initialize() function should have been called before calling this function. The transfer status should be checked to see if transmitter is not busy before calling this function.

+

@Param txData - Data byte to write to the EUSART1

+

@Returns None

+ +

Definition at line 162 of file eusart1.c.

+ +
+
+

Variable Documentation

+ +

◆ EUSART1_RxDefaultInterruptHandler

+ +
+
+ + + + + +
+ + + + + + + + +
void(* EUSART1_RxDefaultInterruptHandler) (void) (void )
+
+extern
+
+

Section: EUSART1 APIs

+ +

Definition at line 73 of file eusart1.c.

+ +
+
+ +

◆ eusart1RxCount

+ +
+
+ + + + + +
+ + + + +
volatile uint8_t eusart1RxCount
+
+extern
+
+ +

Definition at line 67 of file eusart1.c.

+ +
+
+ +

◆ eusart1TxBufferRemaining

+ +
+
+ + + + + +
+ + + + +
volatile uint8_t eusart1TxBufferRemaining
+
+extern
+
+

Section: Global variables

+ +
+
+
+
+ + + + diff --git a/html/eusart1_8h.js b/html/eusart1_8h.js new file mode 100644 index 0000000..2edd2f8 --- /dev/null +++ b/html/eusart1_8h.js @@ -0,0 +1,21 @@ +var eusart1_8h = +[ + [ "eusart1_status_t", "unioneusart1__status__t.html", "unioneusart1__status__t" ], + [ "EUSART1_DataReady", "eusart1_8h.html#ac49a88a0f8634c24cc1f7e2743c3fbd0", null ], + [ "EUSART1_get_last_status", "eusart1_8h.html#a3dc796228d84a0c6a57dc207ed14daae", null ], + [ "EUSART1_Initialize", "eusart1_8h.html#a17236c1d3fc2264f13ed077b4fc6973e", null ], + [ "EUSART1_is_rx_ready", "eusart1_8h.html#a51236ea81a98a25986a6733fbf291621", null ], + [ "EUSART1_is_tx_done", "eusart1_8h.html#a7b5f2ddacf3a8b27a5edff78996e66f5", null ], + [ "EUSART1_is_tx_ready", "eusart1_8h.html#a3cc9de3f3d2a8588be3bd85084011a68", null ], + [ "EUSART1_Read", "eusart1_8h.html#ab4dd58b431d4f59c5b78f909b0b9cb0b", null ], + [ "EUSART1_Receive_ISR", "eusart1_8h.html#af6867c294ab8008a59cdc81a74272669", null ], + [ "EUSART1_RxDataHandler", "eusart1_8h.html#a059ef83fc11ba2fbe279fe185b0e3832", null ], + [ "EUSART1_SetErrorHandler", "eusart1_8h.html#a1ce96cef41cc2e985c8a600873f3d688", null ], + [ "EUSART1_SetFramingErrorHandler", "eusart1_8h.html#aa4a8db092efc718cf508792a0a521dba", null ], + [ "EUSART1_SetOverrunErrorHandler", "eusart1_8h.html#a8129057b0391bb8de6fa1058057c589e", null ], + [ "EUSART1_SetRxInterruptHandler", "eusart1_8h.html#a66a557ddf06eda003b454c56b5f6fa2b", null ], + [ "EUSART1_Write", "eusart1_8h.html#a6acb88a121ac046bf5ae77f9a3521350", null ], + [ "EUSART1_RxDefaultInterruptHandler", "eusart1_8h.html#a880bcfd3bf2ca46fd0f4a14b2a0a3b9d", null ], + [ "eusart1RxCount", "eusart1_8h.html#ab6e9a7238b7754678619a44374419718", null ], + [ "eusart1TxBufferRemaining", "eusart1_8h.html#a60e1cd80da2c5389aa7458e8af1a651a", null ] +]; \ No newline at end of file diff --git a/html/eusart1_8h_source.html b/html/eusart1_8h_source.html new file mode 100644 index 0000000..748f5d1 --- /dev/null +++ b/html/eusart1_8h_source.html @@ -0,0 +1,217 @@ + + + + + + + +Solar panel: mcc_generated_files/eusart1.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
eusart1.h
+
+
+Go to the documentation of this file.
1
+
24/*
+
25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
26
+
27 Subject to your compliance with these terms, you may use Microchip software and any
+
28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
29 license terms applicable to your use of third party software (including open source software) that
+
30 may accompany Microchip software.
+
31
+
32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
35 FOR A PARTICULAR PURPOSE.
+
36
+
37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
44 SOFTWARE.
+
45*/
+
46
+
47#ifndef EUSART1_H
+
48#define EUSART1_H
+
49
+
54#include <xc.h>
+
55#include <stdbool.h>
+
56#include <stdint.h>
+
57
+
58#ifdef __cplusplus // Provide C++ Compatibility
+
59
+
60 extern "C" {
+
61
+
62#endif
+
63
+
64
+
69#define EUSART1_DataReady (EUSART1_is_rx_ready())
+
70
+
75typedef union {
+
76 struct {
+
77 unsigned perr : 1;
+
78 unsigned ferr : 1;
+
79 unsigned oerr : 1;
+
80 unsigned reserved : 5;
+
81 };
+
82 uint8_t status;
+ +
84
+
88extern volatile uint8_t eusart1TxBufferRemaining;
+
89extern volatile uint8_t eusart1RxCount;
+
90
+
94extern void (*EUSART1_RxDefaultInterruptHandler)(void);
+
95
+
116void EUSART1_Initialize(void);
+
117
+
164bool EUSART1_is_tx_ready(void);
+
165
+
212bool EUSART1_is_rx_ready(void);
+
213
+
259bool EUSART1_is_tx_done(void);
+
260
+ +
308
+
327uint8_t EUSART1_Read(void);
+
328
+
347void EUSART1_Write(uint8_t txData);
+
348
+
349
+
369void EUSART1_Receive_ISR(void);
+
370
+
390void EUSART1_RxDataHandler(void);
+
391
+
408void EUSART1_SetFramingErrorHandler(void (* interruptHandler)(void));
+
409
+
426void EUSART1_SetOverrunErrorHandler(void (* interruptHandler)(void));
+
427
+
444void EUSART1_SetErrorHandler(void (* interruptHandler)(void));
+
445
+
446
+
465void EUSART1_SetRxInterruptHandler(void (* interruptHandler)(void));
+
466
+
467#ifdef __cplusplus // Provide C++ Compatibility
+
468
+
469 }
+
470
+
471#endif
+
472
+
473#endif // EUSART1_H
+
void EUSART1_RxDataHandler(void)
Definition: eusart1.c:197
+
void EUSART1_Initialize(void)
Definition: eusart1.c:83
+
void EUSART1_SetErrorHandler(void(*interruptHandler)(void))
Definition: eusart1.c:229
+
bool EUSART1_is_tx_ready(void)
Definition: eusart1.c:121
+
eusart1_status_t EUSART1_get_last_status(void)
Definition: eusart1.c:136
+
bool EUSART1_is_rx_ready(void)
Definition: eusart1.c:126
+
volatile uint8_t eusart1TxBufferRemaining
+
void EUSART1_SetRxInterruptHandler(void(*interruptHandler)(void))
Definition: eusart1.c:234
+
void EUSART1_Write(uint8_t txData)
Definition: eusart1.c:162
+
bool EUSART1_is_tx_done(void)
Definition: eusart1.c:131
+
void EUSART1_SetOverrunErrorHandler(void(*interruptHandler)(void))
Definition: eusart1.c:225
+
void(* EUSART1_RxDefaultInterruptHandler)(void)
Definition: eusart1.c:73
+
void EUSART1_SetFramingErrorHandler(void(*interruptHandler)(void))
Definition: eusart1.c:221
+
uint8_t EUSART1_Read(void)
Definition: eusart1.c:140
+
volatile uint8_t eusart1RxCount
Definition: eusart1.c:67
+
void EUSART1_Receive_ISR(void)
Definition: eusart1.c:173
+ +
unsigned reserved
Definition: eusart1.h:80
+
unsigned oerr
Definition: eusart1.h:79
+
uint8_t status
Definition: eusart1.h:82
+
unsigned ferr
Definition: eusart1.h:78
+
unsigned perr
Definition: eusart1.h:77
+
+
+ + + + diff --git a/html/files.html b/html/files.html new file mode 100644 index 0000000..e9bc694 --- /dev/null +++ b/html/files.html @@ -0,0 +1,141 @@ + + + + + + + +Solar panel: File List + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
[detail level 12]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  lcd
 arialRoundedMTBold18ptBitmaps.c
 ft5xx6.cFT5xx6 Touch Controller Driver
 ft5xx6.hFT5xx6 Touch Controller Driver
 lcd.c
 lcd.h
 ssd1963_cmd.hSSD1963 Display Controller Commands
  mcc_generated_files
 adc.c
 adc.h
 device_config.c
 device_config.h
 epwm1.c
 epwm1.h
 eusart1.c
 eusart1.h
 interrupt_manager.c
 interrupt_manager.h
 mcc.c
 mcc.h
 pin_manager.c
 pin_manager.h
 tmr0.c
 tmr0.h
 tmr2.c
 tmr2.h
 crc.c
 crc.hCRC calculation for Modbus
 main.cMain is in two part. First for setup everything Second for loop on measure and set duty cycle for PWM
 measure.c
 measure.hMeasuring current and voltage from the solar panel
 modbus.c
 modbus.hModbus serial library
+
+
+
+ + + + diff --git a/html/files_dup.js b/html/files_dup.js new file mode 100644 index 0000000..4c7bee7 --- /dev/null +++ b/html/files_dup.js @@ -0,0 +1,12 @@ +var files_dup = +[ + [ "lcd", "dir_7539740a674fe554df3e16c8629ce56f.html", "dir_7539740a674fe554df3e16c8629ce56f" ], + [ "mcc_generated_files", "dir_0ad8aa10ae8c15a00cc43e117933779f.html", "dir_0ad8aa10ae8c15a00cc43e117933779f" ], + [ "crc.c", "crc_8c.html", "crc_8c" ], + [ "crc.h", "crc_8h.html", "crc_8h" ], + [ "main.c", "main_8c.html", "main_8c" ], + [ "measure.c", "measure_8c.html", "measure_8c" ], + [ "measure.h", "measure_8h.html", "measure_8h" ], + [ "modbus.c", "modbus_8c.html", "modbus_8c" ], + [ "modbus.h", "modbus_8h.html", "modbus_8h" ] +]; \ No newline at end of file diff --git a/html/folderclosed.png b/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..74f44bfb855f617ae0ab7f358deb8aea4bb3c1f9 GIT binary patch literal 575 zcmV-F0>J%=P)5=8w{DC;b;sL z@^Up|_uirha20I@(BRMRMwK!@9-S!wz?IaiH+lQ(Z}aVB%F{uZ2KPJ?IrI5voP#AT z-0I%_#enyZ`jsj>qtOT`BcGch?0 zWuR$BXPj*&$T``v;Nk<+wY7q27EH5s!L8=+)4;maSl_(_%F?VL3*abl0J?;s+_xZ= zK%S)ws7M1q4;^O|DP0bCYu>S!o8S#2zijxJCU-}a-~hX%lz z1o$Ogw3%jc+{~w0EANRAQh*rwbOcli2dHRklNCgJ;480^RiKwmg6OlG9;KwbLceJI zOn?(fU#UoQb+b~o8RsQRLRT(OmX><}U%vk+eoH)I*A(s3XA70>x%XB@zt}z!cO-ltdtb z6e&c+IL;2|%-Uwwy9p^sfy8=#&)Jzd=l{=~8M_UvwE%~P5a2NJ?-RrTWq7wSv~Rx+ z*_9FvQ!9YmM=Lx!UJU>aiaiN5___I*`8c2!W-(uU+UDiwfjbq#i4M!O!}H6{QsO8{ z5`Y5UeEpf!qJSs}5b>yewh?pcNW^KuaxJ7+jp$TD)(0t%7i-S|W)aLD(`LLBdT&S`tD$g_`>0?nGb5hKdbW;-1k-sS*9rvc^j*H@ z#s^qC9dp|vA3aT3@N6)fv*Yao$fK0thirB%f%KI4wV0@$)MP>uO13TofEg4Bv}jvG zAlo_(mSy292E1m4O@pg1kZT2k9a*z21Uq9nzSFG2$z5>7GO4~mu9akbcD{XW4SjAjz&Ar|?gQv^& iHGsc`|Nm$J`{EZIPwqt<6M%I90000 + + + + + + +Solar panel: lcd/ft5xx6.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
ft5xx6.c File Reference
+
+
+ +

FT5xx6 Touch Controller Driver. +More...

+
#include "ft5xx6.h"
+#include "drv_digital_out.h"
+#include "drv_digital_in.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void ft5xx6_cfg_setup (ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller)
 FT5xx6 Configuration Object Setup Function.
 
tp_err_t ft5xx6_init (ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv)
 FT5xx6 Initialization Function.
 
void ft5xx6_default_cfg (ft5xx6_t *ctx)
 FT5xx6 Default Configuration Function.
 
void ft5xx6_generic_write (ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in)
 FT5xx6 Generic Write Function.
 
uint8_t ft5xx6_generic_read_single (ft5xx6_t *ctx, uint8_t reg_addr)
 FT5xx6 Generic Single Read Function.
 
tp_err_t ft5xx6_generic_read_multiple (ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes)
 FT5xx6 Generic Multiple Read Function.
 
void ft5xx6_dev_mode_setup (ft5xx6_t *ctx, ft5xx6_dev_mode_t mode)
 FT5xx6 Device Mode Setup Function.
 
void ft5xx6_run_mode_setup (ft5xx6_t *ctx, ft5xx6_run_mode_t mode)
 FT5xx6 Run Mode Setup Function.
 
tp_event_t ft5xx6_press_detect (ft5xx6_t *ctx)
 FT5xx6 Touch Pressure Detect Function.
 
void ft5xx6_press_coordinates (ft5xx6_t *ctx, tp_touch_item_t *touch_item)
 FT5xx6 Pressure Coordinates Check Function.
 
void ft5xx6_gesture (ft5xx6_t *ctx, tp_event_t *event)
 FT5xx6 Gesture Check Function.
 
tp_err_t ft5xx6_process (ft5xx6_t *ctx)
 FT5xx6 Process Function.
 
+ + + + + + + + + + + + + +

+Variables

const ft5xx6_controller_t FT5X06_CONTROLLER
 FT5xx6 Events Definition.
 
const ft5xx6_controller_t FT5X16_CONTROLLER
 FT5x16 Touch Controllers Descriptor.
 
const ft5xx6_controller_t FT5X26_CONTROLLER
 FT5x26 Touch Controllers Descriptor.
 
const ft5xx6_controller_t FT5X46_CONTROLLER
 FT5x46 Touch Controllers Descriptor.
 
+

Detailed Description

+

FT5xx6 Touch Controller Driver.

+ +

Definition in file ft5xx6.c.

+

Variable Documentation

+ +

◆ FT5X06_CONTROLLER

+ +
+
+ + + + +
const ft5xx6_controller_t FT5X06_CONTROLLER
+
+Initial value:
=
+
{
+
{
+
{ 0x00, TP_EVENT_GEST_NONE },
+
{ 0x10, TP_EVENT_GEST_LEFT },
+
{ 0x18, TP_EVENT_GEST_RIGHT },
+
{ 0x1C, TP_EVENT_GEST_UP },
+
{ 0x14, TP_EVENT_GEST_DOWN },
+
{ 0x48, TP_EVENT_GEST_ZOOM_IN },
+
{ 0x49, TP_EVENT_GEST_ZOOM_OUT }
+
}
+
}
+
+

FT5xx6 Events Definition.

+

FT5x06 Touch Controllers Descriptor.

+

Events code definition depending on the family of touch controller.

+ +

Definition at line 53 of file ft5xx6.c.

+ +
+
+ +

◆ FT5X16_CONTROLLER

+ +
+
+ + + + +
const ft5xx6_controller_t FT5X16_CONTROLLER
+
+Initial value:
=
+
{
+
{
+
{ 0x00, TP_EVENT_GEST_NONE },
+
{ 0x10, TP_EVENT_GEST_LEFT },
+
{ 0x18, TP_EVENT_GEST_RIGHT },
+
{ 0x1C, TP_EVENT_GEST_UP },
+
{ 0x14, TP_EVENT_GEST_DOWN },
+
{ 0x48, TP_EVENT_GEST_ZOOM_IN },
+
{ 0x49, TP_EVENT_GEST_ZOOM_OUT }
+
}
+
}
+
+

FT5x16 Touch Controllers Descriptor.

+

Specified descriptor that describe events of the gesture for each controller from FT5x16 series touch controllers.

+ +

Definition at line 66 of file ft5xx6.c.

+ +
+
+ +

◆ FT5X26_CONTROLLER

+ +
+
+ + + + +
const ft5xx6_controller_t FT5X26_CONTROLLER
+
+Initial value:
=
+
{
+
{
+
{ 0x00, TP_EVENT_GEST_NONE },
+
{ 0x1C, TP_EVENT_GEST_LEFT },
+
{ 0x14, TP_EVENT_GEST_RIGHT },
+
{ 0x10, TP_EVENT_GEST_UP },
+
{ 0x18, TP_EVENT_GEST_DOWN },
+
{ 0x48, TP_EVENT_GEST_ZOOM_IN },
+
{ 0x49, TP_EVENT_GEST_ZOOM_OUT }
+
}
+
}
+
+

FT5x26 Touch Controllers Descriptor.

+

Specified descriptor that describe events of the gesture for each controller from FT5x26 series touch controllers.

+ +

Definition at line 79 of file ft5xx6.c.

+ +
+
+ +

◆ FT5X46_CONTROLLER

+ +
+
+ + + + +
const ft5xx6_controller_t FT5X46_CONTROLLER
+
+Initial value:
=
+
{
+
{
+
{ 0x00, TP_EVENT_GEST_NONE },
+
{ 0x1C, TP_EVENT_GEST_LEFT },
+
{ 0x14, TP_EVENT_GEST_RIGHT },
+
{ 0x10, TP_EVENT_GEST_UP },
+
{ 0x18, TP_EVENT_GEST_DOWN },
+
{ 0x48, TP_EVENT_GEST_ZOOM_IN },
+
{ 0x49, TP_EVENT_GEST_ZOOM_OUT }
+
}
+
}
+
+

FT5x46 Touch Controllers Descriptor.

+

Specified descriptor that describe events of the gesture for each controller from FT5x46 series touch controllers.

+ +

Definition at line 92 of file ft5xx6.c.

+ +
+
+
+
+ + + + diff --git a/html/ft5xx6_8c.js b/html/ft5xx6_8c.js new file mode 100644 index 0000000..0a2bbff --- /dev/null +++ b/html/ft5xx6_8c.js @@ -0,0 +1,19 @@ +var ft5xx6_8c = +[ + [ "ft5xx6_cfg_setup", "group__ft5xx6.html#ga6fc0a86342900baa3663aba412e2e4b2", null ], + [ "ft5xx6_default_cfg", "group__ft5xx6.html#gac8898b7e2f9ae2c1eef7614ba35d42a2", null ], + [ "ft5xx6_dev_mode_setup", "group__ft5xx6.html#ga806e32ed83d7f3e41a3e9084148512b0", null ], + [ "ft5xx6_generic_read_multiple", "group__ft5xx6.html#gaf98c43602d87923c5820219931906d5c", null ], + [ "ft5xx6_generic_read_single", "group__ft5xx6.html#ga22ffcf2f7a0e4bac3fda6a0af97bf4a8", null ], + [ "ft5xx6_generic_write", "group__ft5xx6.html#gac41bf915d507197704db9dad23977959", null ], + [ "ft5xx6_gesture", "group__ft5xx6.html#ga95c5b63b7e75eeb71a9633205bea6a04", null ], + [ "ft5xx6_init", "group__ft5xx6.html#ga6bc20225d2c49cbddb2f167b7e59633a", null ], + [ "ft5xx6_press_coordinates", "group__ft5xx6.html#ga652c22955075ea78a37bc3c0b04d03ce", null ], + [ "ft5xx6_press_detect", "group__ft5xx6.html#ga7bec3e5973ca8b94132ea761deaadeed", null ], + [ "ft5xx6_process", "group__ft5xx6.html#gadcca9f3cbaca156e26894a63d8f588ee", null ], + [ "ft5xx6_run_mode_setup", "group__ft5xx6.html#ga0db7f121c8041d18fd70616a74669552", null ], + [ "FT5X06_CONTROLLER", "ft5xx6_8c.html#ae33f6da26c053048da54e86905d3820a", null ], + [ "FT5X16_CONTROLLER", "ft5xx6_8c.html#a2ca173cd2083b7148c55616b877fddf0", null ], + [ "FT5X26_CONTROLLER", "ft5xx6_8c.html#a0ac92b9acaa49529e8ea5fea04471631", null ], + [ "FT5X46_CONTROLLER", "ft5xx6_8c.html#a5e22e1754a5ddd38dcda39eb092689d1", null ] +]; \ No newline at end of file diff --git a/html/ft5xx6_8c_source.html b/html/ft5xx6_8c_source.html new file mode 100644 index 0000000..b709c40 --- /dev/null +++ b/html/ft5xx6_8c_source.html @@ -0,0 +1,493 @@ + + + + + + + +Solar panel: lcd/ft5xx6.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
ft5xx6.c
+
+
+Go to the documentation of this file.
1/****************************************************************************
+
2**
+
3** Copyright (C) 2020 MikroElektronika d.o.o.
+
4** Contact: https://www.mikroe.com/contact
+
5**
+
6** This file is part of the mikroSDK package
+
7**
+
8** Commercial License Usage
+
9**
+
10** Licensees holding valid commercial NECTO compilers AI licenses may use this
+
11** file in accordance with the commercial license agreement provided with the
+
12** Software or, alternatively, in accordance with the terms contained in
+
13** a written agreement between you and The mikroElektronika Company.
+
14** For licensing terms and conditions see
+
15** https://www.mikroe.com/legal/software-license-agreement.
+
16** For further information use the contact form at
+
17** https://www.mikroe.com/contact.
+
18**
+
19**
+
20** GNU Lesser General Public License Usage
+
21**
+
22** Alternatively, this file may be used for
+
23** non-commercial projects under the terms of the GNU Lesser
+
24** General Public License version 3 as published by the Free Software
+
25** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html.
+
26**
+
27** The above copyright notice and this permission notice shall be
+
28** included in all copies or substantial portions of the Software.
+
29**
+
30** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+
31** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+
32** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+
33** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+
34** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
+
35** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+
36** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
37**
+
38****************************************************************************/
+
39
+
45#include "ft5xx6.h"
+
46#include "drv_digital_out.h"
+
47#include "drv_digital_in.h"
+
48
+ +
54{
+
55 {
+
56 { 0x00, TP_EVENT_GEST_NONE },
+
57 { 0x10, TP_EVENT_GEST_LEFT },
+
58 { 0x18, TP_EVENT_GEST_RIGHT },
+
59 { 0x1C, TP_EVENT_GEST_UP },
+
60 { 0x14, TP_EVENT_GEST_DOWN },
+
61 { 0x48, TP_EVENT_GEST_ZOOM_IN },
+
62 { 0x49, TP_EVENT_GEST_ZOOM_OUT }
+
63 }
+
64};
+
65
+ +
67{
+
68 {
+
69 { 0x00, TP_EVENT_GEST_NONE },
+
70 { 0x10, TP_EVENT_GEST_LEFT },
+
71 { 0x18, TP_EVENT_GEST_RIGHT },
+
72 { 0x1C, TP_EVENT_GEST_UP },
+
73 { 0x14, TP_EVENT_GEST_DOWN },
+
74 { 0x48, TP_EVENT_GEST_ZOOM_IN },
+
75 { 0x49, TP_EVENT_GEST_ZOOM_OUT }
+
76 }
+
77};
+
78
+ +
80{
+
81 {
+
82 { 0x00, TP_EVENT_GEST_NONE },
+
83 { 0x1C, TP_EVENT_GEST_LEFT },
+
84 { 0x14, TP_EVENT_GEST_RIGHT },
+
85 { 0x10, TP_EVENT_GEST_UP },
+
86 { 0x18, TP_EVENT_GEST_DOWN },
+
87 { 0x48, TP_EVENT_GEST_ZOOM_IN },
+
88 { 0x49, TP_EVENT_GEST_ZOOM_OUT }
+
89 }
+
90};
+
91
+ +
93{
+
94 {
+
95 { 0x00, TP_EVENT_GEST_NONE },
+
96 { 0x1C, TP_EVENT_GEST_LEFT },
+
97 { 0x14, TP_EVENT_GEST_RIGHT },
+
98 { 0x10, TP_EVENT_GEST_UP },
+
99 { 0x18, TP_EVENT_GEST_DOWN },
+
100 { 0x48, TP_EVENT_GEST_ZOOM_IN },
+
101 { 0x49, TP_EVENT_GEST_ZOOM_OUT }
+
102 }
+
103};
+
104
+
114static tp_err_t
+
115ft5xx6_read_press_coordinates( ft5xx6_t * ctx );
+
116
+
125static void
+
126ft5xx6_read_gesture( ft5xx6_t * ctx );
+
127
+
128void
+ +
130{
+
131 i2c_master_configure_default( &cfg->i2c_cfg );
+
132
+
133 cfg->int_pin = HAL_PIN_NC;
+
134 cfg->controller = controller;
+
135}
+
136
+
137tp_err_t
+
138ft5xx6_init( ft5xx6_t * ctx, ft5xx6_cfg_t * cfg, tp_drv_t * drv )
+
139{
+
140// digital_out_t scl_pin;
+
141// digital_in_t sda_pin;
+
142
+
143 // ** Linking problem for functions with different types of arguments.
+
144 tp_event_t ( * tmp_ptr1 )( ft5xx6_t * );
+
145 void ( * tmp_ptr2 )( ft5xx6_t *, tp_touch_item_t * );
+
146 void ( * tmp_ptr3 )( ft5xx6_t *, tp_event_t * );
+
147 tp_err_t ( * tmp_ptr4 )( ft5xx6_t * );
+
148
+
149 /*digital_out_init( &scl_pin, cfg->i2c_cfg.scl );
+
150 digital_in_init( &sda_pin, cfg->i2c_cfg.sda );
+
151 digital_out_high( &scl_pin );
+
152
+
153 while ( 0 == digital_in_read( &sda_pin ) )
+
154 {
+
155 digital_out_low( &scl_pin );
+
156 Delay_10us( );
+
157 digital_out_high( &scl_pin );
+
158 Delay_10us( );
+
159 }*/
+
160
+
161 if ( i2c_master_open( &ctx->i2c, &cfg->i2c_cfg ) == I2C_MASTER_ERROR )
+
162 {
+
163 return TP_ERR_INIT_DRV;
+
164 }
+
165
+
166 i2c_master_set_slave_address( &ctx->i2c, FT5XX6_I2C_ADDR );
+
167 i2c_master_set_speed( &ctx->i2c, I2C_MASTER_SPEED_STANDARD );
+
168 i2c_master_set_timeout( &ctx->i2c, 0 );
+
169
+
170 if ( digital_in_init( &ctx->int_pin, cfg->int_pin ) == DIGITAL_IN_UNSUPPORTED_PIN )
+
171 {
+
172 return TP_ERR_UNSUPPORTED_PIN;
+
173 }
+
174
+
175 ctx->controller = cfg->controller;
+
176
+
177 drv->tp_press_detect_f = ft5xx6_press_detect;
+
178 drv->tp_press_coordinates_f = ft5xx6_press_coordinates;
+
179 drv->tp_gesture_f = ft5xx6_gesture;
+
180 drv->tp_process_f = ft5xx6_process;
+
181
+
182 return TP_OK;
+
183
+
184 // **
+
185 tmp_ptr1( NULL );
+
186 tmp_ptr2( NULL, NULL );
+
187 tmp_ptr3( NULL, NULL );
+
188 tmp_ptr4( NULL );
+
189}
+
190
+
191void
+ +
193{
+ + + + +
198}
+
199
+
200void
+
201ft5xx6_generic_write( ft5xx6_t * ctx, uint8_t reg_addr, uint8_t data_in )
+
202{
+
203 uint8_t tmp_data[ 2 ];
+
204
+
205 tmp_data[ 0 ] = reg_addr;
+
206 tmp_data[ 1 ] = data_in;
+
207
+
208 i2c_master_write( &ctx->i2c, tmp_data, 2 );
+
209}
+
210
+
211uint8_t
+
212ft5xx6_generic_read_single( ft5xx6_t * ctx, uint8_t reg_addr )
+
213{
+
214 uint8_t tmp_data;
+
215
+
216 tmp_data = reg_addr;
+
217
+
218 i2c_master_write_then_read( &ctx->i2c, &tmp_data, 1, &tmp_data, 1 );
+
219
+
220 return tmp_data;
+
221}
+
222
+
223tp_err_t
+
224ft5xx6_generic_read_multiple( ft5xx6_t * ctx, uint8_t reg_addr,
+
225 uint8_t * data_out, uint16_t n_bytes )
+
226{
+
227 uint8_t tmp_data;
+
228
+
229 if ( ( n_bytes < FT5XX6_N_DATA_TRANSFER_MIN ) ||
+
230 ( n_bytes > FT5XX6_N_DATA_TRANSFER_MAX ) )
+
231 {
+
232 return TP_ERR_N_DATA;
+
233 }
+
234
+
235 tmp_data = reg_addr;
+
236
+
237 i2c_master_write_then_read( &ctx->i2c, &tmp_data, 1, data_out, n_bytes );
+
238
+
239 return TP_OK;
+
240}
+
241
+
242void
+ +
244{
+ +
246}
+
247
+
248void
+ +
250{
+ +
252}
+
253
+
254tp_event_t
+ +
256{
+
257 return ctx->press_det;
+
258}
+
259
+
260void
+
261ft5xx6_press_coordinates( ft5xx6_t * ctx, tp_touch_item_t * touch_item )
+
262{
+
263 touch_item->n_touches = ctx->touch.n_touches;
+
264
+
265 for ( uint8_t idx = 0; idx < ctx->touch.n_touches; idx++ )
+
266 {
+
267 touch_item->point[ idx ].coord_x = ctx->touch.point[ idx ].coord_x;
+
268 touch_item->point[ idx ].coord_y = ctx->touch.point[ idx ].coord_y;
+
269
+
270 touch_item->point[ idx ].event = ctx->touch.point[ idx ].event;
+
271 touch_item->point[ idx ].id = ctx->touch.point[ idx ].id;
+
272 }
+
273}
+
274
+
275void
+
276ft5xx6_gesture( ft5xx6_t * ctx, tp_event_t * event )
+
277{
+
278 *event = ctx->gesture;
+
279}
+
280
+
281tp_err_t
+ +
283{
+
284 tp_err_t status;
+
285
+
286 status = ft5xx6_read_press_coordinates( ctx );
+
287
+
288 if ( ( status == TP_OK ) && ( ctx->press_det == TP_EVENT_PRESS_DET ) )
+
289 {
+
290 ft5xx6_read_gesture( ctx );
+
291 }
+
292
+
293 return status;
+
294}
+
295
+
296static tp_err_t
+
297ft5xx6_read_press_coordinates( ft5xx6_t * ctx )
+
298{
+
299 if ( !digital_in_read( &ctx->int_pin ) )
+
300 {
+ +
302
+
303 if ( ctx->touch.n_touches > TP_N_TOUCHES_MAX )
+
304 {
+
305 return TP_ERR_N_TOUCHES;
+
306 }
+
307 else
+
308 {
+
309 uint8_t read_data[ 4 ];
+
310 uint8_t touch_addr = FT5XX6_REG_TOUCH1_XH;
+
311
+
312 for ( uint8_t idx = 0; idx < ctx->touch.n_touches; idx++ )
+
313 {
+
314 ft5xx6_generic_read_multiple( ctx, touch_addr, read_data, 4 );
+
315
+
316 ctx->touch.point[ idx ].coord_x = read_data[ 0 ];
+
317 ctx->touch.point[ idx ].coord_x <<= 8;
+
318 ctx->touch.point[ idx ].coord_x |= read_data[ 1 ];
+
319 ctx->touch.point[ idx ].coord_x &= FT5XX6_MASK_PRESS_COORD;
+
320
+
321 ctx->touch.point[ idx ].coord_y = read_data[ 2 ];
+
322 ctx->touch.point[ idx ].coord_y <<= 8;
+
323 ctx->touch.point[ idx ].coord_y |= read_data[ 3 ];
+
324 ctx->touch.point[ idx ].coord_y &= FT5XX6_MASK_PRESS_COORD;
+
325
+
326 ctx->touch.point[ idx ].event = read_data[ 0 ] >> FT5XX6_OFFSET_PRESS_EVENT;
+
327 ctx->touch.point[ idx ].id = read_data[ 2 ] >> FT5XX6_OFFSET_PRESS_ID;
+
328
+
329 touch_addr += FT5XX6_OFFSET_TOUCH_READING;
+
330 }
+
331
+
332 ctx->press_det = TP_EVENT_PRESS_DET;
+
333 }
+
334 }
+
335 else
+
336 {
+
337 ctx->press_det = TP_EVENT_PRESS_NOT_DET;
+
338 }
+
339
+
340 return TP_OK;
+
341}
+
342
+
343static void
+
344ft5xx6_read_gesture( ft5xx6_t * ctx )
+
345{
+
346 uint8_t read_data;
+
347
+ +
349
+
350 for ( uint8_t idx = 0; idx < FT5XX6_GESTURE_ITEMS_MAX; idx++ )
+
351 {
+
352 if ( read_data == ctx->controller->gest_items[ idx ].key )
+
353 {
+
354 ctx->gesture = ctx->controller->gest_items[ idx ].value;
+
355
+
356 return;
+
357 }
+
358 }
+
359}
+
360
+
361// ------------------------------------------------------------------------ END
+
const ft5xx6_controller_t FT5X26_CONTROLLER
FT5x26 Touch Controllers Descriptor.
Definition: ft5xx6.c:79
+
const ft5xx6_controller_t FT5X16_CONTROLLER
FT5x16 Touch Controllers Descriptor.
Definition: ft5xx6.c:66
+
const ft5xx6_controller_t FT5X46_CONTROLLER
FT5x46 Touch Controllers Descriptor.
Definition: ft5xx6.c:92
+
const ft5xx6_controller_t FT5X06_CONTROLLER
FT5xx6 Events Definition.
Definition: ft5xx6.c:53
+
FT5xx6 Touch Controller Driver.
+
ft5xx6_run_mode_t
FT5xx6 Run Mode Settings.
Definition: ft5xx6.h:536
+
@ FT5XX6_RUN_MODE_WORK
Definition: ft5xx6.h:538
+
@ FT5XX6_RUN_MODE_CFG
Definition: ft5xx6.h:537
+
ft5xx6_dev_mode_t
FT5xx6 Device Mode Settings.
Definition: ft5xx6.h:524
+
@ FT5XX6_DEV_MODE_NORMAL
Definition: ft5xx6.h:525
+
#define FT5XX6_MASK_PRESS_COORD
FT5xx6 Touch Coordinates Mask.
Definition: ft5xx6.h:447
+
#define FT5XX6_OFFSET_TOUCH_READING
FT5xx6 Touch Reading Offset.
Definition: ft5xx6.h:502
+
#define FT5XX6_OFFSET_DEV_MODE
FT5xx6 Device Mode Offset.
Definition: ft5xx6.h:496
+
#define FT5XX6_OFFSET_PRESS_ID
FT5xx6 Touch ID Offset.
Definition: ft5xx6.h:490
+
#define FT5XX6_OFFSET_PRESS_EVENT
FT5xx6 Touch Event Offset.
Definition: ft5xx6.h:484
+
#define FT5XX6_REG_TD_STATUS
FT5xx6 Status Register.
Definition: ft5xx6.h:94
+
#define FT5XX6_REG_GEST_ID
FT5xx6 Gesture ID Register.
Definition: ft5xx6.h:88
+
#define FT5XX6_REG_DEVICE_MODE
FT5xx6 Device Mode Register.
Definition: ft5xx6.h:81
+
#define FT5XX6_REG_RUNNING_STATE
FT5xx6 Running State Register.
Definition: ft5xx6.h:353
+
#define FT5XX6_REG_IVT_TO_HOST_STATUS
FT5xx6 IVT To Host Status Register.
Definition: ft5xx6.h:332
+
#define FT5XX6_REG_TOUCH1_XH
FT5xx6 Touch1 X-coord MSB Register.
Definition: ft5xx6.h:101
+
#define FT5XX6_N_DATA_TRANSFER_MAX
Definition: ft5xx6.h:418
+
#define FT5XX6_INT_MODE_POLLING
FT5xx6 Interrupt Polling Mode Setting.
Definition: ft5xx6.h:399
+
#define FT5XX6_I2C_ADDR
FT5xx6 Slave Address Setting.
Definition: ft5xx6.h:411
+
#define FT5XX6_N_DATA_TRANSFER_MIN
FT5xx6 Data Transfer Limits Setting.
Definition: ft5xx6.h:417
+
#define FT5XX6_GESTURE_ITEMS_MAX
FT5xx6 Gesture Items Limit Setting.
Definition: ft5xx6.h:424
+
void ft5xx6_run_mode_setup(ft5xx6_t *ctx, ft5xx6_run_mode_t mode)
FT5xx6 Run Mode Setup Function.
Definition: ft5xx6.c:249
+
uint8_t ft5xx6_generic_read_single(ft5xx6_t *ctx, uint8_t reg_addr)
FT5xx6 Generic Single Read Function.
Definition: ft5xx6.c:212
+
void ft5xx6_press_coordinates(ft5xx6_t *ctx, tp_touch_item_t *touch_item)
FT5xx6 Pressure Coordinates Check Function.
Definition: ft5xx6.c:261
+
tp_err_t ft5xx6_init(ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv)
FT5xx6 Initialization Function.
Definition: ft5xx6.c:138
+
void ft5xx6_cfg_setup(ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller)
FT5xx6 Configuration Object Setup Function.
Definition: ft5xx6.c:129
+
tp_event_t ft5xx6_press_detect(ft5xx6_t *ctx)
FT5xx6 Touch Pressure Detect Function.
Definition: ft5xx6.c:255
+
void ft5xx6_dev_mode_setup(ft5xx6_t *ctx, ft5xx6_dev_mode_t mode)
FT5xx6 Device Mode Setup Function.
Definition: ft5xx6.c:243
+
void ft5xx6_gesture(ft5xx6_t *ctx, tp_event_t *event)
FT5xx6 Gesture Check Function.
Definition: ft5xx6.c:276
+
void ft5xx6_generic_write(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in)
FT5xx6 Generic Write Function.
Definition: ft5xx6.c:201
+
void ft5xx6_default_cfg(ft5xx6_t *ctx)
FT5xx6 Default Configuration Function.
Definition: ft5xx6.c:192
+
tp_err_t ft5xx6_process(ft5xx6_t *ctx)
FT5xx6 Process Function.
Definition: ft5xx6.c:282
+
tp_err_t ft5xx6_generic_read_multiple(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes)
FT5xx6 Generic Multiple Read Function.
Definition: ft5xx6.c:224
+
FT5xx6 Configuration Object.
Definition: ft5xx6.h:571
+
const ft5xx6_controller_t * controller
Definition: ft5xx6.h:576
+
i2c_master_config_t i2c_cfg
Definition: ft5xx6.h:574
+
pin_name_t int_pin
Definition: ft5xx6.h:572
+
FT5xx6 Gesture Items.
Definition: ft5xx6.h:561
+
ft5xx6_gest_item_t gest_items[FT5XX6_GESTURE_ITEMS_MAX]
Definition: ft5xx6.h:562
+
tp_event_t value
Definition: ft5xx6.h:552
+ +
FT5xx6 Context Object.
Definition: ft5xx6.h:585
+
i2c_master_t i2c
Definition: ft5xx6.h:586
+
tp_event_t gesture
Definition: ft5xx6.h:594
+
tp_touch_item_t touch
Definition: ft5xx6.h:593
+
const ft5xx6_controller_t * controller
Definition: ft5xx6.h:590
+
tp_event_t press_det
Definition: ft5xx6.h:592
+
digital_in_t int_pin
Definition: ft5xx6.h:588
+
+
+ + + + diff --git a/html/ft5xx6_8h.html b/html/ft5xx6_8h.html new file mode 100644 index 0000000..d0e6df3 --- /dev/null +++ b/html/ft5xx6_8h.html @@ -0,0 +1,566 @@ + + + + + + + +Solar panel: lcd/ft5xx6.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
ft5xx6.h File Reference
+
+
+ +

FT5xx6 Touch Controller Driver. +More...

+
#include "drv_i2c_master.h"
+#include "drv_digital_in.h"
+#include "drv_name.h"
+#include "tp.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Classes

struct  ft5xx6_gest_item_t
 FT5xx6 Gesture Item Definition. More...
 
struct  ft5xx6_controller_t
 FT5xx6 Gesture Items. More...
 
struct  ft5xx6_cfg_t
 FT5xx6 Configuration Object. More...
 
struct  ft5xx6_t
 FT5xx6 Context Object. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define FT5XX6_REG_DEVICE_MODE   0x0
 FT5xx6 Device Mode Register.
 
#define FT5XX6_REG_GEST_ID   0x1
 FT5xx6 Gesture ID Register.
 
#define FT5XX6_REG_TD_STATUS   0x2
 FT5xx6 Status Register.
 
#define FT5XX6_REG_TOUCH1_XH   0x3
 FT5xx6 Touch1 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH1_XL   0x4
 FT5xx6 Touch1 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH1_YH   0x5
 FT5xx6 Touch1 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH1_YL   0x6
 FT5xx6 Touch1 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH2_XH   0x9
 FT5xx6 Touch2 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH2_XL   0xA
 FT5xx6 Touch2 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH2_YH   0xB
 FT5xx6 Touch2 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH2_YL   0xC
 FT5xx6 Touch2 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH3_XH   0xF
 FT5xx6 Touch3 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH3_XL   0x10
 FT5xx6 Touch3 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH3_YH   0x11
 FT5xx6 Touch3 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH3_YL   0x12
 FT5xx6 Touch3 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH4_XH   0x15
 FT5xx6 Touch4 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH4_XL   0x16
 FT5xx6 Touch4 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH4_YH   0x17
 FT5xx6 Touch4 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH4_YL   0x18
 FT5xx6 Touch4 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH5_XH   0x1B
 FT5xx6 Touch5 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH5_XL   0x1C
 FT5xx6 Touch5 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH5_YH   0x1D
 FT5xx6 Touch5 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH5_YL   0x1E
 FT5xx6 Touch5 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH_DET_TH   0x80
 FT5xx6 Touch Detection Threshold Register.
 
#define FT5XX6_REG_TOUCH_PEAK_DET_TH   0x81
 FT5xx6 Touch Peak Detection Threshold Register.
 
#define FT5XX6_REG_TOUCH_TH_CAL   0x82
 FT5xx6 Touch Threshold Calibration Register.
 
#define FT5XX6_REG_TOUCH_TH_WATER   0x83
 FT5xx6 Touch Threshold Water Register.
 
#define FT5XX6_REG_TOUCH_TH_TEMP_COMP   0x84
 FT5xx6 Touch Threshold Temperature Compensation Register.
 
#define FT5XX6_REG_POWER_CTRL_MODE   0x86
 FT5xx6 Power Control Register.
 
#define FT5XX6_REG_MONITOR_STATUS_TMR   0x87
 FT5xx6 Timer Status Monitor Register.
 
#define FT5XX6_REG_MONITOR_ACT_PERIOD   0x88
 FT5xx6 Actual Period Monitor Register.
 
#define FT5XX6_REG_ENTER_IDLE_TIMER   0x89
 FT5xx6 Enter Idle Timer Register.
 
#define FT5XX6_REG_AUTO_CALIB_MODE   0xA0
 FT5xx6 Auto Calibration Register.
 
#define FT5XX6_REG_LIB_VERSION_H   0xA1
 FT5xx6 Version MSB Register.
 
#define FT5XX6_REG_LIB_VERSION_L   0xA2
 FT5xx6 Version LSB Register.
 
#define FT5XX6_REG_LIB_CHIP_VENDOR_ID   0xA3
 FT5xx6 Chip Vendor ID Register.
 
#define FT5XX6_REG_IVT_TO_HOST_STATUS   0xA4
 FT5xx6 IVT To Host Status Register.
 
#define FT5XX6_REG_POWER_CONSUME_MODE   0xA5
 FT5xx6 Power Consume Register.
 
#define FT5XX6_REG_FW_ID   0xA6
 FT5xx6 FW ID Register.
 
#define FT5XX6_REG_RUNNING_STATE   0xA7
 FT5xx6 Running State Register.
 
#define FT5XX6_REG_CTPM_VENDOR_ID   0xA8
 FT5xx6 CTPM Vendor ID Register.
 
#define FT5XX6_REG_ERROR_ID   0xA9
 FT5xx6 Error ID Register.
 
#define FT5XX6_REG_CONFIGURE_CAL_MODE   0xAA
 FT5xx6 Calibration Mode Configuration Register.
 
#define FT5XX6_REG_BIG_AREA_TH   0xAE
 FT5xx6 Big Area Threshold Register.
 
#define FT5XX6_INT_MODE_POLLING   0
 FT5xx6 Interrupt Polling Mode Setting.
 
#define FT5XX6_INT_MODE_TRIGGER   1
 FT5xx6 Interrupt Trigger Mode Setting.
 
#define FT5XX6_I2C_ADDR   0x38
 FT5xx6 Slave Address Setting.
 
#define FT5XX6_N_DATA_TRANSFER_MIN   1
 FT5xx6 Data Transfer Limits Setting.
 
#define FT5XX6_N_DATA_TRANSFER_MAX   256
 
#define FT5XX6_GESTURE_ITEMS_MAX   7
 FT5xx6 Gesture Items Limit Setting.
 
#define FT5XX6_EVENT_PRESS_DET   0x80
 FT5xx6 Touch Pressure Event.
 
#define FT5XX6_MASK_PRESS_COORD   0xFFF
 FT5xx6 Touch Coordinates Mask.
 
#define FT5XX6_MASK_PRESS_EVENT   0xC0
 FT5xx6 Touch Event Mask.
 
#define FT5XX6_MASK_PRESS_DET   0xC0
 FT5xx6 Touch Detection Mask.
 
#define FT5XX6_MASK_TP_NUM   0xF
 FT5xx6 TP Number Mask.
 
#define FT5XX6_OFFSET_PRESS_EVENT   6
 FT5xx6 Touch Event Offset.
 
#define FT5XX6_OFFSET_PRESS_ID   4
 FT5xx6 Touch ID Offset.
 
#define FT5XX6_OFFSET_DEV_MODE   4
 FT5xx6 Device Mode Offset.
 
#define FT5XX6_OFFSET_TOUCH_READING   6
 FT5xx6 Touch Reading Offset.
 
#define FT5XX6_MAP_PINS(cfg)
 FT5xx6 Pin Mapping.
 
+ + + + + + + +

+Enumerations

enum  ft5xx6_dev_mode_t { FT5XX6_DEV_MODE_NORMAL +, FT5XX6_DEV_MODE_SYS_INFO +, FT5XX6_DEV_MODE_TEST = 4 + }
 FT5xx6 Device Mode Settings. More...
 
enum  ft5xx6_run_mode_t {
+  FT5XX6_RUN_MODE_CFG +, FT5XX6_RUN_MODE_WORK +, FT5XX6_RUN_MODE_CAL +, FT5XX6_RUN_MODE_FACT +,
+  FT5XX6_RUN_MODE_AUTO_CAL +
+ }
 FT5xx6 Run Mode Settings. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void ft5xx6_cfg_setup (ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller)
 FT5xx6 Configuration Object Setup Function.
 
tp_err_t ft5xx6_init (ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv)
 FT5xx6 Initialization Function.
 
void ft5xx6_default_cfg (ft5xx6_t *ctx)
 FT5xx6 Default Configuration Function.
 
void ft5xx6_generic_write (ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in)
 FT5xx6 Generic Write Function.
 
uint8_t ft5xx6_generic_read_single (ft5xx6_t *ctx, uint8_t reg_addr)
 FT5xx6 Generic Single Read Function.
 
tp_err_t ft5xx6_generic_read_multiple (ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes)
 FT5xx6 Generic Multiple Read Function.
 
void ft5xx6_dev_mode_setup (ft5xx6_t *ctx, ft5xx6_dev_mode_t mode)
 FT5xx6 Device Mode Setup Function.
 
void ft5xx6_run_mode_setup (ft5xx6_t *ctx, ft5xx6_run_mode_t mode)
 FT5xx6 Run Mode Setup Function.
 
tp_event_t ft5xx6_press_detect (ft5xx6_t *ctx)
 FT5xx6 Touch Pressure Detect Function.
 
void ft5xx6_press_coordinates (ft5xx6_t *ctx, tp_touch_item_t *touch_item)
 FT5xx6 Pressure Coordinates Check Function.
 
void ft5xx6_gesture (ft5xx6_t *ctx, tp_event_t *event)
 FT5xx6 Gesture Check Function.
 
tp_err_t ft5xx6_process (ft5xx6_t *ctx)
 FT5xx6 Process Function.
 
+ + + + + + + + + + + + + +

+Variables

const ft5xx6_controller_t FT5X06_CONTROLLER
 FT5x06 Touch Controllers Descriptor.
 
const ft5xx6_controller_t FT5X16_CONTROLLER
 FT5x16 Touch Controllers Descriptor.
 
const ft5xx6_controller_t FT5X26_CONTROLLER
 FT5x26 Touch Controllers Descriptor.
 
const ft5xx6_controller_t FT5X46_CONTROLLER
 FT5x46 Touch Controllers Descriptor.
 
+

Detailed Description

+

FT5xx6 Touch Controller Driver.

+ +

Definition in file ft5xx6.h.

+

Enumeration Type Documentation

+ +

◆ ft5xx6_dev_mode_t

+ +
+
+ + + + +
enum ft5xx6_dev_mode_t
+
+ +

FT5xx6 Device Mode Settings.

+

Device mode definition for FT5xx6 series touch controllers.

+ + + + +
Enumerator
FT5XX6_DEV_MODE_NORMAL 

Normal mode.

+
FT5XX6_DEV_MODE_SYS_INFO 

System info mode.

+
FT5XX6_DEV_MODE_TEST 

Device test mode.

+
+ +

Definition at line 523 of file ft5xx6.h.

+ +
+
+ +

◆ ft5xx6_run_mode_t

+ +
+
+ + + + +
enum ft5xx6_run_mode_t
+
+ +

FT5xx6 Run Mode Settings.

+

Run mode definition for FT5xx6 series touch controllers.

+ + + + + + +
Enumerator
FT5XX6_RUN_MODE_CFG 

Config mode.

+
FT5XX6_RUN_MODE_WORK 

Working mode.

+
FT5XX6_RUN_MODE_CAL 

Calibration mode.

+
FT5XX6_RUN_MODE_FACT 

Factory mode.

+
FT5XX6_RUN_MODE_AUTO_CAL 

Auto calibration mode.

+
+ +

Definition at line 535 of file ft5xx6.h.

+ +
+
+

Variable Documentation

+ +

◆ FT5X06_CONTROLLER

+ +
+
+ + + + + +
+ + + + +
const ft5xx6_controller_t FT5X06_CONTROLLER
+
+extern
+
+ +

FT5x06 Touch Controllers Descriptor.

+

Specified descriptor that describe events of the gesture for each controller from FT5x06 series touch controllers.

+

FT5x06 Touch Controllers Descriptor.

+

Events code definition depending on the family of touch controller.

+ +

Definition at line 53 of file ft5xx6.c.

+ +
+
+ +

◆ FT5X16_CONTROLLER

+ +
+
+ + + + + +
+ + + + +
const ft5xx6_controller_t FT5X16_CONTROLLER
+
+extern
+
+ +

FT5x16 Touch Controllers Descriptor.

+

Specified descriptor that describe events of the gesture for each controller from FT5x16 series touch controllers.

+ +

Definition at line 66 of file ft5xx6.c.

+ +
+
+ +

◆ FT5X26_CONTROLLER

+ +
+
+ + + + + +
+ + + + +
const ft5xx6_controller_t FT5X26_CONTROLLER
+
+extern
+
+ +

FT5x26 Touch Controllers Descriptor.

+

Specified descriptor that describe events of the gesture for each controller from FT5x26 series touch controllers.

+ +

Definition at line 79 of file ft5xx6.c.

+ +
+
+ +

◆ FT5X46_CONTROLLER

+ +
+
+ + + + + +
+ + + + +
const ft5xx6_controller_t FT5X46_CONTROLLER
+
+extern
+
+ +

FT5x46 Touch Controllers Descriptor.

+

Specified descriptor that describe events of the gesture for each controller from FT5x46 series touch controllers.

+ +

Definition at line 92 of file ft5xx6.c.

+ +
+
+
+
+ + + + diff --git a/html/ft5xx6_8h.js b/html/ft5xx6_8h.js new file mode 100644 index 0000000..9e478da --- /dev/null +++ b/html/ft5xx6_8h.js @@ -0,0 +1,95 @@ +var ft5xx6_8h = +[ + [ "ft5xx6_gest_item_t", "structft5xx6__gest__item__t.html", "structft5xx6__gest__item__t" ], + [ "ft5xx6_controller_t", "structft5xx6__controller__t.html", "structft5xx6__controller__t" ], + [ "ft5xx6_cfg_t", "structft5xx6__cfg__t.html", "structft5xx6__cfg__t" ], + [ "ft5xx6_t", "structft5xx6__t.html", "structft5xx6__t" ], + [ "FT5XX6_EVENT_PRESS_DET", "group__ft5xx6__settings.html#gaf8faa1f0b1557196058bc3e4eae35327", null ], + [ "FT5XX6_GESTURE_ITEMS_MAX", "group__ft5xx6__settings.html#gafc926f3ab5967bc8b02428b2565265e5", null ], + [ "FT5XX6_I2C_ADDR", "group__ft5xx6__settings.html#gabb0efae5648f97624e65974977203b3f", null ], + [ "FT5XX6_INT_MODE_POLLING", "group__ft5xx6__settings.html#ga7e6910fadf6c2608f18e2da464349dac", null ], + [ "FT5XX6_INT_MODE_TRIGGER", "group__ft5xx6__settings.html#ga133324cfd35fc1484bbde0c8febe6807", null ], + [ "FT5XX6_MAP_PINS", "group__ft5xx6__settings.html#ga782865f91f11bdbc5712b01cc507e5b2", null ], + [ "FT5XX6_MASK_PRESS_COORD", "group__ft5xx6__masks.html#gac7c349b78ede9988bea329a0c36d5143", null ], + [ "FT5XX6_MASK_PRESS_DET", "group__ft5xx6__masks.html#ga217588659c60a4ece9c1f33917295299", null ], + [ "FT5XX6_MASK_PRESS_EVENT", "group__ft5xx6__masks.html#gab272329933e2f0d04121f03fb3349ac1", null ], + [ "FT5XX6_MASK_TP_NUM", "group__ft5xx6__masks.html#ga2f9cfc5a40db87619e14e6665ba9ef87", null ], + [ "FT5XX6_N_DATA_TRANSFER_MAX", "group__ft5xx6__settings.html#ga46f6f524541133d4a70b1a6d8dc5c781", null ], + [ "FT5XX6_N_DATA_TRANSFER_MIN", "group__ft5xx6__settings.html#gae951d666752d722e9785333931f29ede", null ], + [ "FT5XX6_OFFSET_DEV_MODE", "group__ft5xx6__offsets.html#ga495a87bf38c3f4106bee6461d208d453", null ], + [ "FT5XX6_OFFSET_PRESS_EVENT", "group__ft5xx6__offsets.html#gaa720e7bc0e70372b69c0332338410f5b", null ], + [ "FT5XX6_OFFSET_PRESS_ID", "group__ft5xx6__offsets.html#ga5ec1145d01e66b7babea658e7e350518", null ], + [ "FT5XX6_OFFSET_TOUCH_READING", "group__ft5xx6__offsets.html#ga41ec44ebb66fe210444354887c25639f", null ], + [ "FT5XX6_REG_AUTO_CALIB_MODE", "group__ft5xx6__registers.html#ga7b5836bbe2b49cde9008a051846e01b2", null ], + [ "FT5XX6_REG_BIG_AREA_TH", "group__ft5xx6__registers.html#gaa932733a38cfbf5cc38fd79521da8fe4", null ], + [ "FT5XX6_REG_CONFIGURE_CAL_MODE", "group__ft5xx6__registers.html#ga63062e81a4633785640e6c89094bba7b", null ], + [ "FT5XX6_REG_CTPM_VENDOR_ID", "group__ft5xx6__registers.html#ga5b6140849a381d02ef65cfe298c28252", null ], + [ "FT5XX6_REG_DEVICE_MODE", "group__ft5xx6__registers.html#ga8b8a45b214b83b59db5eb74c05e76e37", null ], + [ "FT5XX6_REG_ENTER_IDLE_TIMER", "group__ft5xx6__registers.html#gab28bfcb895253abc798e3bada35ab3bd", null ], + [ "FT5XX6_REG_ERROR_ID", "group__ft5xx6__registers.html#ga6c2fe21e1b12caf1ebec90102dba878d", null ], + [ "FT5XX6_REG_FW_ID", "group__ft5xx6__registers.html#gaa6f326683cdd97adeee1bbfd3b9491a7", null ], + [ "FT5XX6_REG_GEST_ID", "group__ft5xx6__registers.html#ga540c4433c7c3c05d335d1ae660fa7819", null ], + [ "FT5XX6_REG_IVT_TO_HOST_STATUS", "group__ft5xx6__registers.html#gad678435b3e96e345e171c73fa106553e", null ], + [ "FT5XX6_REG_LIB_CHIP_VENDOR_ID", "group__ft5xx6__registers.html#gac71a05649c083678340c176cbc91c97d", null ], + [ "FT5XX6_REG_LIB_VERSION_H", "group__ft5xx6__registers.html#ga89642a5b534743e63639822069f8cff0", null ], + [ "FT5XX6_REG_LIB_VERSION_L", "group__ft5xx6__registers.html#gaf20b91b1a83ea37855f5fcfcae700159", null ], + [ "FT5XX6_REG_MONITOR_ACT_PERIOD", "group__ft5xx6__registers.html#ga1be9b52d8bc5125fd3514963027585e1", null ], + [ "FT5XX6_REG_MONITOR_STATUS_TMR", "group__ft5xx6__registers.html#ga59a4f6db976b607671d948d51ec3a2d6", null ], + [ "FT5XX6_REG_POWER_CONSUME_MODE", "group__ft5xx6__registers.html#gaab067b4892cdca6f9b060edbf4d7c579", null ], + [ "FT5XX6_REG_POWER_CTRL_MODE", "group__ft5xx6__registers.html#ga596c00cc67787aeb4acb4d58ea9dc259", null ], + [ "FT5XX6_REG_RUNNING_STATE", "group__ft5xx6__registers.html#gabae27c2f3c8c464b2e4a39c932ebd084", null ], + [ "FT5XX6_REG_TD_STATUS", "group__ft5xx6__registers.html#ga005eda4b759f90b7a1b684e39adf2b6f", null ], + [ "FT5XX6_REG_TOUCH1_XH", "group__ft5xx6__registers.html#gaec80f3f0e4f4353a2aec7531a9db05ef", null ], + [ "FT5XX6_REG_TOUCH1_XL", "group__ft5xx6__registers.html#ga93f84503f533f065ce5970ce1d43591c", null ], + [ "FT5XX6_REG_TOUCH1_YH", "group__ft5xx6__registers.html#ga235479e39af35ab46b3aa8fc02384fa8", null ], + [ "FT5XX6_REG_TOUCH1_YL", "group__ft5xx6__registers.html#ga0eca480461891c3c33d627cd1532a5d9", null ], + [ "FT5XX6_REG_TOUCH2_XH", "group__ft5xx6__registers.html#ga361b31fdf399b0a40c5aedc8120b82d2", null ], + [ "FT5XX6_REG_TOUCH2_XL", "group__ft5xx6__registers.html#gacff011a8e7b2c9fd34f7a0407976d3af", null ], + [ "FT5XX6_REG_TOUCH2_YH", "group__ft5xx6__registers.html#gaf368e8be3460c329019e97a53fd336bc", null ], + [ "FT5XX6_REG_TOUCH2_YL", "group__ft5xx6__registers.html#ga7d0dd5e9d96088d28439700a1b81078d", null ], + [ "FT5XX6_REG_TOUCH3_XH", "group__ft5xx6__registers.html#ga55e3ec274bb355695e29556f617eaec2", null ], + [ "FT5XX6_REG_TOUCH3_XL", "group__ft5xx6__registers.html#ga113762743ca541c7aba94be79c37e4a3", null ], + [ "FT5XX6_REG_TOUCH3_YH", "group__ft5xx6__registers.html#gad3f856ddff2ccf75349ee75d37c51322", null ], + [ "FT5XX6_REG_TOUCH3_YL", "group__ft5xx6__registers.html#gab436e5aecd5cf1c5c40bf7593b6a3cec", null ], + [ "FT5XX6_REG_TOUCH4_XH", "group__ft5xx6__registers.html#ga10eb6127e83e29d76a02ce9e5a5fae10", null ], + [ "FT5XX6_REG_TOUCH4_XL", "group__ft5xx6__registers.html#ga29479c572b8947f7322d2cb8a2cb02f0", null ], + [ "FT5XX6_REG_TOUCH4_YH", "group__ft5xx6__registers.html#ga0a6ee503e89a68a6cc4409099073fe56", null ], + [ "FT5XX6_REG_TOUCH4_YL", "group__ft5xx6__registers.html#gaa3b22ffa4d01f08042d854dc863ff2ba", null ], + [ "FT5XX6_REG_TOUCH5_XH", "group__ft5xx6__registers.html#ga003a3be17608c0062181d2d6b311b2cf", null ], + [ "FT5XX6_REG_TOUCH5_XL", "group__ft5xx6__registers.html#ga44b6ac08854f66b3ca5897d8d30bc4ab", null ], + [ "FT5XX6_REG_TOUCH5_YH", "group__ft5xx6__registers.html#ga2135e7acb4f44970e000cf3939b42cf6", null ], + [ "FT5XX6_REG_TOUCH5_YL", "group__ft5xx6__registers.html#ga5858094141e61f0253c90a886ca862dd", null ], + [ "FT5XX6_REG_TOUCH_DET_TH", "group__ft5xx6__registers.html#gae860655ceed039a371c006cb634e592d", null ], + [ "FT5XX6_REG_TOUCH_PEAK_DET_TH", "group__ft5xx6__registers.html#ga266afb318049260d4c59c11413466a66", null ], + [ "FT5XX6_REG_TOUCH_TH_CAL", "group__ft5xx6__registers.html#gab02f95c87000f71a1d811e983512a93d", null ], + [ "FT5XX6_REG_TOUCH_TH_TEMP_COMP", "group__ft5xx6__registers.html#gaa6a2627f8dff67a5a12aeff0f9dab4e2", null ], + [ "FT5XX6_REG_TOUCH_TH_WATER", "group__ft5xx6__registers.html#ga8bce6229099426aa0d5c884c2caef3fa", null ], + [ "ft5xx6_dev_mode_t", "ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471d", [ + [ "FT5XX6_DEV_MODE_NORMAL", "ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471dab9617f547a5f9e5d7149a1d56d441b4b", null ], + [ "FT5XX6_DEV_MODE_SYS_INFO", "ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471da5c98840643bd2a3533e908104541026c", null ], + [ "FT5XX6_DEV_MODE_TEST", "ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471dae4752db6e4298e3b2ed60bc72bcb407b", null ] + ] ], + [ "ft5xx6_run_mode_t", "ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872d", [ + [ "FT5XX6_RUN_MODE_CFG", "ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872dadaab43c87f17aae1b5f9b9d476b8f659", null ], + [ "FT5XX6_RUN_MODE_WORK", "ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da46a0c39e02d1928889916183cb6d9607", null ], + [ "FT5XX6_RUN_MODE_CAL", "ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da58728c858c3a7b64aaf0d01649d94b22", null ], + [ "FT5XX6_RUN_MODE_FACT", "ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da7932bc9ccbd47f7afa1bdd659f6a4e0c", null ], + [ "FT5XX6_RUN_MODE_AUTO_CAL", "ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da018c9eada47cdd6e8d5884137dd92b57", null ] + ] ], + [ "ft5xx6_cfg_setup", "group__ft5xx6.html#ga6fc0a86342900baa3663aba412e2e4b2", null ], + [ "ft5xx6_default_cfg", "group__ft5xx6.html#gac8898b7e2f9ae2c1eef7614ba35d42a2", null ], + [ "ft5xx6_dev_mode_setup", "group__ft5xx6.html#ga806e32ed83d7f3e41a3e9084148512b0", null ], + [ "ft5xx6_generic_read_multiple", "group__ft5xx6.html#gaf98c43602d87923c5820219931906d5c", null ], + [ "ft5xx6_generic_read_single", "group__ft5xx6.html#ga22ffcf2f7a0e4bac3fda6a0af97bf4a8", null ], + [ "ft5xx6_generic_write", "group__ft5xx6.html#gac41bf915d507197704db9dad23977959", null ], + [ "ft5xx6_gesture", "group__ft5xx6.html#ga95c5b63b7e75eeb71a9633205bea6a04", null ], + [ "ft5xx6_init", "group__ft5xx6.html#ga6bc20225d2c49cbddb2f167b7e59633a", null ], + [ "ft5xx6_press_coordinates", "group__ft5xx6.html#ga652c22955075ea78a37bc3c0b04d03ce", null ], + [ "ft5xx6_press_detect", "group__ft5xx6.html#ga7bec3e5973ca8b94132ea761deaadeed", null ], + [ "ft5xx6_process", "group__ft5xx6.html#gadcca9f3cbaca156e26894a63d8f588ee", null ], + [ "ft5xx6_run_mode_setup", "group__ft5xx6.html#ga0db7f121c8041d18fd70616a74669552", null ], + [ "FT5X06_CONTROLLER", "ft5xx6_8h.html#ae33f6da26c053048da54e86905d3820a", null ], + [ "FT5X16_CONTROLLER", "ft5xx6_8h.html#a2ca173cd2083b7148c55616b877fddf0", null ], + [ "FT5X26_CONTROLLER", "ft5xx6_8h.html#a0ac92b9acaa49529e8ea5fea04471631", null ], + [ "FT5X46_CONTROLLER", "ft5xx6_8h.html#a5e22e1754a5ddd38dcda39eb092689d1", null ] +]; \ No newline at end of file diff --git a/html/ft5xx6_8h_source.html b/html/ft5xx6_8h_source.html new file mode 100644 index 0000000..66bc18f --- /dev/null +++ b/html/ft5xx6_8h_source.html @@ -0,0 +1,421 @@ + + + + + + + +Solar panel: lcd/ft5xx6.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
ft5xx6.h
+
+
+Go to the documentation of this file.
1/****************************************************************************
+
2**
+
3** Copyright (C) 2020 MikroElektronika d.o.o.
+
4** Contact: https://www.mikroe.com/contact
+
5**
+
6** This file is part of the mikroSDK package
+
7**
+
8** Commercial License Usage
+
9**
+
10** Licensees holding valid commercial NECTO compilers AI licenses may use this
+
11** file in accordance with the commercial license agreement provided with the
+
12** Software or, alternatively, in accordance with the terms contained in
+
13** a written agreement between you and The mikroElektronika Company.
+
14** For licensing terms and conditions see
+
15** https://www.mikroe.com/legal/software-license-agreement.
+
16** For further information use the contact form at
+
17** https://www.mikroe.com/contact.
+
18**
+
19**
+
20** GNU Lesser General Public License Usage
+
21**
+
22** Alternatively, this file may be used for
+
23** non-commercial projects under the terms of the GNU Lesser
+
24** General Public License version 3 as published by the Free Software
+
25** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html.
+
26**
+
27** The above copyright notice and this permission notice shall be
+
28** included in all copies or substantial portions of the Software.
+
29**
+
30** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+
31** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+
32** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+
33** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+
34** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
+
35** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+
36** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
37**
+
38****************************************************************************/
+
39
+
45#ifndef FT5XX6_H
+
46#define FT5XX6_H
+
47
+
48#include "drv_i2c_master.h"
+
49#include "drv_digital_in.h"
+
50#include "drv_name.h"
+
51#include "tp.h"
+
52
+
81#define FT5XX6_REG_DEVICE_MODE 0x0
+
82
+
88#define FT5XX6_REG_GEST_ID 0x1
+
89
+
94#define FT5XX6_REG_TD_STATUS 0x2
+
95
+
101#define FT5XX6_REG_TOUCH1_XH 0x3
+
102
+
108#define FT5XX6_REG_TOUCH1_XL 0x4
+
109
+
115#define FT5XX6_REG_TOUCH1_YH 0x5
+
116
+
122#define FT5XX6_REG_TOUCH1_YL 0x6
+
123
+
129#define FT5XX6_REG_TOUCH2_XH 0x9
+
130
+
136#define FT5XX6_REG_TOUCH2_XL 0xA
+
137
+
143#define FT5XX6_REG_TOUCH2_YH 0xB
+
144
+
150#define FT5XX6_REG_TOUCH2_YL 0xC
+
151
+
157#define FT5XX6_REG_TOUCH3_XH 0xF
+
158
+
164#define FT5XX6_REG_TOUCH3_XL 0x10
+
165
+
171#define FT5XX6_REG_TOUCH3_YH 0x11
+
172
+
178#define FT5XX6_REG_TOUCH3_YL 0x12
+
179
+
185#define FT5XX6_REG_TOUCH4_XH 0x15
+
186
+
192#define FT5XX6_REG_TOUCH4_XL 0x16
+
193
+
199#define FT5XX6_REG_TOUCH4_YH 0x17
+
200
+
206#define FT5XX6_REG_TOUCH4_YL 0x18
+
207
+
213#define FT5XX6_REG_TOUCH5_XH 0x1B
+
214
+
220#define FT5XX6_REG_TOUCH5_XL 0x1C
+
221
+
227#define FT5XX6_REG_TOUCH5_YH 0x1D
+
228
+
234#define FT5XX6_REG_TOUCH5_YL 0x1E
+
235
+
241#define FT5XX6_REG_TOUCH_DET_TH 0x80
+
242
+
248#define FT5XX6_REG_TOUCH_PEAK_DET_TH 0x81
+
249
+
255#define FT5XX6_REG_TOUCH_TH_CAL 0x82
+
256
+
262#define FT5XX6_REG_TOUCH_TH_WATER 0x83
+
263
+
269#define FT5XX6_REG_TOUCH_TH_TEMP_COMP 0x84
+
270
+
276#define FT5XX6_REG_POWER_CTRL_MODE 0x86
+
277
+
283#define FT5XX6_REG_MONITOR_STATUS_TMR 0x87
+
284
+
290#define FT5XX6_REG_MONITOR_ACT_PERIOD 0x88
+
291
+
297#define FT5XX6_REG_ENTER_IDLE_TIMER 0x89
+
298
+
304#define FT5XX6_REG_AUTO_CALIB_MODE 0xA0
+
305
+
311#define FT5XX6_REG_LIB_VERSION_H 0xA1
+
312
+
318#define FT5XX6_REG_LIB_VERSION_L 0xA2
+
319
+
325#define FT5XX6_REG_LIB_CHIP_VENDOR_ID 0xA3
+
326
+
332#define FT5XX6_REG_IVT_TO_HOST_STATUS 0xA4
+
333
+
339#define FT5XX6_REG_POWER_CONSUME_MODE 0xA5
+
340
+
346#define FT5XX6_REG_FW_ID 0xA6
+
347
+
353#define FT5XX6_REG_RUNNING_STATE 0xA7
+
354
+
360#define FT5XX6_REG_CTPM_VENDOR_ID 0xA8
+
361
+
366#define FT5XX6_REG_ERROR_ID 0xA9
+
367
+
373#define FT5XX6_REG_CONFIGURE_CAL_MODE 0xAA
+
374
+
380#define FT5XX6_REG_BIG_AREA_TH 0xAE
+
381 // ft5xx6_registers
+
383
+
399#define FT5XX6_INT_MODE_POLLING 0
+
400
+
405#define FT5XX6_INT_MODE_TRIGGER 1
+
406
+
411#define FT5XX6_I2C_ADDR 0x38
+
412
+
417#define FT5XX6_N_DATA_TRANSFER_MIN 1
+
418#define FT5XX6_N_DATA_TRANSFER_MAX 256
+
419
+
424#define FT5XX6_GESTURE_ITEMS_MAX 7
+
425
+
430#define FT5XX6_EVENT_PRESS_DET 0x80
+
431
+
447#define FT5XX6_MASK_PRESS_COORD 0xFFF
+
448
+
453#define FT5XX6_MASK_PRESS_EVENT 0xC0
+
454
+
459#define FT5XX6_MASK_PRESS_DET 0xC0
+
460
+
465#define FT5XX6_MASK_TP_NUM 0xF
+
466 // ft5xx6_masks
+
468
+
484#define FT5XX6_OFFSET_PRESS_EVENT 6
+
485
+
490#define FT5XX6_OFFSET_PRESS_ID 4
+
491
+
496#define FT5XX6_OFFSET_DEV_MODE 4
+
497
+
502#define FT5XX6_OFFSET_TOUCH_READING 6
+
503 // ft5xx6_offsets
+
505
+
510#define FT5XX6_MAP_PINS( cfg ) \
+
511 cfg.i2c_cfg.scl = CTP_SCL; \
+
512 cfg.i2c_cfg.sda = CTP_SDA; \
+
513 cfg.int_pin = CTP_INT
+
514 // ft5xx6_settings // ft5xx6 // middlewaregroup
+
518
+
523typedef enum
+
524{
+ + + + +
530
+
535typedef enum
+
536{
+ + + + + + +
544
+
549typedef struct
+
550{
+
551 uint8_t key;
+
552 tp_event_t value;
+ +
555
+
560typedef struct
+
561{
+ +
563
+ +
565
+
570typedef struct
+
571{
+
572 pin_name_t int_pin;
+
574 i2c_master_config_t i2c_cfg;
+ + +
579
+
584typedef struct
+
585{
+
586 i2c_master_t i2c;
+
588 digital_in_t int_pin;
+ +
592 tp_event_t press_det;
+
593 tp_touch_item_t touch;
+
594 tp_event_t gesture;
+
596} ft5xx6_t;
+
597
+ +
604
+ +
611
+ +
618
+ +
625
+
638#ifdef __cplusplus
+
639extern "C"{
+
640#endif
+
641
+
676void
+
677ft5xx6_cfg_setup( ft5xx6_cfg_t * cfg, const ft5xx6_controller_t * controller );
+
678
+
713tp_err_t
+
714ft5xx6_init( ft5xx6_t * ctx, ft5xx6_cfg_t * cfg, tp_drv_t * drv );
+
715
+
735void
+ +
737
+
758void
+
759ft5xx6_generic_write( ft5xx6_t * ctx, uint8_t reg_addr, uint8_t data_in );
+
760
+
781uint8_t
+
782ft5xx6_generic_read_single( ft5xx6_t * ctx, uint8_t reg_addr );
+
783
+
812tp_err_t
+
813ft5xx6_generic_read_multiple( ft5xx6_t * ctx, uint8_t reg_addr,
+
814 uint8_t * data_out, uint16_t n_bytes );
+
815
+
835void
+ +
837
+
857void
+ +
859
+
881tp_event_t
+ +
883
+
907void
+
908ft5xx6_press_coordinates( ft5xx6_t * ctx, tp_touch_item_t * touch_item );
+
909
+
932void
+
933ft5xx6_gesture( ft5xx6_t * ctx, tp_event_t * event );
+
934
+
959tp_err_t
+
960ft5xx6_process( ft5xx6_t * ctx );
+
961
+
962#ifdef __cplusplus
+
963}
+
964#endif
+
965#endif // FT5XX6_H
+
966 // ft5xx6 // middlewaregroup
+
969
+
970// ------------------------------------------------------------------------ END
+
const ft5xx6_controller_t FT5X26_CONTROLLER
FT5x26 Touch Controllers Descriptor.
Definition: ft5xx6.c:79
+
ft5xx6_run_mode_t
FT5xx6 Run Mode Settings.
Definition: ft5xx6.h:536
+
@ FT5XX6_RUN_MODE_AUTO_CAL
Definition: ft5xx6.h:541
+
@ FT5XX6_RUN_MODE_WORK
Definition: ft5xx6.h:538
+
@ FT5XX6_RUN_MODE_CAL
Definition: ft5xx6.h:539
+
@ FT5XX6_RUN_MODE_FACT
Definition: ft5xx6.h:540
+
@ FT5XX6_RUN_MODE_CFG
Definition: ft5xx6.h:537
+
const ft5xx6_controller_t FT5X16_CONTROLLER
FT5x16 Touch Controllers Descriptor.
Definition: ft5xx6.c:66
+
const ft5xx6_controller_t FT5X46_CONTROLLER
FT5x46 Touch Controllers Descriptor.
Definition: ft5xx6.c:92
+
ft5xx6_dev_mode_t
FT5xx6 Device Mode Settings.
Definition: ft5xx6.h:524
+
@ FT5XX6_DEV_MODE_SYS_INFO
Definition: ft5xx6.h:526
+
@ FT5XX6_DEV_MODE_NORMAL
Definition: ft5xx6.h:525
+
@ FT5XX6_DEV_MODE_TEST
Definition: ft5xx6.h:527
+
const ft5xx6_controller_t FT5X06_CONTROLLER
FT5x06 Touch Controllers Descriptor.
Definition: ft5xx6.c:53
+
#define FT5XX6_GESTURE_ITEMS_MAX
FT5xx6 Gesture Items Limit Setting.
Definition: ft5xx6.h:424
+
void ft5xx6_run_mode_setup(ft5xx6_t *ctx, ft5xx6_run_mode_t mode)
FT5xx6 Run Mode Setup Function.
Definition: ft5xx6.c:249
+
uint8_t ft5xx6_generic_read_single(ft5xx6_t *ctx, uint8_t reg_addr)
FT5xx6 Generic Single Read Function.
Definition: ft5xx6.c:212
+
void ft5xx6_press_coordinates(ft5xx6_t *ctx, tp_touch_item_t *touch_item)
FT5xx6 Pressure Coordinates Check Function.
Definition: ft5xx6.c:261
+
tp_err_t ft5xx6_init(ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv)
FT5xx6 Initialization Function.
Definition: ft5xx6.c:138
+
void ft5xx6_cfg_setup(ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller)
FT5xx6 Configuration Object Setup Function.
Definition: ft5xx6.c:129
+
tp_event_t ft5xx6_press_detect(ft5xx6_t *ctx)
FT5xx6 Touch Pressure Detect Function.
Definition: ft5xx6.c:255
+
void ft5xx6_dev_mode_setup(ft5xx6_t *ctx, ft5xx6_dev_mode_t mode)
FT5xx6 Device Mode Setup Function.
Definition: ft5xx6.c:243
+
void ft5xx6_gesture(ft5xx6_t *ctx, tp_event_t *event)
FT5xx6 Gesture Check Function.
Definition: ft5xx6.c:276
+
void ft5xx6_generic_write(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in)
FT5xx6 Generic Write Function.
Definition: ft5xx6.c:201
+
void ft5xx6_default_cfg(ft5xx6_t *ctx)
FT5xx6 Default Configuration Function.
Definition: ft5xx6.c:192
+
tp_err_t ft5xx6_process(ft5xx6_t *ctx)
FT5xx6 Process Function.
Definition: ft5xx6.c:282
+
tp_err_t ft5xx6_generic_read_multiple(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes)
FT5xx6 Generic Multiple Read Function.
Definition: ft5xx6.c:224
+
FT5xx6 Configuration Object.
Definition: ft5xx6.h:571
+
const ft5xx6_controller_t * controller
Definition: ft5xx6.h:576
+
i2c_master_config_t i2c_cfg
Definition: ft5xx6.h:574
+
pin_name_t int_pin
Definition: ft5xx6.h:572
+
FT5xx6 Gesture Items.
Definition: ft5xx6.h:561
+
FT5xx6 Gesture Item Definition.
Definition: ft5xx6.h:550
+
tp_event_t value
Definition: ft5xx6.h:552
+ +
FT5xx6 Context Object.
Definition: ft5xx6.h:585
+
i2c_master_t i2c
Definition: ft5xx6.h:586
+
tp_event_t gesture
Definition: ft5xx6.h:594
+
tp_touch_item_t touch
Definition: ft5xx6.h:593
+
const ft5xx6_controller_t * controller
Definition: ft5xx6.h:590
+
tp_event_t press_det
Definition: ft5xx6.h:592
+
digital_in_t int_pin
Definition: ft5xx6.h:588
+
+
+ + + + diff --git a/html/functions.html b/html/functions.html new file mode 100644 index 0000000..66d2994 --- /dev/null +++ b/html/functions.html @@ -0,0 +1,120 @@ + + + + + + + +Solar panel: Class Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+
+
+ + + + diff --git a/html/functions_vars.html b/html/functions_vars.html new file mode 100644 index 0000000..8172c5c --- /dev/null +++ b/html/functions_vars.html @@ -0,0 +1,120 @@ + + + + + + + +Solar panel: Class Members - Variables + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
+ + + + diff --git a/html/globals.html b/html/globals.html new file mode 100644 index 0000000..240a93f --- /dev/null +++ b/html/globals.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- _ -

+
+
+ + + + diff --git a/html/globals_a.html b/html/globals_a.html new file mode 100644 index 0000000..f8deb81 --- /dev/null +++ b/html/globals_a.html @@ -0,0 +1,125 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- a -

+
+
+ + + + diff --git a/html/globals_c.html b/html/globals_c.html new file mode 100644 index 0000000..6eb2cfa --- /dev/null +++ b/html/globals_c.html @@ -0,0 +1,120 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- c -

+
+
+ + + + diff --git a/html/globals_d.html b/html/globals_d.html new file mode 100644 index 0000000..3cfaa4c --- /dev/null +++ b/html/globals_d.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- d -

+
+
+ + + + diff --git a/html/globals_defs.html b/html/globals_defs.html new file mode 100644 index 0000000..213201b --- /dev/null +++ b/html/globals_defs.html @@ -0,0 +1,106 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- _ -

+
+
+ + + + diff --git a/html/globals_defs.js b/html/globals_defs.js new file mode 100644 index 0000000..ae3e020 --- /dev/null +++ b/html/globals_defs.js @@ -0,0 +1,20 @@ +var globals_defs = +[ + [ "_", "globals_defs.html", null ], + [ "a", "globals_defs_a.html", null ], + [ "c", "globals_defs_c.html", null ], + [ "d", "globals_defs_d.html", null ], + [ "e", "globals_defs_e.html", null ], + [ "f", "globals_defs_f.html", null ], + [ "g", "globals_defs_g.html", null ], + [ "h", "globals_defs_h.html", null ], + [ "i", "globals_defs_i.html", null ], + [ "l", "globals_defs_l.html", null ], + [ "m", "globals_defs_m.html", null ], + [ "o", "globals_defs_o.html", null ], + [ "p", "globals_defs_p.html", null ], + [ "r", "globals_defs_r.html", null ], + [ "s", "globals_defs_s.html", null ], + [ "v", "globals_defs_v.html", null ], + [ "w", "globals_defs_w.html", null ] +]; \ No newline at end of file diff --git a/html/globals_defs_a.html b/html/globals_defs_a.html new file mode 100644 index 0000000..21dc8c2 --- /dev/null +++ b/html/globals_defs_a.html @@ -0,0 +1,109 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- a -

+
+
+ + + + diff --git a/html/globals_defs_c.html b/html/globals_defs_c.html new file mode 100644 index 0000000..1595fd5 --- /dev/null +++ b/html/globals_defs_c.html @@ -0,0 +1,118 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- c -

+
+
+ + + + diff --git a/html/globals_defs_d.html b/html/globals_defs_d.html new file mode 100644 index 0000000..297cdf0 --- /dev/null +++ b/html/globals_defs_d.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- d -

+
+
+ + + + diff --git a/html/globals_defs_e.html b/html/globals_defs_e.html new file mode 100644 index 0000000..0d8cf5a --- /dev/null +++ b/html/globals_defs_e.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- e -

+
+
+ + + + diff --git a/html/globals_defs_f.html b/html/globals_defs_f.html new file mode 100644 index 0000000..3b82fca --- /dev/null +++ b/html/globals_defs_f.html @@ -0,0 +1,165 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- f -

+
+
+ + + + diff --git a/html/globals_defs_g.html b/html/globals_defs_g.html new file mode 100644 index 0000000..98f0668 --- /dev/null +++ b/html/globals_defs_g.html @@ -0,0 +1,106 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- g -

+
+
+ + + + diff --git a/html/globals_defs_h.html b/html/globals_defs_h.html new file mode 100644 index 0000000..0de0709 --- /dev/null +++ b/html/globals_defs_h.html @@ -0,0 +1,106 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- h -

+
+
+ + + + diff --git a/html/globals_defs_i.html b/html/globals_defs_i.html new file mode 100644 index 0000000..9ab6175 --- /dev/null +++ b/html/globals_defs_i.html @@ -0,0 +1,113 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- i -

+
+
+ + + + diff --git a/html/globals_defs_l.html b/html/globals_defs_l.html new file mode 100644 index 0000000..0179c0d --- /dev/null +++ b/html/globals_defs_l.html @@ -0,0 +1,110 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- l -

+
+
+ + + + diff --git a/html/globals_defs_m.html b/html/globals_defs_m.html new file mode 100644 index 0000000..53d1f72 --- /dev/null +++ b/html/globals_defs_m.html @@ -0,0 +1,106 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- m -

+
+
+ + + + diff --git a/html/globals_defs_o.html b/html/globals_defs_o.html new file mode 100644 index 0000000..8ca2c59 --- /dev/null +++ b/html/globals_defs_o.html @@ -0,0 +1,106 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- o -

+
+
+ + + + diff --git a/html/globals_defs_p.html b/html/globals_defs_p.html new file mode 100644 index 0000000..8265ada --- /dev/null +++ b/html/globals_defs_p.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- p -

+
+
+ + + + diff --git a/html/globals_defs_r.html b/html/globals_defs_r.html new file mode 100644 index 0000000..d328efd --- /dev/null +++ b/html/globals_defs_r.html @@ -0,0 +1,120 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- r -

+
+
+ + + + diff --git a/html/globals_defs_s.html b/html/globals_defs_s.html new file mode 100644 index 0000000..ac04626 --- /dev/null +++ b/html/globals_defs_s.html @@ -0,0 +1,181 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- s -

+
+
+ + + + diff --git a/html/globals_defs_v.html b/html/globals_defs_v.html new file mode 100644 index 0000000..1f5bf24 --- /dev/null +++ b/html/globals_defs_v.html @@ -0,0 +1,118 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- v -

+
+
+ + + + diff --git a/html/globals_defs_w.html b/html/globals_defs_w.html new file mode 100644 index 0000000..880f1c5 --- /dev/null +++ b/html/globals_defs_w.html @@ -0,0 +1,106 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- w -

+
+
+ + + + diff --git a/html/globals_dup.js b/html/globals_dup.js new file mode 100644 index 0000000..7aa64bd --- /dev/null +++ b/html/globals_dup.js @@ -0,0 +1,21 @@ +var globals_dup = +[ + [ "_", "globals.html", null ], + [ "a", "globals_a.html", null ], + [ "c", "globals_c.html", null ], + [ "d", "globals_d.html", null ], + [ "e", "globals_e.html", null ], + [ "f", "globals_f.html", null ], + [ "g", "globals_g.html", null ], + [ "h", "globals_h.html", null ], + [ "i", "globals_i.html", null ], + [ "l", "globals_l.html", null ], + [ "m", "globals_m.html", null ], + [ "o", "globals_o.html", null ], + [ "p", "globals_p.html", null ], + [ "r", "globals_r.html", null ], + [ "s", "globals_s.html", null ], + [ "t", "globals_t.html", null ], + [ "v", "globals_v.html", null ], + [ "w", "globals_w.html", null ] +]; \ No newline at end of file diff --git a/html/globals_e.html b/html/globals_e.html new file mode 100644 index 0000000..b2206e3 --- /dev/null +++ b/html/globals_e.html @@ -0,0 +1,137 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- e -

+
+
+ + + + diff --git a/html/globals_enum.html b/html/globals_enum.html new file mode 100644 index 0000000..62f9a03 --- /dev/null +++ b/html/globals_enum.html @@ -0,0 +1,106 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
+ + + + diff --git a/html/globals_eval.html b/html/globals_eval.html new file mode 100644 index 0000000..092c7d5 --- /dev/null +++ b/html/globals_eval.html @@ -0,0 +1,113 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
+ + + + diff --git a/html/globals_f.html b/html/globals_f.html new file mode 100644 index 0000000..e1906cf --- /dev/null +++ b/html/globals_f.html @@ -0,0 +1,191 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- f -

+
+
+ + + + diff --git a/html/globals_func.html b/html/globals_func.html new file mode 100644 index 0000000..02c5aac --- /dev/null +++ b/html/globals_func.html @@ -0,0 +1,222 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- _ -

+ + +

- a -

+ + +

- c -

+ + +

- e -

+ + +

- f -

+ + +

- i -

+ + +

- l -

+ + +

- m -

+ + +

- o -

+ + +

- p -

+ + +

- s -

+ + +

- t -

+
+
+ + + + diff --git a/html/globals_g.html b/html/globals_g.html new file mode 100644 index 0000000..a11b883 --- /dev/null +++ b/html/globals_g.html @@ -0,0 +1,106 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- g -

+
+
+ + + + diff --git a/html/globals_h.html b/html/globals_h.html new file mode 100644 index 0000000..1185c0f --- /dev/null +++ b/html/globals_h.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- h -

+
+
+ + + + diff --git a/html/globals_i.html b/html/globals_i.html new file mode 100644 index 0000000..7275e7d --- /dev/null +++ b/html/globals_i.html @@ -0,0 +1,115 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- i -

+
+
+ + + + diff --git a/html/globals_l.html b/html/globals_l.html new file mode 100644 index 0000000..57693be --- /dev/null +++ b/html/globals_l.html @@ -0,0 +1,114 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- l -

+
+
+ + + + diff --git a/html/globals_m.html b/html/globals_m.html new file mode 100644 index 0000000..27453ac --- /dev/null +++ b/html/globals_m.html @@ -0,0 +1,115 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- m -

+
+
+ + + + diff --git a/html/globals_o.html b/html/globals_o.html new file mode 100644 index 0000000..f81803b --- /dev/null +++ b/html/globals_o.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- o -

+
+
+ + + + diff --git a/html/globals_p.html b/html/globals_p.html new file mode 100644 index 0000000..b7f2a18 --- /dev/null +++ b/html/globals_p.html @@ -0,0 +1,110 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- p -

+
+
+ + + + diff --git a/html/globals_r.html b/html/globals_r.html new file mode 100644 index 0000000..af21e29 --- /dev/null +++ b/html/globals_r.html @@ -0,0 +1,122 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- r -

+
+
+ + + + diff --git a/html/globals_s.html b/html/globals_s.html new file mode 100644 index 0000000..3c170f5 --- /dev/null +++ b/html/globals_s.html @@ -0,0 +1,182 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- s -

+
+
+ + + + diff --git a/html/globals_t.html b/html/globals_t.html new file mode 100644 index 0000000..ce44714 --- /dev/null +++ b/html/globals_t.html @@ -0,0 +1,124 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- t -

+
+
+ + + + diff --git a/html/globals_type.html b/html/globals_type.html new file mode 100644 index 0000000..2e68d4b --- /dev/null +++ b/html/globals_type.html @@ -0,0 +1,104 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
    +
  • adc_result_t : adc.h
  • +
+
+
+ + + + diff --git a/html/globals_v.html b/html/globals_v.html new file mode 100644 index 0000000..c74b0a6 --- /dev/null +++ b/html/globals_v.html @@ -0,0 +1,119 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- v -

+
+
+ + + + diff --git a/html/globals_vars.html b/html/globals_vars.html new file mode 100644 index 0000000..206b861 --- /dev/null +++ b/html/globals_vars.html @@ -0,0 +1,162 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+  + +

- a -

+ + +

- e -

+ + +

- f -

+ + +

- h -

+ + +

- i -

+ + +

- m -

+ + +

- r -

+ + +

- t -

+
+
+ + + + diff --git a/html/globals_w.html b/html/globals_w.html new file mode 100644 index 0000000..af5755a --- /dev/null +++ b/html/globals_w.html @@ -0,0 +1,106 @@ + + + + + + + +Solar panel: File Members + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- w -

+
+
+ + + + diff --git a/html/group__ft5xx6.html b/html/group__ft5xx6.html new file mode 100644 index 0000000..7de0950 --- /dev/null +++ b/html/group__ft5xx6.html @@ -0,0 +1,783 @@ + + + + + + + +Solar panel: FT5xx6 Touch Controllers Driver + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
FT5xx6 Touch Controllers Driver
+
+
+ +

FT5xx6 Touch Controller Driver API Reference. +More...

+ + + + + + + + +

+Modules

 FT5xx6 Registers
 FT5xx6 Registers List.
 
 FT5xx6 Settings
 FT5xx6 Settings List.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void ft5xx6_cfg_setup (ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller)
 FT5xx6 Configuration Object Setup Function.
 
tp_err_t ft5xx6_init (ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv)
 FT5xx6 Initialization Function.
 
void ft5xx6_default_cfg (ft5xx6_t *ctx)
 FT5xx6 Default Configuration Function.
 
void ft5xx6_generic_write (ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in)
 FT5xx6 Generic Write Function.
 
uint8_t ft5xx6_generic_read_single (ft5xx6_t *ctx, uint8_t reg_addr)
 FT5xx6 Generic Single Read Function.
 
tp_err_t ft5xx6_generic_read_multiple (ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes)
 FT5xx6 Generic Multiple Read Function.
 
void ft5xx6_dev_mode_setup (ft5xx6_t *ctx, ft5xx6_dev_mode_t mode)
 FT5xx6 Device Mode Setup Function.
 
void ft5xx6_run_mode_setup (ft5xx6_t *ctx, ft5xx6_run_mode_t mode)
 FT5xx6 Run Mode Setup Function.
 
tp_event_t ft5xx6_press_detect (ft5xx6_t *ctx)
 FT5xx6 Touch Pressure Detect Function.
 
void ft5xx6_press_coordinates (ft5xx6_t *ctx, tp_touch_item_t *touch_item)
 FT5xx6 Pressure Coordinates Check Function.
 
void ft5xx6_gesture (ft5xx6_t *ctx, tp_event_t *event)
 FT5xx6 Gesture Check Function.
 
tp_err_t ft5xx6_process (ft5xx6_t *ctx)
 FT5xx6 Process Function.
 
+

Detailed Description

+

FT5xx6 Touch Controller Driver API Reference.

+

API for configuring and manipulating FT5xx6 Touch Controller driver.

+

Function Documentation

+ +

◆ ft5xx6_cfg_setup()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ft5xx6_cfg_setup (ft5xx6_cfg_tcfg,
const ft5xx6_controller_tcontroller 
)
+
+ +

FT5xx6 Configuration Object Setup Function.

+

This function initializes FT5xx6 configuration structure to default values.

Parameters
+ + + +
[out]cfg: FT5xx6 configuration object. See ft5xx6_cfg_t structure definition for detailed explanation.
[in]controller: Touch controller selector from FT5xx6 series touch controllers. See ft5xx6_controller_t structure definition for detailed explanation.
+
+
+
Returns
Nothing.
+
Note
The all used pins will be set to unconnected state.
+

Example

// FT5xx6 configuration object.
+
ft5xx6_cfg_t ft5xx6_cfg;
+
// FT5x26 series touch controllers descriptor.
+ +
{
+
{
+
{ 0x00, TP_EVENT_GEST_NONE },
+
{ 0x1C, TP_EVENT_GEST_LEFT },
+
{ 0x14, TP_EVENT_GEST_RIGHT },
+
{ 0x10, TP_EVENT_GEST_UP },
+
{ 0x18, TP_EVENT_GEST_DOWN },
+
{ 0x48, TP_EVENT_GEST_ZOOM_IN },
+
{ 0x49, TP_EVENT_GEST_ZOOM_OUT }
+
}
+
};
+
+
// FT5xx6 configuration setup.
+ +
const ft5xx6_controller_t FT5X26_CONTROLLER
FT5x26 Touch Controllers Descriptor.
Definition: ft5xx6.c:79
+
void ft5xx6_cfg_setup(ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller)
FT5xx6 Configuration Object Setup Function.
Definition: ft5xx6.c:129
+
FT5xx6 Configuration Object.
Definition: ft5xx6.h:571
+
FT5xx6 Gesture Items.
Definition: ft5xx6.h:561
+
+

Definition at line 129 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_default_cfg()

+ +
+
+ + + + + + + + +
void ft5xx6_default_cfg (ft5xx6_tctx)
+
+ +

FT5xx6 Default Configuration Function.

+

This function puts the FT5xx6 touch controller to normal operating mode.

Parameters
+ + +
[in]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
+
+
+
Returns
Nothing.
+
Note
It's necessary for this functon to be executed after Initialization function for properly working of entire driver.
+

Example

// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
+
// FT5xx6 driver default configuration.
+
ft5xx6_default_cfg( &ft5xx6 );
+
void ft5xx6_default_cfg(ft5xx6_t *ctx)
FT5xx6 Default Configuration Function.
Definition: ft5xx6.c:192
+
FT5xx6 Context Object.
Definition: ft5xx6.h:585
+
+

Definition at line 192 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_dev_mode_setup()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ft5xx6_dev_mode_setup (ft5xx6_tctx,
ft5xx6_dev_mode_t mode 
)
+
+ +

FT5xx6 Device Mode Setup Function.

+

This function puts the FT5xx6 series touch controllers to the selected device mode.

Parameters
+ + + +
[in]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
[in]mode: device mode of operation. See ft5xx6_dev_mode_t for valid values.
+
+
+
Returns
Nothing.
+

Example

// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
+
// Setting device normal operating mode of FT5xx6 series touch controllers.
+ +
@ FT5XX6_DEV_MODE_NORMAL
Definition: ft5xx6.h:525
+
void ft5xx6_dev_mode_setup(ft5xx6_t *ctx, ft5xx6_dev_mode_t mode)
FT5xx6 Device Mode Setup Function.
Definition: ft5xx6.c:243
+
+

Definition at line 243 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_generic_read_multiple()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tp_err_t ft5xx6_generic_read_multiple (ft5xx6_tctx,
uint8_t reg_addr,
uint8_t * data_out,
uint16_t n_bytes 
)
+
+ +

FT5xx6 Generic Multiple Read Function.

+

This function allows user to read the desired number of data bytes, starting from the selected register address.

Parameters
+ + + + + +
[in]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
[in]reg_addr: Register address which from the data reading will be started.
[out]data_out: Memory where read data will be stored.
[in]n_bytes: Number of data bytes to be read.
+
+
+
Returns
    +
  • 0 - OK,
  • +
  • 6 - Number of transfered bytes is out of range. See #tp_err_t structure definition for detailed explanation.
  • +
+Example
// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
// Read value.
+
uint8_t read_data[ 2 ];
+
// TP error code.
+
tp_err_t error;
+
+
// Reading two data bytes to get x coordinate value of touch1.
+ +
read_data, 2 );
+
#define FT5XX6_REG_TOUCH1_XH
FT5xx6 Touch1 X-coord MSB Register.
Definition: ft5xx6.h:101
+
tp_err_t ft5xx6_generic_read_multiple(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes)
FT5xx6 Generic Multiple Read Function.
Definition: ft5xx6.c:224
+
+ +

Definition at line 224 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_generic_read_single()

+ +
+
+ + + + + + + + + + + + + + + + + + +
uint8_t ft5xx6_generic_read_single (ft5xx6_tctx,
uint8_t reg_addr 
)
+
+ +

FT5xx6 Generic Single Read Function.

+

This function allows user to read any desired register of the FT5xx6 series touch controllers.

Parameters
+ + + +
[in]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
[in]reg_addr: Register address which from data be read.
+
+
+
Returns
8-bit read data.
+

Example

// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
// Read value.
+
uint8_t read_data;
+
+
// Reading status of FT5xx6 controller to get number of pressed touches.
+ +
#define FT5XX6_REG_TD_STATUS
FT5xx6 Status Register.
Definition: ft5xx6.h:94
+
uint8_t ft5xx6_generic_read_single(ft5xx6_t *ctx, uint8_t reg_addr)
FT5xx6 Generic Single Read Function.
Definition: ft5xx6.c:212
+
+

Definition at line 212 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_generic_write()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void ft5xx6_generic_write (ft5xx6_tctx,
uint8_t reg_addr,
uint8_t data_in 
)
+
+ +

FT5xx6 Generic Write Function.

+

This function allows user to write any 8-bit data to the selected register of the FT5xx6 series touch controllers.

Parameters
+ + + + +
[in]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
[in]reg_addr: Register address where data be written.
[in]data_in: Data to be written.
+
+
+
Returns
Nothing.
+

Example

// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
+
// Setting FT5xx6 controller to configuration mode.
+ + +
@ FT5XX6_RUN_MODE_CFG
Definition: ft5xx6.h:537
+
#define FT5XX6_REG_RUNNING_STATE
FT5xx6 Running State Register.
Definition: ft5xx6.h:353
+
void ft5xx6_generic_write(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in)
FT5xx6 Generic Write Function.
Definition: ft5xx6.c:201
+
+

Definition at line 201 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_gesture()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ft5xx6_gesture (ft5xx6_tctx,
tp_event_t * event 
)
+
+ +

FT5xx6 Gesture Check Function.

+

This function allows user to get the informations about the gesture (slide direction).

Parameters
+ + + +
[in]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
[out]event: Touch panel gesture data. See #tp_event_t structure definition for detailed explanation.
+
+
+
Returns
Nothing.
+
Note
ft5xx6_process function must be called to update all events.
+

Example

// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
// Gesture event.
+
tp_event_t event;
+
+
// Checking slide direction event of pressed touch.
+
ft5xx6_gesture( &ft5xx6, &event );
+
void ft5xx6_gesture(ft5xx6_t *ctx, tp_event_t *event)
FT5xx6 Gesture Check Function.
Definition: ft5xx6.c:276
+
+

Definition at line 276 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_init()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tp_err_t ft5xx6_init (ft5xx6_tctx,
ft5xx6_cfg_tcfg,
tp_drv_t * drv 
)
+
+ +

FT5xx6 Initialization Function.

+

This function initializes FT5xx6 context object to default values and allows driver interface object to be linked with FT5xx6 driver functions.

Parameters
+ + + + +
[out]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
[in]cfg: FT5xx6 configuration object. See ft5xx6_cfg_t structure definition for detailed explanation.
[out]drv: TP driver interface object. See #tp_drv_t structure definition for detailed explanation.
+
+
+
Returns
    +
  • 0 - OK,
  • +
  • 1 - I2C driver init error,
  • +
  • 2 - Unsupported pin. See #tp_err_t structure definition for detailed explanation.
  • +
+Example
// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
// FT5xx6 configuration object.
+
ft5xx6_cfg_t ft5xx6_cfg;
+
// FT5x26 series touch controllers descriptor.
+ +
// TP driver interface object.
+
tp_drv_t tp_interface;
+
+
// FT5xx6 configuration setup.
+ +
// FT5xx6 controller pin mapping.
+
FT5XX6_MAP_PINS( ft5xx6_cfg );
+
// FT5xx6 driver initialization.
+
ft5xx6_init( &ft5xx6, &ft5xx6_cfg, &tp_interface );
+
#define FT5XX6_MAP_PINS(cfg)
FT5xx6 Pin Mapping.
Definition: ft5xx6.h:510
+
tp_err_t ft5xx6_init(ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv)
FT5xx6 Initialization Function.
Definition: ft5xx6.c:138
+
+ +

Definition at line 138 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_press_coordinates()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ft5xx6_press_coordinates (ft5xx6_tctx,
tp_touch_item_t * touch_item 
)
+
+ +

FT5xx6 Pressure Coordinates Check Function.

+

This function allows user to get the informations about the number of pressed touch points, coordinates and touch event for each pressed touch point.

Parameters
+ + + +
[in]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
[out]touch_item: Touch item data. See #tp_touch_item_t structure definition for detailed explanation.
+
+
+
Returns
Nothing.
+
Note
ft5xx6_process function must be called to update all events.
+

Example

// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
// Touch pressure item.
+
tp_touch_item_t tp_item;
+
+
// To get all necessary data information about pressed touch.
+
ft5xx6_press_coordinates( &ft5xx6, &tp_item );
+
void ft5xx6_press_coordinates(ft5xx6_t *ctx, tp_touch_item_t *touch_item)
FT5xx6 Pressure Coordinates Check Function.
Definition: ft5xx6.c:261
+
+

Definition at line 261 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_press_detect()

+ +
+
+ + + + + + + + +
tp_event_t ft5xx6_press_detect (ft5xx6_tctx)
+
+ +

FT5xx6 Touch Pressure Detect Function.

+

This function allows the touch pressure detection.

Parameters
+ + +
[in]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
+
+
+
Returns
    +
  • 3 - Touch pressure is not detected,
  • +
  • 4 - Touch pressure is detected. See #tp_event_t structure definition for detailed explanation.
  • +
+
+
Note
ft5xx6_process function must be called to update all events.
+

Example

// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
// Touch pressure event.
+
tp_event_t event;
+
+
// Checking touch pressure event.
+
event = ft5xx6_press_detect( &ft5xx6 );
+
tp_event_t ft5xx6_press_detect(ft5xx6_t *ctx)
FT5xx6 Touch Pressure Detect Function.
Definition: ft5xx6.c:255
+
+

Definition at line 255 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_process()

+ +
+
+ + + + + + + + +
tp_err_t ft5xx6_process (ft5xx6_tctx)
+
+ +

FT5xx6 Process Function.

+

This function detects a touch pressure, and if any touch pressure was detected, then collects all informations about the pressed touch and slide direction (gesture).

Parameters
+ + +
[in]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
+
+
+
Returns
    +
  • 0 - OK,
  • +
  • 5 - Number of pressed touches is out of range. See #tp_err_t structure definition for detailed explanation.
  • +
+
+
Note
To update all possible events, just need to call this function before the any other function for checking events is called.
+

Example

// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
// TP error code.
+
tp_err_t error;
+
+
// Processing all data and events of the target touch controller.
+
error = ft5xx6_process( &ft5xx6 );
+
tp_err_t ft5xx6_process(ft5xx6_t *ctx)
FT5xx6 Process Function.
Definition: ft5xx6.c:282
+
+

Definition at line 282 of file ft5xx6.c.

+ +
+
+ +

◆ ft5xx6_run_mode_setup()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ft5xx6_run_mode_setup (ft5xx6_tctx,
ft5xx6_run_mode_t mode 
)
+
+ +

FT5xx6 Run Mode Setup Function.

+

This function puts the FT5xx6 series touch controllers to the selected run mode.

Parameters
+ + + +
[in]ctx: FT5xx6 context object. See ft5xx6_t structure definition for detailed explanation.
[in]mode: run mode of operation. See ft5xx6_run_mode_t for valid values.
+
+
+
Returns
Nothing.
+

Example

// FT5xx6 driver object.
+
ft5xx6_t ft5xx6;
+
+
// Setting run working mode of FT5xx6 series touch controllers.
+ +
@ FT5XX6_RUN_MODE_WORK
Definition: ft5xx6.h:538
+
void ft5xx6_run_mode_setup(ft5xx6_t *ctx, ft5xx6_run_mode_t mode)
FT5xx6 Run Mode Setup Function.
Definition: ft5xx6.c:249
+
+

Definition at line 249 of file ft5xx6.c.

+ +
+
+
+
+ + + + diff --git a/html/group__ft5xx6.js b/html/group__ft5xx6.js new file mode 100644 index 0000000..7277e50 --- /dev/null +++ b/html/group__ft5xx6.js @@ -0,0 +1,17 @@ +var group__ft5xx6 = +[ + [ "FT5xx6 Registers", "group__ft5xx6__registers.html", "group__ft5xx6__registers" ], + [ "FT5xx6 Settings", "group__ft5xx6__settings.html", "group__ft5xx6__settings" ], + [ "ft5xx6_cfg_setup", "group__ft5xx6.html#ga6fc0a86342900baa3663aba412e2e4b2", null ], + [ "ft5xx6_default_cfg", "group__ft5xx6.html#gac8898b7e2f9ae2c1eef7614ba35d42a2", null ], + [ "ft5xx6_dev_mode_setup", "group__ft5xx6.html#ga806e32ed83d7f3e41a3e9084148512b0", null ], + [ "ft5xx6_generic_read_multiple", "group__ft5xx6.html#gaf98c43602d87923c5820219931906d5c", null ], + [ "ft5xx6_generic_read_single", "group__ft5xx6.html#ga22ffcf2f7a0e4bac3fda6a0af97bf4a8", null ], + [ "ft5xx6_generic_write", "group__ft5xx6.html#gac41bf915d507197704db9dad23977959", null ], + [ "ft5xx6_gesture", "group__ft5xx6.html#ga95c5b63b7e75eeb71a9633205bea6a04", null ], + [ "ft5xx6_init", "group__ft5xx6.html#ga6bc20225d2c49cbddb2f167b7e59633a", null ], + [ "ft5xx6_press_coordinates", "group__ft5xx6.html#ga652c22955075ea78a37bc3c0b04d03ce", null ], + [ "ft5xx6_press_detect", "group__ft5xx6.html#ga7bec3e5973ca8b94132ea761deaadeed", null ], + [ "ft5xx6_process", "group__ft5xx6.html#gadcca9f3cbaca156e26894a63d8f588ee", null ], + [ "ft5xx6_run_mode_setup", "group__ft5xx6.html#ga0db7f121c8041d18fd70616a74669552", null ] +]; \ No newline at end of file diff --git a/html/group__ft5xx6__masks.html b/html/group__ft5xx6__masks.html new file mode 100644 index 0000000..28e263d --- /dev/null +++ b/html/group__ft5xx6__masks.html @@ -0,0 +1,205 @@ + + + + + + + +Solar panel: FT5xx6 Masks + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +

FT5xx6 Masks List. +More...

+ + + + + + + + + + + + + + +

+Macros

#define FT5XX6_MASK_PRESS_COORD   0xFFF
 FT5xx6 Touch Coordinates Mask.
 
#define FT5XX6_MASK_PRESS_EVENT   0xC0
 FT5xx6 Touch Event Mask.
 
#define FT5XX6_MASK_PRESS_DET   0xC0
 FT5xx6 Touch Detection Mask.
 
#define FT5XX6_MASK_TP_NUM   0xF
 FT5xx6 TP Number Mask.
 
+

Detailed Description

+

FT5xx6 Masks List.

+

FT5xx6 masks description with respective values.

+

Macro Definition Documentation

+ +

◆ FT5XX6_MASK_PRESS_COORD

+ +
+
+ + + + +
#define FT5XX6_MASK_PRESS_COORD   0xFFF
+
+ +

FT5xx6 Touch Coordinates Mask.

+

Touch pressure coordinates mask for FT5xx6 series touch controllers.

+ +

Definition at line 447 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_MASK_PRESS_DET

+ +
+
+ + + + +
#define FT5XX6_MASK_PRESS_DET   0xC0
+
+ +

FT5xx6 Touch Detection Mask.

+

Touch pressure detection mask for FT5xx6 series touch controllers.

+ +

Definition at line 459 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_MASK_PRESS_EVENT

+ +
+
+ + + + +
#define FT5XX6_MASK_PRESS_EVENT   0xC0
+
+ +

FT5xx6 Touch Event Mask.

+

Touch pressure event mask for FT5xx6 series touch controllers.

+ +

Definition at line 453 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_MASK_TP_NUM

+ +
+
+ + + + +
#define FT5XX6_MASK_TP_NUM   0xF
+
+ +

FT5xx6 TP Number Mask.

+

Touch point number mask for FT5xx6 series touch controllers.

+ +

Definition at line 465 of file ft5xx6.h.

+ +
+
+
+
+ + + + diff --git a/html/group__ft5xx6__masks.js b/html/group__ft5xx6__masks.js new file mode 100644 index 0000000..5f53925 --- /dev/null +++ b/html/group__ft5xx6__masks.js @@ -0,0 +1,7 @@ +var group__ft5xx6__masks = +[ + [ "FT5XX6_MASK_PRESS_COORD", "group__ft5xx6__masks.html#gac7c349b78ede9988bea329a0c36d5143", null ], + [ "FT5XX6_MASK_PRESS_DET", "group__ft5xx6__masks.html#ga217588659c60a4ece9c1f33917295299", null ], + [ "FT5XX6_MASK_PRESS_EVENT", "group__ft5xx6__masks.html#gab272329933e2f0d04121f03fb3349ac1", null ], + [ "FT5XX6_MASK_TP_NUM", "group__ft5xx6__masks.html#ga2f9cfc5a40db87619e14e6665ba9ef87", null ] +]; \ No newline at end of file diff --git a/html/group__ft5xx6__offsets.html b/html/group__ft5xx6__offsets.html new file mode 100644 index 0000000..f4c17cf --- /dev/null +++ b/html/group__ft5xx6__offsets.html @@ -0,0 +1,205 @@ + + + + + + + +Solar panel: FT5xx6 Offsets + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +

FT5xx6 Offsets List. +More...

+ + + + + + + + + + + + + + +

+Macros

#define FT5XX6_OFFSET_PRESS_EVENT   6
 FT5xx6 Touch Event Offset.
 
#define FT5XX6_OFFSET_PRESS_ID   4
 FT5xx6 Touch ID Offset.
 
#define FT5XX6_OFFSET_DEV_MODE   4
 FT5xx6 Device Mode Offset.
 
#define FT5XX6_OFFSET_TOUCH_READING   6
 FT5xx6 Touch Reading Offset.
 
+

Detailed Description

+

FT5xx6 Offsets List.

+

FT5xx6 offsets description with respective values.

+

Macro Definition Documentation

+ +

◆ FT5XX6_OFFSET_DEV_MODE

+ +
+
+ + + + +
#define FT5XX6_OFFSET_DEV_MODE   4
+
+ +

FT5xx6 Device Mode Offset.

+

Device mode offset for FT5xx6 series touch controllers.

+ +

Definition at line 496 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_OFFSET_PRESS_EVENT

+ +
+
+ + + + +
#define FT5XX6_OFFSET_PRESS_EVENT   6
+
+ +

FT5xx6 Touch Event Offset.

+

Touch event offset for FT5xx6 series touch controllers.

+ +

Definition at line 484 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_OFFSET_PRESS_ID

+ +
+
+ + + + +
#define FT5XX6_OFFSET_PRESS_ID   4
+
+ +

FT5xx6 Touch ID Offset.

+

Touch ID offset for FT5xx6 series touch controllers.

+ +

Definition at line 490 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_OFFSET_TOUCH_READING

+ +
+
+ + + + +
#define FT5XX6_OFFSET_TOUCH_READING   6
+
+ +

FT5xx6 Touch Reading Offset.

+

Reading of touches offset for FT5xx6 series touch controllers.

+ +

Definition at line 502 of file ft5xx6.h.

+ +
+
+
+
+ + + + diff --git a/html/group__ft5xx6__offsets.js b/html/group__ft5xx6__offsets.js new file mode 100644 index 0000000..eb2fedc --- /dev/null +++ b/html/group__ft5xx6__offsets.js @@ -0,0 +1,7 @@ +var group__ft5xx6__offsets = +[ + [ "FT5XX6_OFFSET_DEV_MODE", "group__ft5xx6__offsets.html#ga495a87bf38c3f4106bee6461d208d453", null ], + [ "FT5XX6_OFFSET_PRESS_EVENT", "group__ft5xx6__offsets.html#gaa720e7bc0e70372b69c0332338410f5b", null ], + [ "FT5XX6_OFFSET_PRESS_ID", "group__ft5xx6__offsets.html#ga5ec1145d01e66b7babea658e7e350518", null ], + [ "FT5XX6_OFFSET_TOUCH_READING", "group__ft5xx6__offsets.html#ga41ec44ebb66fe210444354887c25639f", null ] +]; \ No newline at end of file diff --git a/html/group__ft5xx6__registers.html b/html/group__ft5xx6__registers.html new file mode 100644 index 0000000..1d716b0 --- /dev/null +++ b/html/group__ft5xx6__registers.html @@ -0,0 +1,1085 @@ + + + + + + + +Solar panel: FT5xx6 Registers + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +

FT5xx6 Registers List. +More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define FT5XX6_REG_DEVICE_MODE   0x0
 FT5xx6 Device Mode Register.
 
#define FT5XX6_REG_GEST_ID   0x1
 FT5xx6 Gesture ID Register.
 
#define FT5XX6_REG_TD_STATUS   0x2
 FT5xx6 Status Register.
 
#define FT5XX6_REG_TOUCH1_XH   0x3
 FT5xx6 Touch1 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH1_XL   0x4
 FT5xx6 Touch1 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH1_YH   0x5
 FT5xx6 Touch1 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH1_YL   0x6
 FT5xx6 Touch1 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH2_XH   0x9
 FT5xx6 Touch2 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH2_XL   0xA
 FT5xx6 Touch2 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH2_YH   0xB
 FT5xx6 Touch2 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH2_YL   0xC
 FT5xx6 Touch2 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH3_XH   0xF
 FT5xx6 Touch3 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH3_XL   0x10
 FT5xx6 Touch3 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH3_YH   0x11
 FT5xx6 Touch3 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH3_YL   0x12
 FT5xx6 Touch3 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH4_XH   0x15
 FT5xx6 Touch4 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH4_XL   0x16
 FT5xx6 Touch4 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH4_YH   0x17
 FT5xx6 Touch4 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH4_YL   0x18
 FT5xx6 Touch4 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH5_XH   0x1B
 FT5xx6 Touch5 X-coord MSB Register.
 
#define FT5XX6_REG_TOUCH5_XL   0x1C
 FT5xx6 Touch5 X-coord LSB Register.
 
#define FT5XX6_REG_TOUCH5_YH   0x1D
 FT5xx6 Touch5 Y-coord MSB Register.
 
#define FT5XX6_REG_TOUCH5_YL   0x1E
 FT5xx6 Touch5 Y-coord LSB Register.
 
#define FT5XX6_REG_TOUCH_DET_TH   0x80
 FT5xx6 Touch Detection Threshold Register.
 
#define FT5XX6_REG_TOUCH_PEAK_DET_TH   0x81
 FT5xx6 Touch Peak Detection Threshold Register.
 
#define FT5XX6_REG_TOUCH_TH_CAL   0x82
 FT5xx6 Touch Threshold Calibration Register.
 
#define FT5XX6_REG_TOUCH_TH_WATER   0x83
 FT5xx6 Touch Threshold Water Register.
 
#define FT5XX6_REG_TOUCH_TH_TEMP_COMP   0x84
 FT5xx6 Touch Threshold Temperature Compensation Register.
 
#define FT5XX6_REG_POWER_CTRL_MODE   0x86
 FT5xx6 Power Control Register.
 
#define FT5XX6_REG_MONITOR_STATUS_TMR   0x87
 FT5xx6 Timer Status Monitor Register.
 
#define FT5XX6_REG_MONITOR_ACT_PERIOD   0x88
 FT5xx6 Actual Period Monitor Register.
 
#define FT5XX6_REG_ENTER_IDLE_TIMER   0x89
 FT5xx6 Enter Idle Timer Register.
 
#define FT5XX6_REG_AUTO_CALIB_MODE   0xA0
 FT5xx6 Auto Calibration Register.
 
#define FT5XX6_REG_LIB_VERSION_H   0xA1
 FT5xx6 Version MSB Register.
 
#define FT5XX6_REG_LIB_VERSION_L   0xA2
 FT5xx6 Version LSB Register.
 
#define FT5XX6_REG_LIB_CHIP_VENDOR_ID   0xA3
 FT5xx6 Chip Vendor ID Register.
 
#define FT5XX6_REG_IVT_TO_HOST_STATUS   0xA4
 FT5xx6 IVT To Host Status Register.
 
#define FT5XX6_REG_POWER_CONSUME_MODE   0xA5
 FT5xx6 Power Consume Register.
 
#define FT5XX6_REG_FW_ID   0xA6
 FT5xx6 FW ID Register.
 
#define FT5XX6_REG_RUNNING_STATE   0xA7
 FT5xx6 Running State Register.
 
#define FT5XX6_REG_CTPM_VENDOR_ID   0xA8
 FT5xx6 CTPM Vendor ID Register.
 
#define FT5XX6_REG_ERROR_ID   0xA9
 FT5xx6 Error ID Register.
 
#define FT5XX6_REG_CONFIGURE_CAL_MODE   0xAA
 FT5xx6 Calibration Mode Configuration Register.
 
#define FT5XX6_REG_BIG_AREA_TH   0xAE
 FT5xx6 Big Area Threshold Register.
 
+

Detailed Description

+

FT5xx6 Registers List.

+

FT5xx6 registers description with respective addresses.

+

Macro Definition Documentation

+ +

◆ FT5XX6_REG_AUTO_CALIB_MODE

+ +
+
+ + + + +
#define FT5XX6_REG_AUTO_CALIB_MODE   0xA0
+
+ +

FT5xx6 Auto Calibration Register.

+

Register address specified for auto calibration of FT5xx6 touch controller.

+ +

Definition at line 304 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_BIG_AREA_TH

+ +
+
+ + + + +
#define FT5XX6_REG_BIG_AREA_TH   0xAE
+
+ +

FT5xx6 Big Area Threshold Register.

+

Register address specified for big area threshold of FT5xx6 touch controller.

+ +

Definition at line 380 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_CONFIGURE_CAL_MODE

+ +
+
+ + + + +
#define FT5XX6_REG_CONFIGURE_CAL_MODE   0xAA
+
+ +

FT5xx6 Calibration Mode Configuration Register.

+

Register address specified for calibration mode configuration of FT5xx6 touch controller.

+ +

Definition at line 373 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_CTPM_VENDOR_ID

+ +
+
+ + + + +
#define FT5XX6_REG_CTPM_VENDOR_ID   0xA8
+
+ +

FT5xx6 CTPM Vendor ID Register.

+

Register address specified for CTPM vendor ID of FT5xx6 touch controller.

+ +

Definition at line 360 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_DEVICE_MODE

+ +
+
+ + + + +
#define FT5XX6_REG_DEVICE_MODE   0x0
+
+ +

FT5xx6 Device Mode Register.

+

Register address specified for device mode of FT5xx6 touch controller.

+ +

Definition at line 81 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_ENTER_IDLE_TIMER

+ +
+
+ + + + +
#define FT5XX6_REG_ENTER_IDLE_TIMER   0x89
+
+ +

FT5xx6 Enter Idle Timer Register.

+

Register address specified for enter idle timer of FT5xx6 touch controller.

+ +

Definition at line 297 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_ERROR_ID

+ +
+
+ + + + +
#define FT5XX6_REG_ERROR_ID   0xA9
+
+ +

FT5xx6 Error ID Register.

+

Register address specified for error ID of FT5xx6 touch controller.

+ +

Definition at line 366 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_FW_ID

+ +
+
+ + + + +
#define FT5XX6_REG_FW_ID   0xA6
+
+ +

FT5xx6 FW ID Register.

+

Register address specified for firmware ID of FT5xx6 touch controller.

+ +

Definition at line 346 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_GEST_ID

+ +
+
+ + + + +
#define FT5XX6_REG_GEST_ID   0x1
+
+ +

FT5xx6 Gesture ID Register.

+

Register address specified for gesture ID of FT5xx6 touch controller.

+ +

Definition at line 88 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_IVT_TO_HOST_STATUS

+ +
+
+ + + + +
#define FT5XX6_REG_IVT_TO_HOST_STATUS   0xA4
+
+ +

FT5xx6 IVT To Host Status Register.

+

Register address specified for IVT to host status of FT5xx6 touch controller.

+ +

Definition at line 332 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_LIB_CHIP_VENDOR_ID

+ +
+
+ + + + +
#define FT5XX6_REG_LIB_CHIP_VENDOR_ID   0xA3
+
+ +

FT5xx6 Chip Vendor ID Register.

+

Register address specified for chip vendor ID of FT5xx6 touch controller.

+ +

Definition at line 325 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_LIB_VERSION_H

+ +
+
+ + + + +
#define FT5XX6_REG_LIB_VERSION_H   0xA1
+
+ +

FT5xx6 Version MSB Register.

+

Register address specified for version higher byte of FT5xx6 touch controller.

+ +

Definition at line 311 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_LIB_VERSION_L

+ +
+
+ + + + +
#define FT5XX6_REG_LIB_VERSION_L   0xA2
+
+ +

FT5xx6 Version LSB Register.

+

Register address specified for version lower byte of FT5xx6 touch controller.

+ +

Definition at line 318 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_MONITOR_ACT_PERIOD

+ +
+
+ + + + +
#define FT5XX6_REG_MONITOR_ACT_PERIOD   0x88
+
+ +

FT5xx6 Actual Period Monitor Register.

+

Register address specified for actual period monitor of FT5xx6 touch controller.

+ +

Definition at line 290 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_MONITOR_STATUS_TMR

+ +
+
+ + + + +
#define FT5XX6_REG_MONITOR_STATUS_TMR   0x87
+
+ +

FT5xx6 Timer Status Monitor Register.

+

Register address specified for timer status monitor of FT5xx6 touch controller.

+ +

Definition at line 283 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_POWER_CONSUME_MODE

+ +
+
+ + + + +
#define FT5XX6_REG_POWER_CONSUME_MODE   0xA5
+
+ +

FT5xx6 Power Consume Register.

+

Register address specified for power consume of FT5xx6 touch controller.

+ +

Definition at line 339 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_POWER_CTRL_MODE

+ +
+
+ + + + +
#define FT5XX6_REG_POWER_CTRL_MODE   0x86
+
+ +

FT5xx6 Power Control Register.

+

Register address specified for power control of FT5xx6 touch controller.

+ +

Definition at line 276 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_RUNNING_STATE

+ +
+
+ + + + +
#define FT5XX6_REG_RUNNING_STATE   0xA7
+
+ +

FT5xx6 Running State Register.

+

Register address specified for running state of FT5xx6 touch controller.

+ +

Definition at line 353 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TD_STATUS

+ +
+
+ + + + +
#define FT5XX6_REG_TD_STATUS   0x2
+
+ +

FT5xx6 Status Register.

+

Register address specified for status of FT5xx6 touch controller.

+ +

Definition at line 94 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH1_XH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH1_XH   0x3
+
+ +

FT5xx6 Touch1 X-coord MSB Register.

+

Register address specified for touch1 x coordinate higher byte of FT5xx6 touch controller.

+ +

Definition at line 101 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH1_XL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH1_XL   0x4
+
+ +

FT5xx6 Touch1 X-coord LSB Register.

+

Register address specified for touch1 x coordinate lower byte of FT5xx6 touch controller.

+ +

Definition at line 108 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH1_YH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH1_YH   0x5
+
+ +

FT5xx6 Touch1 Y-coord MSB Register.

+

Register address specified for touch1 y coordinate higher byte of FT5xx6 touch controller.

+ +

Definition at line 115 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH1_YL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH1_YL   0x6
+
+ +

FT5xx6 Touch1 Y-coord LSB Register.

+

Register address specified for touch1 y coordinate lower byte of FT5xx6 touch controller.

+ +

Definition at line 122 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH2_XH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH2_XH   0x9
+
+ +

FT5xx6 Touch2 X-coord MSB Register.

+

Register address specified for touch2 x coordinate higher byte of FT5xx6 touch controller.

+ +

Definition at line 129 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH2_XL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH2_XL   0xA
+
+ +

FT5xx6 Touch2 X-coord LSB Register.

+

Register address specified for touch2 x coordinate lower byte of FT5xx6 touch controller.

+ +

Definition at line 136 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH2_YH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH2_YH   0xB
+
+ +

FT5xx6 Touch2 Y-coord MSB Register.

+

Register address specified for touch2 y coordinate higher byte of FT5xx6 touch controller.

+ +

Definition at line 143 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH2_YL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH2_YL   0xC
+
+ +

FT5xx6 Touch2 Y-coord LSB Register.

+

Register address specified for touch2 y coordinate lower byte of FT5xx6 touch controller.

+ +

Definition at line 150 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH3_XH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH3_XH   0xF
+
+ +

FT5xx6 Touch3 X-coord MSB Register.

+

Register address specified for touch3 x coordinate higher byte of FT5xx6 touch controller.

+ +

Definition at line 157 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH3_XL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH3_XL   0x10
+
+ +

FT5xx6 Touch3 X-coord LSB Register.

+

Register address specified for touch3 x coordinate lower byte of FT5xx6 touch controller.

+ +

Definition at line 164 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH3_YH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH3_YH   0x11
+
+ +

FT5xx6 Touch3 Y-coord MSB Register.

+

Register address specified for touch3 y coordinate higher byte of FT5xx6 touch controller.

+ +

Definition at line 171 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH3_YL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH3_YL   0x12
+
+ +

FT5xx6 Touch3 Y-coord LSB Register.

+

Register address specified for touch3 y coordinate lower byte of FT5xx6 touch controller.

+ +

Definition at line 178 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH4_XH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH4_XH   0x15
+
+ +

FT5xx6 Touch4 X-coord MSB Register.

+

Register address specified for touch4 x coordinate higher byte of FT5xx6 touch controller.

+ +

Definition at line 185 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH4_XL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH4_XL   0x16
+
+ +

FT5xx6 Touch4 X-coord LSB Register.

+

Register address specified for touch4 x coordinate lower byte of FT5xx6 touch controller.

+ +

Definition at line 192 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH4_YH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH4_YH   0x17
+
+ +

FT5xx6 Touch4 Y-coord MSB Register.

+

Register address specified for touch4 y coordinate higher byte of FT5xx6 touch controller.

+ +

Definition at line 199 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH4_YL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH4_YL   0x18
+
+ +

FT5xx6 Touch4 Y-coord LSB Register.

+

Register address specified for touch4 y coordinate lower byte of FT5xx6 touch controller.

+ +

Definition at line 206 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH5_XH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH5_XH   0x1B
+
+ +

FT5xx6 Touch5 X-coord MSB Register.

+

Register address specified for touch5 x coordinate higher byte of FT5xx6 touch controller.

+ +

Definition at line 213 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH5_XL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH5_XL   0x1C
+
+ +

FT5xx6 Touch5 X-coord LSB Register.

+

Register address specified for touch5 x coordinate lower byte of FT5xx6 touch controller.

+ +

Definition at line 220 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH5_YH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH5_YH   0x1D
+
+ +

FT5xx6 Touch5 Y-coord MSB Register.

+

Register address specified for touch5 y coordinate higher byte of FT5xx6 touch controller.

+ +

Definition at line 227 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH5_YL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH5_YL   0x1E
+
+ +

FT5xx6 Touch5 Y-coord LSB Register.

+

Register address specified for touch5 y coordinate lower byte of FT5xx6 touch controller.

+ +

Definition at line 234 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH_DET_TH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH_DET_TH   0x80
+
+ +

FT5xx6 Touch Detection Threshold Register.

+

Register address specified for touch detection threshold of FT5xx6 touch controller.

+ +

Definition at line 241 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH_PEAK_DET_TH

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH_PEAK_DET_TH   0x81
+
+ +

FT5xx6 Touch Peak Detection Threshold Register.

+

Register address specified for touch peak detection threshold of FT5xx6 touch controller.

+ +

Definition at line 248 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH_TH_CAL

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH_TH_CAL   0x82
+
+ +

FT5xx6 Touch Threshold Calibration Register.

+

Register address specified for touch threshold calibration of FT5xx6 touch controller.

+ +

Definition at line 255 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH_TH_TEMP_COMP

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH_TH_TEMP_COMP   0x84
+
+ +

FT5xx6 Touch Threshold Temperature Compensation Register.

+

Register address specified for touch threshold temperature compensation of FT5xx6 touch controller.

+ +

Definition at line 269 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_REG_TOUCH_TH_WATER

+ +
+
+ + + + +
#define FT5XX6_REG_TOUCH_TH_WATER   0x83
+
+ +

FT5xx6 Touch Threshold Water Register.

+

Register address specified for touch threshold water of FT5xx6 touch controller.

+ +

Definition at line 262 of file ft5xx6.h.

+ +
+
+
+
+ + + + diff --git a/html/group__ft5xx6__registers.js b/html/group__ft5xx6__registers.js new file mode 100644 index 0000000..3e4f4ab --- /dev/null +++ b/html/group__ft5xx6__registers.js @@ -0,0 +1,47 @@ +var group__ft5xx6__registers = +[ + [ "FT5XX6_REG_AUTO_CALIB_MODE", "group__ft5xx6__registers.html#ga7b5836bbe2b49cde9008a051846e01b2", null ], + [ "FT5XX6_REG_BIG_AREA_TH", "group__ft5xx6__registers.html#gaa932733a38cfbf5cc38fd79521da8fe4", null ], + [ "FT5XX6_REG_CONFIGURE_CAL_MODE", "group__ft5xx6__registers.html#ga63062e81a4633785640e6c89094bba7b", null ], + [ "FT5XX6_REG_CTPM_VENDOR_ID", "group__ft5xx6__registers.html#ga5b6140849a381d02ef65cfe298c28252", null ], + [ "FT5XX6_REG_DEVICE_MODE", "group__ft5xx6__registers.html#ga8b8a45b214b83b59db5eb74c05e76e37", null ], + [ "FT5XX6_REG_ENTER_IDLE_TIMER", "group__ft5xx6__registers.html#gab28bfcb895253abc798e3bada35ab3bd", null ], + [ "FT5XX6_REG_ERROR_ID", "group__ft5xx6__registers.html#ga6c2fe21e1b12caf1ebec90102dba878d", null ], + [ "FT5XX6_REG_FW_ID", "group__ft5xx6__registers.html#gaa6f326683cdd97adeee1bbfd3b9491a7", null ], + [ "FT5XX6_REG_GEST_ID", "group__ft5xx6__registers.html#ga540c4433c7c3c05d335d1ae660fa7819", null ], + [ "FT5XX6_REG_IVT_TO_HOST_STATUS", "group__ft5xx6__registers.html#gad678435b3e96e345e171c73fa106553e", null ], + [ "FT5XX6_REG_LIB_CHIP_VENDOR_ID", "group__ft5xx6__registers.html#gac71a05649c083678340c176cbc91c97d", null ], + [ "FT5XX6_REG_LIB_VERSION_H", "group__ft5xx6__registers.html#ga89642a5b534743e63639822069f8cff0", null ], + [ "FT5XX6_REG_LIB_VERSION_L", "group__ft5xx6__registers.html#gaf20b91b1a83ea37855f5fcfcae700159", null ], + [ "FT5XX6_REG_MONITOR_ACT_PERIOD", "group__ft5xx6__registers.html#ga1be9b52d8bc5125fd3514963027585e1", null ], + [ "FT5XX6_REG_MONITOR_STATUS_TMR", "group__ft5xx6__registers.html#ga59a4f6db976b607671d948d51ec3a2d6", null ], + [ "FT5XX6_REG_POWER_CONSUME_MODE", "group__ft5xx6__registers.html#gaab067b4892cdca6f9b060edbf4d7c579", null ], + [ "FT5XX6_REG_POWER_CTRL_MODE", "group__ft5xx6__registers.html#ga596c00cc67787aeb4acb4d58ea9dc259", null ], + [ "FT5XX6_REG_RUNNING_STATE", "group__ft5xx6__registers.html#gabae27c2f3c8c464b2e4a39c932ebd084", null ], + [ "FT5XX6_REG_TD_STATUS", "group__ft5xx6__registers.html#ga005eda4b759f90b7a1b684e39adf2b6f", null ], + [ "FT5XX6_REG_TOUCH1_XH", "group__ft5xx6__registers.html#gaec80f3f0e4f4353a2aec7531a9db05ef", null ], + [ "FT5XX6_REG_TOUCH1_XL", "group__ft5xx6__registers.html#ga93f84503f533f065ce5970ce1d43591c", null ], + [ "FT5XX6_REG_TOUCH1_YH", "group__ft5xx6__registers.html#ga235479e39af35ab46b3aa8fc02384fa8", null ], + [ "FT5XX6_REG_TOUCH1_YL", "group__ft5xx6__registers.html#ga0eca480461891c3c33d627cd1532a5d9", null ], + [ "FT5XX6_REG_TOUCH2_XH", "group__ft5xx6__registers.html#ga361b31fdf399b0a40c5aedc8120b82d2", null ], + [ "FT5XX6_REG_TOUCH2_XL", "group__ft5xx6__registers.html#gacff011a8e7b2c9fd34f7a0407976d3af", null ], + [ "FT5XX6_REG_TOUCH2_YH", "group__ft5xx6__registers.html#gaf368e8be3460c329019e97a53fd336bc", null ], + [ "FT5XX6_REG_TOUCH2_YL", "group__ft5xx6__registers.html#ga7d0dd5e9d96088d28439700a1b81078d", null ], + [ "FT5XX6_REG_TOUCH3_XH", "group__ft5xx6__registers.html#ga55e3ec274bb355695e29556f617eaec2", null ], + [ "FT5XX6_REG_TOUCH3_XL", "group__ft5xx6__registers.html#ga113762743ca541c7aba94be79c37e4a3", null ], + [ "FT5XX6_REG_TOUCH3_YH", "group__ft5xx6__registers.html#gad3f856ddff2ccf75349ee75d37c51322", null ], + [ "FT5XX6_REG_TOUCH3_YL", "group__ft5xx6__registers.html#gab436e5aecd5cf1c5c40bf7593b6a3cec", null ], + [ "FT5XX6_REG_TOUCH4_XH", "group__ft5xx6__registers.html#ga10eb6127e83e29d76a02ce9e5a5fae10", null ], + [ "FT5XX6_REG_TOUCH4_XL", "group__ft5xx6__registers.html#ga29479c572b8947f7322d2cb8a2cb02f0", null ], + [ "FT5XX6_REG_TOUCH4_YH", "group__ft5xx6__registers.html#ga0a6ee503e89a68a6cc4409099073fe56", null ], + [ "FT5XX6_REG_TOUCH4_YL", "group__ft5xx6__registers.html#gaa3b22ffa4d01f08042d854dc863ff2ba", null ], + [ "FT5XX6_REG_TOUCH5_XH", "group__ft5xx6__registers.html#ga003a3be17608c0062181d2d6b311b2cf", null ], + [ "FT5XX6_REG_TOUCH5_XL", "group__ft5xx6__registers.html#ga44b6ac08854f66b3ca5897d8d30bc4ab", null ], + [ "FT5XX6_REG_TOUCH5_YH", "group__ft5xx6__registers.html#ga2135e7acb4f44970e000cf3939b42cf6", null ], + [ "FT5XX6_REG_TOUCH5_YL", "group__ft5xx6__registers.html#ga5858094141e61f0253c90a886ca862dd", null ], + [ "FT5XX6_REG_TOUCH_DET_TH", "group__ft5xx6__registers.html#gae860655ceed039a371c006cb634e592d", null ], + [ "FT5XX6_REG_TOUCH_PEAK_DET_TH", "group__ft5xx6__registers.html#ga266afb318049260d4c59c11413466a66", null ], + [ "FT5XX6_REG_TOUCH_TH_CAL", "group__ft5xx6__registers.html#gab02f95c87000f71a1d811e983512a93d", null ], + [ "FT5XX6_REG_TOUCH_TH_TEMP_COMP", "group__ft5xx6__registers.html#gaa6a2627f8dff67a5a12aeff0f9dab4e2", null ], + [ "FT5XX6_REG_TOUCH_TH_WATER", "group__ft5xx6__registers.html#ga8bce6229099426aa0d5c884c2caef3fa", null ] +]; \ No newline at end of file diff --git a/html/group__ft5xx6__settings.html b/html/group__ft5xx6__settings.html new file mode 100644 index 0000000..662d909 --- /dev/null +++ b/html/group__ft5xx6__settings.html @@ -0,0 +1,306 @@ + + + + + + + +Solar panel: FT5xx6 Settings + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +

FT5xx6 Settings List. +More...

+ + + + + + + + +

+Modules

 FT5xx6 Masks
 FT5xx6 Masks List.
 
 FT5xx6 Offsets
 FT5xx6 Offsets List.
 
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define FT5XX6_INT_MODE_POLLING   0
 FT5xx6 Interrupt Polling Mode Setting.
 
#define FT5XX6_INT_MODE_TRIGGER   1
 FT5xx6 Interrupt Trigger Mode Setting.
 
#define FT5XX6_I2C_ADDR   0x38
 FT5xx6 Slave Address Setting.
 
#define FT5XX6_N_DATA_TRANSFER_MIN   1
 FT5xx6 Data Transfer Limits Setting.
 
#define FT5XX6_N_DATA_TRANSFER_MAX   256
 
#define FT5XX6_GESTURE_ITEMS_MAX   7
 FT5xx6 Gesture Items Limit Setting.
 
#define FT5XX6_EVENT_PRESS_DET   0x80
 FT5xx6 Touch Pressure Event.
 
#define FT5XX6_MAP_PINS(cfg)
 FT5xx6 Pin Mapping.
 
+

Detailed Description

+

FT5xx6 Settings List.

+

FT5xx6 settings description with respective values.

+

Macro Definition Documentation

+ +

◆ FT5XX6_EVENT_PRESS_DET

+ +
+
+ + + + +
#define FT5XX6_EVENT_PRESS_DET   0x80
+
+ +

FT5xx6 Touch Pressure Event.

+

Touch pressure event for FT5xx6 series touch controllers.

+ +

Definition at line 430 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_GESTURE_ITEMS_MAX

+ +
+
+ + + + +
#define FT5XX6_GESTURE_ITEMS_MAX   7
+
+ +

FT5xx6 Gesture Items Limit Setting.

+

Gesture items limit for FT5xx6 series touch controllers.

+ +

Definition at line 424 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_I2C_ADDR

+ +
+
+ + + + +
#define FT5XX6_I2C_ADDR   0x38
+
+ +

FT5xx6 Slave Address Setting.

+

Slave address setting for FT5xx6 series touch controllers.

+ +

Definition at line 411 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_INT_MODE_POLLING

+ +
+
+ + + + +
#define FT5XX6_INT_MODE_POLLING   0
+
+ +

FT5xx6 Interrupt Polling Mode Setting.

+

INT pin polling mode setting for FT5xx6 series touch controllers.

+ +

Definition at line 399 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_INT_MODE_TRIGGER

+ +
+
+ + + + +
#define FT5XX6_INT_MODE_TRIGGER   1
+
+ +

FT5xx6 Interrupt Trigger Mode Setting.

+

INT pin trigger mode setting for FT5xx6 series touch controllers.

+ +

Definition at line 405 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_MAP_PINS

+ +
+
+ + + + + + + + +
#define FT5XX6_MAP_PINS( cfg)
+
+Value:
cfg.i2c_cfg.scl = CTP_SCL; \
+
cfg.i2c_cfg.sda = CTP_SDA; \
+
cfg.int_pin = CTP_INT
+
+

FT5xx6 Pin Mapping.

+

Utility macro for mapping FT5xx6 series touch controllers.

+ +

Definition at line 510 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_N_DATA_TRANSFER_MAX

+ +
+
+ + + + +
#define FT5XX6_N_DATA_TRANSFER_MAX   256
+
+ +

Definition at line 418 of file ft5xx6.h.

+ +
+
+ +

◆ FT5XX6_N_DATA_TRANSFER_MIN

+ +
+
+ + + + +
#define FT5XX6_N_DATA_TRANSFER_MIN   1
+
+ +

FT5xx6 Data Transfer Limits Setting.

+

Data transfer limits for FT5xx6 series touch controllers.

+ +

Definition at line 417 of file ft5xx6.h.

+ +
+
+
+
+ + + + diff --git a/html/group__ft5xx6__settings.js b/html/group__ft5xx6__settings.js new file mode 100644 index 0000000..312d0dd --- /dev/null +++ b/html/group__ft5xx6__settings.js @@ -0,0 +1,13 @@ +var group__ft5xx6__settings = +[ + [ "FT5xx6 Masks", "group__ft5xx6__masks.html", "group__ft5xx6__masks" ], + [ "FT5xx6 Offsets", "group__ft5xx6__offsets.html", "group__ft5xx6__offsets" ], + [ "FT5XX6_EVENT_PRESS_DET", "group__ft5xx6__settings.html#gaf8faa1f0b1557196058bc3e4eae35327", null ], + [ "FT5XX6_GESTURE_ITEMS_MAX", "group__ft5xx6__settings.html#gafc926f3ab5967bc8b02428b2565265e5", null ], + [ "FT5XX6_I2C_ADDR", "group__ft5xx6__settings.html#gabb0efae5648f97624e65974977203b3f", null ], + [ "FT5XX6_INT_MODE_POLLING", "group__ft5xx6__settings.html#ga7e6910fadf6c2608f18e2da464349dac", null ], + [ "FT5XX6_INT_MODE_TRIGGER", "group__ft5xx6__settings.html#ga133324cfd35fc1484bbde0c8febe6807", null ], + [ "FT5XX6_MAP_PINS", "group__ft5xx6__settings.html#ga782865f91f11bdbc5712b01cc507e5b2", null ], + [ "FT5XX6_N_DATA_TRANSFER_MAX", "group__ft5xx6__settings.html#ga46f6f524541133d4a70b1a6d8dc5c781", null ], + [ "FT5XX6_N_DATA_TRANSFER_MIN", "group__ft5xx6__settings.html#gae951d666752d722e9785333931f29ede", null ] +]; \ No newline at end of file diff --git a/html/group__middlewaregroup.html b/html/group__middlewaregroup.html new file mode 100644 index 0000000..f33c21d --- /dev/null +++ b/html/group__middlewaregroup.html @@ -0,0 +1,120 @@ + + + + + + + +Solar panel: Middleware + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
Middleware
+
+
+ +

This section includes the mikroSDK API Reference for Middleware Layer. +More...

+ + + + + + + +

+Modules

 FT5xx6 Touch Controllers Driver
 FT5xx6 Touch Controller Driver API Reference.
 
 SSD1963 Display Controller Driver
 
+

Detailed Description

+

This section includes the mikroSDK API Reference for Middleware Layer.

+
+
+ + + + diff --git a/html/group__middlewaregroup.js b/html/group__middlewaregroup.js new file mode 100644 index 0000000..0b61ccf --- /dev/null +++ b/html/group__middlewaregroup.js @@ -0,0 +1,5 @@ +var group__middlewaregroup = +[ + [ "FT5xx6 Touch Controllers Driver", "group__ft5xx6.html", "group__ft5xx6" ], + [ "SSD1963 Display Controller Driver", "group__ssd1963.html", "group__ssd1963" ] +]; \ No newline at end of file diff --git a/html/group__ssd1963.html b/html/group__ssd1963.html new file mode 100644 index 0000000..5fc9b32 --- /dev/null +++ b/html/group__ssd1963.html @@ -0,0 +1,114 @@ + + + + + + + +Solar panel: SSD1963 Display Controller Driver + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SSD1963 Display Controller Driver
+
+
+ + + + + +

+Modules

 SSD1963 Display Controller Commands
 SSD1963 Display Controller Command List.
 
+

Detailed Description

+
+
+ + + + diff --git a/html/group__ssd1963.js b/html/group__ssd1963.js new file mode 100644 index 0000000..4f37a88 --- /dev/null +++ b/html/group__ssd1963.js @@ -0,0 +1,4 @@ +var group__ssd1963 = +[ + [ "SSD1963 Display Controller Commands", "group__ssd1963__commands.html", "group__ssd1963__commands" ] +]; \ No newline at end of file diff --git a/html/group__ssd1963__commands.html b/html/group__ssd1963__commands.html new file mode 100644 index 0000000..f3793b9 --- /dev/null +++ b/html/group__ssd1963__commands.html @@ -0,0 +1,1691 @@ + + + + + + + +Solar panel: SSD1963 Display Controller Commands + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
SSD1963 Display Controller Commands
+
+
+ +

SSD1963 Display Controller Command List. +More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define SSD1963_CMD_NOP   0X00
 No operation.
 
#define SSD1963_CMD_SOFT_RESET   0x01
 Software Reset.
 
#define SSD1963_CMD_GET_POWER_MODE   0x0A
 Get the current power mode.
 
#define SSD1963_CMD_GET_ADDRESS_MODE   0x0B
 Get the frame buffer to the display panel read order.
 
#define SSD1963_CMD_GET_DISPLAY_MODE   0x0D
 The SSD1963 returns the Display Image Mode.
 
#define SSD1963_CMD_GET_TEAR_EFFECT_status   0x0E
 Get the Tear Effect status.
 
#define SSD1963_CMD_ENTER_SLEEP_MODE   0x10
 Turn off the panel. This command will pull high the GPIO0. If GPIO0 is configured as normal GPIO or LCD miscellaneous signal with command set_gpio_conf, this command will be ignored.
 
#define SSD1963_CMD_EXIT_SLEEP_MODE   0x11
 Turn on the panel. This command will pull low the GPIO0. If GPIO0 is configured as normal GPIO or LCD miscellaneous signal with command set_gpio_conf, this command will be ignored.
 
#define SSD1963_CMD_ENTER_PARTIAL_MODE   0x12
 Part of the display area is used for image display.
 
#define SSD1963_CMD_ENTER_NORMAL_MODE   0x13
 The whole display area is used for image display.
 
#define SSD1963_CMD_EXIT_INVERT_MODE   0x20
 Displayed image colors are not inverted.
 
#define SSD1963_CMD_ENTER_INVERT_MODE   0x21
 Displayed image colors are inverted.
 
#define SSD1963_CMD_SET_GAMMA_CURVE   0x26
 Selects the gamma curve used by the display panel.
 
#define SSD1963_CMD_SET_DISPLAY_OFF   0x28
 Blanks the display panel.
 
#define SSD1963_CMD_SET_DISPLAY_ON   0x29
 Show the image on the display panel.
 
#define SSD1963_CMD_SET_COLUMN_ADDRESS   0x2A
 Set the column address.
 
#define SSD1963_CMD_SET_PAGE_ADDRESS   0x2B
 Set the page address.
 
#define SSD1963_CMD_WRITE_MEMORY_START   0x2C
 Transfer image information from the host processor interface to the SSD1963 starting at the location provided by set_column_address and set_page_address.
 
#define SSD1963_CMD_READ_MEMORY_START   0x2E
 Transfer image data from the SSD1963 to the host processor interface starting at the location provided by set_column_address and set_page_address.
 
#define SSD1963_CMD_SET_PARTIAL_AREA   0x30
 Defines the partial display area on the display panel.
 
#define SSD1963_CMD_SET_SCROLL_AREA   0x33
 Defines the vertical scrolling and fixed area on display area.
 
#define SSD1963_CMD_SET_TEAR_OFF   0x34
 Synchronization information is not sent from the SSD1963 to the host processor.
 
#define SSD1963_CMD_SET_TEAR_ON   0x35
 Synchronization information is sent from the SSD1963 to the host processor at the start of VFP.
 
#define SSD1963_CMD_SET_ADDRESS_MODE   0x36
 Set the read order from frame buffer to the display panel.
 
#define SSD1963_CMD_SET_SCROLL_START   0x37
 Defines the vertical scrolling starting point.
 
#define SSD1963_CMD_EXIT_IDLE_MODE   0x38
 Full color depth is used for the display panel.
 
#define SSD1963_CMD_ENTER_IDLE_MODE   0x39
 Reduce color depth is used on the display panel.
 
#define SSD1963_CMD_WRITE_MEMORY_CONTINUE   0x3C
 Transfer image information from the host processor interface to the SSD1963 from the last written location.
 
#define SSD1963_CMD_READ_MEMORY_CONTINUE   0x3E
 Read image data from the SSD1963 continuing after the last read_memory_continue or read_memory_start.
 
#define SSD1963_CMD_SET_TEAR_SCANLINE   0x44
 Synchronization information is sent from the SSD1963 to the host processor when the display panel refresh reaches the provided scan line.
 
#define SSD1963_CMD_GET_SCANLINE   0x45
 Get the current scan line.
 
#define SSD1963_CMD_READ_DDB   0xA1
 Read the DDB from the provided location.
 
#define SSD1963_CMD_SET_LCD_MODE   0xB0
 Set the LCD panel mode and resolution.
 
#define SSD1963_CMD_GET_LCD_MODE   0xB1
 Get the current LCD panel mode, pad strength and resolution.
 
#define SSD1963_CMD_SET_HORI_PERIOD   0xB4
 Set front porch.
 
#define SSD1963_CMD_GET_HORI_PERIOD   0xB5
 Get current front porch settings.
 
#define SSD1963_CMD_SET_VERT_PERIOD   0xB6
 Set the vertical blanking interval between last scan line and next LFRAME pulse.
 
#define SSD1963_CMD_GET_VERT_PERIOD   0xB7
 Get the vertical blanking interval between last scan line and next LFRAME pulse.
 
#define SSD1963_CMD_SET_GPIO_CONF   0xB8
 Set the GPIO configuration. If the GPIO is not used for LCD, set the direction. Otherwise, they are toggled with LCD signals.
 
#define SSD1963_CMD_GET_GPIO_CONF   0xB9
 Get the current GPIO configuration.
 
#define SSD1963_CMD_SET_GPIO_VALUE   0xBA
 Set GPIO value for GPIO configured as output.
 
#define SSD1963_CMD_GET_GPIO_STATUS   0xBB
 Read current GPIO status. If the individual GPIO was configured as input, the value is the status of the corresponding pin. Otherwise, it is the programmed value.
 
#define SSD1963_CMD_SET_POST_PROC   0xBC
 Set the image post processor.
 
#define SSD1963_CMD_GET_POST_PROC   0xBD
 Get the image post processor.
 
#define SSD1963_CMD_SET_PWM_CONF   0xBE
 Set the image post processor.
 
#define SSD1963_CMD_GET_PWM_CONF   0xBF
 Get the image post processor.
 
#define SSD1963_CMD_SET_LCD_GEN0   0xC0
 Set the rise, fall, period and toggling properties of LCD signal generator 0.
 
#define SSD1963_CMD_GET_LCD_GEN0   0xC1
 Get the current settings of LCD signal generator 0.
 
#define SSD1963_CMD_SET_LCD_GEN1   0xC2
 Set the rise, fall, period and toggling properties of LCD signal generator 1.
 
#define SSD1963_CMD_GET_LCD_GEN1   0xC3
 Get the current settings of LCD signal generator 1.
 
#define SSD1963_CMD_SET_LCD_GEN2   0xC4
 Set the rise, fall, period and toggling properties of LCD signal generator 2.
 
#define SSD1963_CMD_GET_LCD_GEN2   0xC5
 Get the current settings of LCD signal generator 2.
 
#define SSD1963_CMD_SET_LCD_GEN3   0xC6
 Set the rise, fall, period and toggling properties of LCD signal generator 3.
 
#define SSD1963_CMD_GET_LCD_GEN3   0xC7
 Get the current settings of LCD signal generator 3.
 
#define SSD1963_CMD_SET_GPIO0_ROP   0xC8
 Set the GPIO0 with respect to the LCD signal generators using ROP operation. No effect if the GPIO0 is configured as general GPIO.
 
#define SSD1963_CMD_GET_GPIO0_ROP   0xC9
 Get the GPIO0 properties with respect to the LCD signal generators.
 
#define SSD1963_CMD_SET_GPIO1_ROP   0xCA
 Set the GPIO1 with respect to the LCD signal generators using ROP operation. No effect if the GPIO1 is configured as general GPIO.
 
#define SSD1963_CMD_GET_GPIO1_ROP   0xCB
 Get the GPIO1 properties with respect to the LCD signal generators.
 
#define SSD1963_CMD_SET_GPIO2_ROP   0xCC
 Set the GPIO2 with respect to the LCD signal generators using ROP operation. No effect if the GPIO2 is configured as general GPIO.
 
#define SSD1963_CMD_GET_GPIO2_ROP   0xCD
 Get the GPIO2 properties with respect to the LCD signal generators.
 
#define SSD1963_CMD_SET_GPIO3_ROP   0xCE
 Set the GPIO3 with respect to the LCD signal generators using ROP operation. No effect if the GPIO3 is configured as general GPIO.
 
#define SSD1963_CMD_GET_GPIO3_ROP   0xCF
 Get the GPIO3 properties with respect to the LCD signal generators.
 
#define SSD1963_CMD_SET_DBC_CONF   0xD0
 Set the dynamic back light configuration.
 
#define SSD1963_CMD_GET_DBC_CONF   0xD
 Get the current dynamic back light configuration.
 
#define SSD1963_CMD_SET_DBC_TH   0xD4
 Set the threshold for each level of power saving.
 
#define SSD1963_CMD_GET_DBC_TH   0xD5
 Get the threshold for each level of power saving.
 
#define SSD1963_CMD_SET_PLL   0xE0
 Start the PLL. Before the start, the system was operated with the crystal oscillator or clock input.
 
#define SSD1963_CMD_SET_PLL_MN   0xE2
 Set the PLL.
 
#define SSD1963_CMD_GET_PLL_MN   0xE3
 Get the PLL settings.
 
#define SSD1963_CMD_GET_PLL_STATUS   0xE4
 Get the current PLL status.
 
#define SSD1963_CMD_SET_DEEP_SLEEP   0xE5
 Set deep sleep mode.
 
#define SSD1963_CMD_SET_LSHIFT_FREQ   0xE6
 Set the LSHIFT (pixel clock) frequency.
 
#define SSD1963_CMD_GET_LSHIFT_FREQ   0xE7
 Get current LSHIFT (pixel clock) frequency setting.
 
#define SSD1963_CMD_SET_PIXEL_DATA_INTERFACE   0xF0
 Set the pixel data format of the parallel host processor interface.
 
#define SSD1963_CMD_GET_PIXEL_DATA_INTERFACE   0xF1
 Get the current pixel data format settings.
 
+

Detailed Description

+

SSD1963 Display Controller Command List.

+

Macro Definition Documentation

+ +

◆ SSD1963_CMD_ENTER_IDLE_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_ENTER_IDLE_MODE   0x39
+
+ +

Reduce color depth is used on the display panel.

+ +

Definition at line 200 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_ENTER_INVERT_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_ENTER_INVERT_MODE   0x21
+
+ +

Displayed image colors are inverted.

+ +

Definition at line 125 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_ENTER_NORMAL_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_ENTER_NORMAL_MODE   0x13
+
+ +

The whole display area is used for image display.

+ +

Definition at line 115 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_ENTER_PARTIAL_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_ENTER_PARTIAL_MODE   0x12
+
+ +

Part of the display area is used for image display.

+ +

Definition at line 110 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_ENTER_SLEEP_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_ENTER_SLEEP_MODE   0x10
+
+ +

Turn off the panel. This command will pull high the GPIO0. If GPIO0 is configured as normal GPIO or LCD miscellaneous signal with command set_gpio_conf, this command will be ignored.

+ +

Definition at line 100 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_EXIT_IDLE_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_EXIT_IDLE_MODE   0x38
+
+ +

Full color depth is used for the display panel.

+ +

Definition at line 195 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_EXIT_INVERT_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_EXIT_INVERT_MODE   0x20
+
+ +

Displayed image colors are not inverted.

+ +

Definition at line 120 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_EXIT_SLEEP_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_EXIT_SLEEP_MODE   0x11
+
+ +

Turn on the panel. This command will pull low the GPIO0. If GPIO0 is configured as normal GPIO or LCD miscellaneous signal with command set_gpio_conf, this command will be ignored.

+ +

Definition at line 105 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_ADDRESS_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_GET_ADDRESS_MODE   0x0B
+
+ +

Get the frame buffer to the display panel read order.

+ +

Definition at line 81 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_DBC_CONF

+ +
+
+ + + + +
#define SSD1963_CMD_GET_DBC_CONF   0xD
+
+ +

Get the current dynamic back light configuration.

+ +

Definition at line 389 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_DBC_TH

+ +
+
+ + + + +
#define SSD1963_CMD_GET_DBC_TH   0xD5
+
+ +

Get the threshold for each level of power saving.

+ +

Definition at line 399 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_DISPLAY_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_GET_DISPLAY_MODE   0x0D
+
+ +

The SSD1963 returns the Display Image Mode.

+ +

Definition at line 88 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_GPIO0_ROP

+ +
+
+ + + + +
#define SSD1963_CMD_GET_GPIO0_ROP   0xC9
+
+ +

Get the GPIO0 properties with respect to the LCD signal generators.

+ +

Definition at line 349 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_GPIO1_ROP

+ +
+
+ + + + +
#define SSD1963_CMD_GET_GPIO1_ROP   0xCB
+
+ +

Get the GPIO1 properties with respect to the LCD signal generators.

+ +

Definition at line 359 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_GPIO2_ROP

+ +
+
+ + + + +
#define SSD1963_CMD_GET_GPIO2_ROP   0xCD
+
+ +

Get the GPIO2 properties with respect to the LCD signal generators.

+ +

Definition at line 369 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_GPIO3_ROP

+ +
+
+ + + + +
#define SSD1963_CMD_GET_GPIO3_ROP   0xCF
+
+ +

Get the GPIO3 properties with respect to the LCD signal generators.

+ +

Definition at line 379 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_GPIO_CONF

+ +
+
+ + + + +
#define SSD1963_CMD_GET_GPIO_CONF   0xB9
+
+ +

Get the current GPIO configuration.

+ +

Definition at line 269 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_GPIO_STATUS

+ +
+
+ + + + +
#define SSD1963_CMD_GET_GPIO_STATUS   0xBB
+
+ +

Read current GPIO status. If the individual GPIO was configured as input, the value is the status of the corresponding pin. Otherwise, it is the programmed value.

+ +

Definition at line 279 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_HORI_PERIOD

+ +
+
+ + + + +
#define SSD1963_CMD_GET_HORI_PERIOD   0xB5
+
+ +

Get current front porch settings.

+ +

Definition at line 249 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_LCD_GEN0

+ +
+
+ + + + +
#define SSD1963_CMD_GET_LCD_GEN0   0xC1
+
+ +

Get the current settings of LCD signal generator 0.

+ +

Definition at line 309 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_LCD_GEN1

+ +
+
+ + + + +
#define SSD1963_CMD_GET_LCD_GEN1   0xC3
+
+ +

Get the current settings of LCD signal generator 1.

+ +

Definition at line 319 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_LCD_GEN2

+ +
+
+ + + + +
#define SSD1963_CMD_GET_LCD_GEN2   0xC5
+
+ +

Get the current settings of LCD signal generator 2.

+ +

Definition at line 329 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_LCD_GEN3

+ +
+
+ + + + +
#define SSD1963_CMD_GET_LCD_GEN3   0xC7
+
+ +

Get the current settings of LCD signal generator 3.

+ +

Definition at line 339 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_LCD_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_GET_LCD_MODE   0xB1
+
+ +

Get the current LCD panel mode, pad strength and resolution.

+ +

Definition at line 239 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_LSHIFT_FREQ

+ +
+
+ + + + +
#define SSD1963_CMD_GET_LSHIFT_FREQ   0xE7
+
+ +

Get current LSHIFT (pixel clock) frequency setting.

+ +

Definition at line 434 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_PIXEL_DATA_INTERFACE

+ +
+
+ + + + +
#define SSD1963_CMD_GET_PIXEL_DATA_INTERFACE   0xF1
+
+ +

Get the current pixel data format settings.

+ +

Definition at line 447 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_PLL_MN

+ +
+
+ + + + +
#define SSD1963_CMD_GET_PLL_MN   0xE3
+
+ +

Get the PLL settings.

+ +

Definition at line 414 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_PLL_STATUS

+ +
+
+ + + + +
#define SSD1963_CMD_GET_PLL_STATUS   0xE4
+
+ +

Get the current PLL status.

+ +

Definition at line 419 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_POST_PROC

+ +
+
+ + + + +
#define SSD1963_CMD_GET_POST_PROC   0xBD
+
+ +

Get the image post processor.

+ +

Definition at line 289 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_POWER_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_GET_POWER_MODE   0x0A
+
+ +

Get the current power mode.

+ +

Definition at line 76 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_PWM_CONF

+ +
+
+ + + + +
#define SSD1963_CMD_GET_PWM_CONF   0xBF
+
+ +

Get the image post processor.

+ +

Definition at line 299 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_SCANLINE

+ +
+
+ + + + +
#define SSD1963_CMD_GET_SCANLINE   0x45
+
+ +

Get the current scan line.

+ +

Definition at line 222 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_TEAR_EFFECT_status

+ +
+
+ + + + +
#define SSD1963_CMD_GET_TEAR_EFFECT_status   0x0E
+
+ +

Get the Tear Effect status.

+ +

Definition at line 93 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_GET_VERT_PERIOD

+ +
+
+ + + + +
#define SSD1963_CMD_GET_VERT_PERIOD   0xB7
+
+ +

Get the vertical blanking interval between last scan line and next LFRAME pulse.

+ +

Definition at line 259 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_NOP

+ +
+
+ + + + +
#define SSD1963_CMD_NOP   0X00
+
+ +

No operation.

+ +

Definition at line 66 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_READ_DDB

+ +
+
+ + + + +
#define SSD1963_CMD_READ_DDB   0xA1
+
+ +

Read the DDB from the provided location.

+ +

Definition at line 227 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_READ_MEMORY_CONTINUE

+ +
+
+ + + + +
#define SSD1963_CMD_READ_MEMORY_CONTINUE   0x3E
+
+ +

Read image data from the SSD1963 continuing after the last read_memory_continue or read_memory_start.

+ +

Definition at line 212 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_READ_MEMORY_START

+ +
+
+ + + + +
#define SSD1963_CMD_READ_MEMORY_START   0x2E
+
+ +

Transfer image data from the SSD1963 to the host processor interface starting at the location provided by set_column_address and set_page_address.

+ +

Definition at line 160 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_ADDRESS_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_SET_ADDRESS_MODE   0x36
+
+ +

Set the read order from frame buffer to the display panel.

+ +

Definition at line 185 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_COLUMN_ADDRESS

+ +
+
+ + + + +
#define SSD1963_CMD_SET_COLUMN_ADDRESS   0x2A
+
+ +

Set the column address.

+ +

Definition at line 145 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_DBC_CONF

+ +
+
+ + + + +
#define SSD1963_CMD_SET_DBC_CONF   0xD0
+
+ +

Set the dynamic back light configuration.

+ +

Definition at line 384 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_DBC_TH

+ +
+
+ + + + +
#define SSD1963_CMD_SET_DBC_TH   0xD4
+
+ +

Set the threshold for each level of power saving.

+ +

Definition at line 394 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_DEEP_SLEEP

+ +
+
+ + + + +
#define SSD1963_CMD_SET_DEEP_SLEEP   0xE5
+
+ +

Set deep sleep mode.

+ +

Definition at line 424 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_DISPLAY_OFF

+ +
+
+ + + + +
#define SSD1963_CMD_SET_DISPLAY_OFF   0x28
+
+ +

Blanks the display panel.

+ +

Definition at line 135 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_DISPLAY_ON

+ +
+
+ + + + +
#define SSD1963_CMD_SET_DISPLAY_ON   0x29
+
+ +

Show the image on the display panel.

+ +

Definition at line 140 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_GAMMA_CURVE

+ +
+
+ + + + +
#define SSD1963_CMD_SET_GAMMA_CURVE   0x26
+
+ +

Selects the gamma curve used by the display panel.

+ +

Definition at line 130 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_GPIO0_ROP

+ +
+
+ + + + +
#define SSD1963_CMD_SET_GPIO0_ROP   0xC8
+
+ +

Set the GPIO0 with respect to the LCD signal generators using ROP operation. No effect if the GPIO0 is configured as general GPIO.

+ +

Definition at line 344 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_GPIO1_ROP

+ +
+
+ + + + +
#define SSD1963_CMD_SET_GPIO1_ROP   0xCA
+
+ +

Set the GPIO1 with respect to the LCD signal generators using ROP operation. No effect if the GPIO1 is configured as general GPIO.

+ +

Definition at line 354 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_GPIO2_ROP

+ +
+
+ + + + +
#define SSD1963_CMD_SET_GPIO2_ROP   0xCC
+
+ +

Set the GPIO2 with respect to the LCD signal generators using ROP operation. No effect if the GPIO2 is configured as general GPIO.

+ +

Definition at line 364 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_GPIO3_ROP

+ +
+
+ + + + +
#define SSD1963_CMD_SET_GPIO3_ROP   0xCE
+
+ +

Set the GPIO3 with respect to the LCD signal generators using ROP operation. No effect if the GPIO3 is configured as general GPIO.

+ +

Definition at line 374 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_GPIO_CONF

+ +
+
+ + + + +
#define SSD1963_CMD_SET_GPIO_CONF   0xB8
+
+ +

Set the GPIO configuration. If the GPIO is not used for LCD, set the direction. Otherwise, they are toggled with LCD signals.

+ +

Definition at line 264 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_GPIO_VALUE

+ +
+
+ + + + +
#define SSD1963_CMD_SET_GPIO_VALUE   0xBA
+
+ +

Set GPIO value for GPIO configured as output.

+ +

Definition at line 274 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_HORI_PERIOD

+ +
+
+ + + + +
#define SSD1963_CMD_SET_HORI_PERIOD   0xB4
+
+ +

Set front porch.

+ +

Definition at line 244 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_LCD_GEN0

+ +
+
+ + + + +
#define SSD1963_CMD_SET_LCD_GEN0   0xC0
+
+ +

Set the rise, fall, period and toggling properties of LCD signal generator 0.

+ +

Definition at line 304 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_LCD_GEN1

+ +
+
+ + + + +
#define SSD1963_CMD_SET_LCD_GEN1   0xC2
+
+ +

Set the rise, fall, period and toggling properties of LCD signal generator 1.

+ +

Definition at line 314 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_LCD_GEN2

+ +
+
+ + + + +
#define SSD1963_CMD_SET_LCD_GEN2   0xC4
+
+ +

Set the rise, fall, period and toggling properties of LCD signal generator 2.

+ +

Definition at line 324 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_LCD_GEN3

+ +
+
+ + + + +
#define SSD1963_CMD_SET_LCD_GEN3   0xC6
+
+ +

Set the rise, fall, period and toggling properties of LCD signal generator 3.

+ +

Definition at line 334 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_LCD_MODE

+ +
+
+ + + + +
#define SSD1963_CMD_SET_LCD_MODE   0xB0
+
+ +

Set the LCD panel mode and resolution.

+ +

Definition at line 234 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_LSHIFT_FREQ

+ +
+
+ + + + +
#define SSD1963_CMD_SET_LSHIFT_FREQ   0xE6
+
+ +

Set the LSHIFT (pixel clock) frequency.

+ +

Definition at line 429 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_PAGE_ADDRESS

+ +
+
+ + + + +
#define SSD1963_CMD_SET_PAGE_ADDRESS   0x2B
+
+ +

Set the page address.

+ +

Definition at line 150 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_PARTIAL_AREA

+ +
+
+ + + + +
#define SSD1963_CMD_SET_PARTIAL_AREA   0x30
+
+ +

Defines the partial display area on the display panel.

+ +

Definition at line 165 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_PIXEL_DATA_INTERFACE

+ +
+
+ + + + +
#define SSD1963_CMD_SET_PIXEL_DATA_INTERFACE   0xF0
+
+ +

Set the pixel data format of the parallel host processor interface.

+ +

Definition at line 442 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_PLL

+ +
+
+ + + + +
#define SSD1963_CMD_SET_PLL   0xE0
+
+ +

Start the PLL. Before the start, the system was operated with the crystal oscillator or clock input.

+ +

Definition at line 404 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_PLL_MN

+ +
+
+ + + + +
#define SSD1963_CMD_SET_PLL_MN   0xE2
+
+ +

Set the PLL.

+ +

Definition at line 409 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_POST_PROC

+ +
+
+ + + + +
#define SSD1963_CMD_SET_POST_PROC   0xBC
+
+ +

Set the image post processor.

+ +

Definition at line 284 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_PWM_CONF

+ +
+
+ + + + +
#define SSD1963_CMD_SET_PWM_CONF   0xBE
+
+ +

Set the image post processor.

+ +

Definition at line 294 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_SCROLL_AREA

+ +
+
+ + + + +
#define SSD1963_CMD_SET_SCROLL_AREA   0x33
+
+ +

Defines the vertical scrolling and fixed area on display area.

+ +

Definition at line 170 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_SCROLL_START

+ +
+
+ + + + +
#define SSD1963_CMD_SET_SCROLL_START   0x37
+
+ +

Defines the vertical scrolling starting point.

+ +

Definition at line 190 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_TEAR_OFF

+ +
+
+ + + + +
#define SSD1963_CMD_SET_TEAR_OFF   0x34
+
+ +

Synchronization information is not sent from the SSD1963 to the host processor.

+ +

Definition at line 175 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_TEAR_ON

+ +
+
+ + + + +
#define SSD1963_CMD_SET_TEAR_ON   0x35
+
+ +

Synchronization information is sent from the SSD1963 to the host processor at the start of VFP.

+ +

Definition at line 180 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_TEAR_SCANLINE

+ +
+
+ + + + +
#define SSD1963_CMD_SET_TEAR_SCANLINE   0x44
+
+ +

Synchronization information is sent from the SSD1963 to the host processor when the display panel refresh reaches the provided scan line.

+ +

Definition at line 217 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SET_VERT_PERIOD

+ +
+
+ + + + +
#define SSD1963_CMD_SET_VERT_PERIOD   0xB6
+
+ +

Set the vertical blanking interval between last scan line and next LFRAME pulse.

+ +

Definition at line 254 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_SOFT_RESET

+ +
+
+ + + + +
#define SSD1963_CMD_SOFT_RESET   0x01
+
+ +

Software Reset.

+ +

Definition at line 71 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_WRITE_MEMORY_CONTINUE

+ +
+
+ + + + +
#define SSD1963_CMD_WRITE_MEMORY_CONTINUE   0x3C
+
+ +

Transfer image information from the host processor interface to the SSD1963 from the last written location.

+ +

Definition at line 207 of file ssd1963_cmd.h.

+ +
+
+ +

◆ SSD1963_CMD_WRITE_MEMORY_START

+ +
+
+ + + + +
#define SSD1963_CMD_WRITE_MEMORY_START   0x2C
+
+ +

Transfer image information from the host processor interface to the SSD1963 starting at the location provided by set_column_address and set_page_address.

+ +

Definition at line 155 of file ssd1963_cmd.h.

+ +
+
+
+
+ + + + diff --git a/html/group__ssd1963__commands.js b/html/group__ssd1963__commands.js new file mode 100644 index 0000000..c79af50 --- /dev/null +++ b/html/group__ssd1963__commands.js @@ -0,0 +1,78 @@ +var group__ssd1963__commands = +[ + [ "SSD1963_CMD_ENTER_IDLE_MODE", "group__ssd1963__commands.html#ga2c5dea1a840e735bf752cfd4161dbdbf", null ], + [ "SSD1963_CMD_ENTER_INVERT_MODE", "group__ssd1963__commands.html#gae755a0ff04d2374221a02b25461b3e48", null ], + [ "SSD1963_CMD_ENTER_NORMAL_MODE", "group__ssd1963__commands.html#gaf6c4502730577691abd838bc54a61999", null ], + [ "SSD1963_CMD_ENTER_PARTIAL_MODE", "group__ssd1963__commands.html#ga99fbffbdf19523bd314cb976b68eb6b6", null ], + [ "SSD1963_CMD_ENTER_SLEEP_MODE", "group__ssd1963__commands.html#ga57289edf862630f53d68e669085ea7a3", null ], + [ "SSD1963_CMD_EXIT_IDLE_MODE", "group__ssd1963__commands.html#ga6282d916f4fc2f3e4e1bc8907b931aba", null ], + [ "SSD1963_CMD_EXIT_INVERT_MODE", "group__ssd1963__commands.html#ga5a10c822d01def2612fe279a48cd3225", null ], + [ "SSD1963_CMD_EXIT_SLEEP_MODE", "group__ssd1963__commands.html#gaebaeaa16b7ce448deac22b383aea3465", null ], + [ "SSD1963_CMD_GET_ADDRESS_MODE", "group__ssd1963__commands.html#ga55f2a8be9c7f29ea5767daebde88e0e1", null ], + [ "SSD1963_CMD_GET_DBC_CONF", "group__ssd1963__commands.html#gaf16b32838833eb19f100be9bf84757fa", null ], + [ "SSD1963_CMD_GET_DBC_TH", "group__ssd1963__commands.html#gab7ba37ba8593da2ce5c91cf0b845358a", null ], + [ "SSD1963_CMD_GET_DISPLAY_MODE", "group__ssd1963__commands.html#ga47c1a96472e2a02872475fe71beefefc", null ], + [ "SSD1963_CMD_GET_GPIO0_ROP", "group__ssd1963__commands.html#gaec878e56db9f968cce0365d2d9c2e33e", null ], + [ "SSD1963_CMD_GET_GPIO1_ROP", "group__ssd1963__commands.html#ga17d2f3d0dd63cdb4f7efa570190696ea", null ], + [ "SSD1963_CMD_GET_GPIO2_ROP", "group__ssd1963__commands.html#ga78599bdb89609e17337e977a8bb65253", null ], + [ "SSD1963_CMD_GET_GPIO3_ROP", "group__ssd1963__commands.html#ga6668c18c3d023db129da7e5287cfb780", null ], + [ "SSD1963_CMD_GET_GPIO_CONF", "group__ssd1963__commands.html#gaa88506d0e3a8c0405dadcc5759650198", null ], + [ "SSD1963_CMD_GET_GPIO_STATUS", "group__ssd1963__commands.html#ga6e06f86b0e4fc11bcce1966bf959d9bd", null ], + [ "SSD1963_CMD_GET_HORI_PERIOD", "group__ssd1963__commands.html#ga7f4ef2eed395b52590f72f9d4dc6b03d", null ], + [ "SSD1963_CMD_GET_LCD_GEN0", "group__ssd1963__commands.html#gaf57d35bb34a2f9e93bf394ad375a57f4", null ], + [ "SSD1963_CMD_GET_LCD_GEN1", "group__ssd1963__commands.html#ga86c5362994c14c377065c2b6210291fd", null ], + [ "SSD1963_CMD_GET_LCD_GEN2", "group__ssd1963__commands.html#gaa96e1b3b954d5ac9879cbd964feb7a4f", null ], + [ "SSD1963_CMD_GET_LCD_GEN3", "group__ssd1963__commands.html#ga0ab64e469bb8413a5e1875a27a2932a7", null ], + [ "SSD1963_CMD_GET_LCD_MODE", "group__ssd1963__commands.html#gac18865e8dc952594c67102f1ef2afe53", null ], + [ "SSD1963_CMD_GET_LSHIFT_FREQ", "group__ssd1963__commands.html#gadcfa2a415d5348aa35b4b19dfb9f6eb6", null ], + [ "SSD1963_CMD_GET_PIXEL_DATA_INTERFACE", "group__ssd1963__commands.html#ga7726be95b20a924b19a0e6955469e1e7", null ], + [ "SSD1963_CMD_GET_PLL_MN", "group__ssd1963__commands.html#ga452389c04cfc2b314b88c9edddebcb62", null ], + [ "SSD1963_CMD_GET_PLL_STATUS", "group__ssd1963__commands.html#gaf58c392bf4c166587b6948480f173a2c", null ], + [ "SSD1963_CMD_GET_POST_PROC", "group__ssd1963__commands.html#ga64ada6fc3b175c02e1319d5119164262", null ], + [ "SSD1963_CMD_GET_POWER_MODE", "group__ssd1963__commands.html#gac1c7af6f3dce9128cdaab9990fc32f09", null ], + [ "SSD1963_CMD_GET_PWM_CONF", "group__ssd1963__commands.html#gac0e4ee0f4b8e5f5f05d37e5aed2523c7", null ], + [ "SSD1963_CMD_GET_SCANLINE", "group__ssd1963__commands.html#ga2f50f4608a9c41f105e0a4d42af40ed5", null ], + [ "SSD1963_CMD_GET_TEAR_EFFECT_status", "group__ssd1963__commands.html#gaa4913969868da689f455fcf456206a5e", null ], + [ "SSD1963_CMD_GET_VERT_PERIOD", "group__ssd1963__commands.html#ga6c2790c8fa45e2e094c89f45c168d26f", null ], + [ "SSD1963_CMD_NOP", "group__ssd1963__commands.html#ga28b4566c03c70de69ee814631f672842", null ], + [ "SSD1963_CMD_READ_DDB", "group__ssd1963__commands.html#gaaedc464117fa45bd9283173ca1d2a897", null ], + [ "SSD1963_CMD_READ_MEMORY_CONTINUE", "group__ssd1963__commands.html#gad34eb3ea10479cc6ab5af8a5a6bb0dfd", null ], + [ "SSD1963_CMD_READ_MEMORY_START", "group__ssd1963__commands.html#ga09abb8af35157af765ab4a972f865a6f", null ], + [ "SSD1963_CMD_SET_ADDRESS_MODE", "group__ssd1963__commands.html#ga4f4ea542149405e8341080302b240b5e", null ], + [ "SSD1963_CMD_SET_COLUMN_ADDRESS", "group__ssd1963__commands.html#ga5a1cae235fccf498a81b2b3e945c8989", null ], + [ "SSD1963_CMD_SET_DBC_CONF", "group__ssd1963__commands.html#gae0cc4e550c8f289531569b18900ab479", null ], + [ "SSD1963_CMD_SET_DBC_TH", "group__ssd1963__commands.html#gab880422087fa233dac130499eddd745b", null ], + [ "SSD1963_CMD_SET_DEEP_SLEEP", "group__ssd1963__commands.html#gae1c08119d3b54b1fa2767fbedc64bbba", null ], + [ "SSD1963_CMD_SET_DISPLAY_OFF", "group__ssd1963__commands.html#gaa5b5f8e3e870b003f0a426bad9f4083b", null ], + [ "SSD1963_CMD_SET_DISPLAY_ON", "group__ssd1963__commands.html#ga4463a1fb31c546d71caa80020829e854", null ], + [ "SSD1963_CMD_SET_GAMMA_CURVE", "group__ssd1963__commands.html#gab63ccdc0c4a636955a482ece8c1c338f", null ], + [ "SSD1963_CMD_SET_GPIO0_ROP", "group__ssd1963__commands.html#gafe20d4df7574c312a770a84289f1ea31", null ], + [ "SSD1963_CMD_SET_GPIO1_ROP", "group__ssd1963__commands.html#ga24842b33d29ee77390ec364acff5e033", null ], + [ "SSD1963_CMD_SET_GPIO2_ROP", "group__ssd1963__commands.html#ga1f493f024a6892586370401b74f2152f", null ], + [ "SSD1963_CMD_SET_GPIO3_ROP", "group__ssd1963__commands.html#gaedf50ae86e165d62f4ff9a2c7ccc6faf", null ], + [ "SSD1963_CMD_SET_GPIO_CONF", "group__ssd1963__commands.html#gad8064a7e326d276d5ad49c68ead48afa", null ], + [ "SSD1963_CMD_SET_GPIO_VALUE", "group__ssd1963__commands.html#ga9697b3d019345aabf27adf5501609163", null ], + [ "SSD1963_CMD_SET_HORI_PERIOD", "group__ssd1963__commands.html#ga6367813627ea227531d633a5f0d1cf8f", null ], + [ "SSD1963_CMD_SET_LCD_GEN0", "group__ssd1963__commands.html#ga43f14eb9831663fed17738178bffaff9", null ], + [ "SSD1963_CMD_SET_LCD_GEN1", "group__ssd1963__commands.html#ga5754f5b87f11b802041cd4a7cf7f8922", null ], + [ "SSD1963_CMD_SET_LCD_GEN2", "group__ssd1963__commands.html#ga9669e3da7b2ca47f751e4fc0c2aace06", null ], + [ "SSD1963_CMD_SET_LCD_GEN3", "group__ssd1963__commands.html#gaa8777a327daab166449381aa3c40b1ac", null ], + [ "SSD1963_CMD_SET_LCD_MODE", "group__ssd1963__commands.html#ga0d62b888ba9ada391b383e86bc49a5a2", null ], + [ "SSD1963_CMD_SET_LSHIFT_FREQ", "group__ssd1963__commands.html#ga58e1f6409589e8268258fd7642e3962a", null ], + [ "SSD1963_CMD_SET_PAGE_ADDRESS", "group__ssd1963__commands.html#gaad5ab15a32df657361120395eaabdd3e", null ], + [ "SSD1963_CMD_SET_PARTIAL_AREA", "group__ssd1963__commands.html#ga7d3fcb40193974cf24104a4d6f8f0ae5", null ], + [ "SSD1963_CMD_SET_PIXEL_DATA_INTERFACE", "group__ssd1963__commands.html#gab88b4b7bc3e2b686f8b6f53a29a55adc", null ], + [ "SSD1963_CMD_SET_PLL", "group__ssd1963__commands.html#ga023ad024f7deb2cf1f307ef80b14e28f", null ], + [ "SSD1963_CMD_SET_PLL_MN", "group__ssd1963__commands.html#ga70769caa2f1f173abfd8cc9dd1a9f002", null ], + [ "SSD1963_CMD_SET_POST_PROC", "group__ssd1963__commands.html#ga6a60f92bf8f4023465bf6c2227c0e0a5", null ], + [ "SSD1963_CMD_SET_PWM_CONF", "group__ssd1963__commands.html#gaba8e814d8c960e0aca41ca5b25e13468", null ], + [ "SSD1963_CMD_SET_SCROLL_AREA", "group__ssd1963__commands.html#gabd078989b795403b6dc307a878dfc927", null ], + [ "SSD1963_CMD_SET_SCROLL_START", "group__ssd1963__commands.html#ga8ee0f5e72f381433746c9da694b3dd24", null ], + [ "SSD1963_CMD_SET_TEAR_OFF", "group__ssd1963__commands.html#ga47ea759448957805d185e7e1889545e8", null ], + [ "SSD1963_CMD_SET_TEAR_ON", "group__ssd1963__commands.html#ga6c683379f8bcad6af9360954dccfc1a2", null ], + [ "SSD1963_CMD_SET_TEAR_SCANLINE", "group__ssd1963__commands.html#ga0fe83402a486a6588ac4dfa5675452ea", null ], + [ "SSD1963_CMD_SET_VERT_PERIOD", "group__ssd1963__commands.html#gac80b8a67c25324b986682404759215a3", null ], + [ "SSD1963_CMD_SOFT_RESET", "group__ssd1963__commands.html#gad70cf894e51f94804bb8cb3297be2f43", null ], + [ "SSD1963_CMD_WRITE_MEMORY_CONTINUE", "group__ssd1963__commands.html#ga2d20a8ba4032ec59f6f9b9bf2a06fe10", null ], + [ "SSD1963_CMD_WRITE_MEMORY_START", "group__ssd1963__commands.html#ga163e3b56e45c90da14417449d4aaea7b", null ] +]; \ No newline at end of file diff --git a/html/index.html b/html/index.html new file mode 100644 index 0000000..5a3f396 --- /dev/null +++ b/html/index.html @@ -0,0 +1,104 @@ + + + + + + + +Solar panel: Main Page + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Solar panel Documentation
+
+
+
+
+ + + + diff --git a/html/interrupt__manager_8c.html b/html/interrupt__manager_8c.html new file mode 100644 index 0000000..3a89af1 --- /dev/null +++ b/html/interrupt__manager_8c.html @@ -0,0 +1,164 @@ + + + + + + + +Solar panel: mcc_generated_files/interrupt_manager.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
interrupt_manager.c File Reference
+
+
+
#include "interrupt_manager.h"
+#include "mcc.h"
+
+

Go to the source code of this file.

+ + + + + + +

+Functions

void INTERRUPT_Initialize (void)
 
void __interrupt () INTERRUPT_InterruptManager(void)
 
+

Function Documentation

+ +

◆ __interrupt()

+ +
+
+ + + + + + + +
void __interrupt ()
+
+ +

Definition at line 58 of file interrupt_manager.c.

+ +
+
+ +

◆ INTERRUPT_Initialize()

+ +
+
+ + + + + + + + +
void INTERRUPT_Initialize (void )
+
+

Generated Interrupt Manager Source File

+

@Company: Microchip Technology Inc.

+

@File Name: interrupt_manager.c

+

@Summary: This is the Interrupt Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description: This header file provides implementations for global interrupt handling. For individual peripheral handlers please see the peripheral driver for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.04 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later MPLAB : MPLAB X 6.00

+ +

Definition at line 52 of file interrupt_manager.c.

+ +
+
+
+
+ + + + diff --git a/html/interrupt__manager_8c.js b/html/interrupt__manager_8c.js new file mode 100644 index 0000000..958cbf9 --- /dev/null +++ b/html/interrupt__manager_8c.js @@ -0,0 +1,5 @@ +var interrupt__manager_8c = +[ + [ "__interrupt", "interrupt__manager_8c.html#a703db4fffea50c48ff3c430fb1daa6b7", null ], + [ "INTERRUPT_Initialize", "interrupt__manager_8c.html#a5c526129ee879458dff6755f5768a6e3", null ] +]; \ No newline at end of file diff --git a/html/interrupt__manager_8c_source.html b/html/interrupt__manager_8c_source.html new file mode 100644 index 0000000..ad8aad9 --- /dev/null +++ b/html/interrupt__manager_8c_source.html @@ -0,0 +1,167 @@ + + + + + + + +Solar panel: mcc_generated_files/interrupt_manager.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
interrupt_manager.c
+
+
+Go to the documentation of this file.
1
+
26/*
+
27 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
28
+
29 Subject to your compliance with these terms, you may use Microchip software and any
+
30 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
31 license terms applicable to your use of third party software (including open source software) that
+
32 may accompany Microchip software.
+
33
+
34 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
35 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
36 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
37 FOR A PARTICULAR PURPOSE.
+
38
+
39 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
40 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
41 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
42 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
43 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
44 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
45 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
46 SOFTWARE.
+
47*/
+
48
+
49#include "interrupt_manager.h"
+
50#include "mcc.h"
+
51
+ +
53{
+
54 // Disable Interrupt Priority Vectors (16CXXX Compatibility Mode)
+
55 RCONbits.IPEN = 0;
+
56}
+
57
+
58void __interrupt() INTERRUPT_InterruptManager (void)
+
59{
+
60 // interrupt handler
+
61 if(INTCONbits.TMR0IE == 1 && INTCONbits.TMR0IF == 1)
+
62 {
+
63 TMR0_ISR();
+
64 }
+
65 else if(INTCONbits.PEIE == 1)
+
66 {
+
67 if(PIE1bits.RC1IE == 1 && PIR1bits.RC1IF == 1)
+
68 {
+ +
70 }
+
71 else
+
72 {
+
73 //Unhandled Interrupt
+
74 }
+
75 }
+
76 else
+
77 {
+
78 //Unhandled Interrupt
+
79 }
+
80}
+
void(* EUSART1_RxDefaultInterruptHandler)(void)
Definition: eusart1.c:73
+
void INTERRUPT_Initialize(void)
+
void __interrupt() INTERRUPT_InterruptManager(void)
+ + +
void TMR0_ISR(void)
Definition: tmr0.c:136
+
+
+ + + + diff --git a/html/interrupt__manager_8h.html b/html/interrupt__manager_8h.html new file mode 100644 index 0000000..fb667cd --- /dev/null +++ b/html/interrupt__manager_8h.html @@ -0,0 +1,239 @@ + + + + + + + +Solar panel: mcc_generated_files/interrupt_manager.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
interrupt_manager.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Macros

#define INTERRUPT_GlobalInterruptEnable()   (INTCONbits.GIE = 1)
 
#define INTERRUPT_GlobalInterruptDisable()   (INTCONbits.GIE = 0)
 
#define INTERRUPT_PeripheralInterruptEnable()   (INTCONbits.PEIE = 1)
 
#define INTERRUPT_PeripheralInterruptDisable()   (INTCONbits.PEIE = 0)
 
+ + + +

+Functions

void INTERRUPT_Initialize (void)
 
+

Macro Definition Documentation

+ +

◆ INTERRUPT_GlobalInterruptDisable

+ +
+
+ + + + + + + +
#define INTERRUPT_GlobalInterruptDisable()   (INTCONbits.GIE = 0)
+
+

@Param none @Returns none @Description This macro will disable global interrupts. @Example INTERRUPT_GlobalInterruptDisable();

+ +

Definition at line 75 of file interrupt_manager.h.

+ +
+
+ +

◆ INTERRUPT_GlobalInterruptEnable

+ +
+
+ + + + + + + +
#define INTERRUPT_GlobalInterruptEnable()   (INTCONbits.GIE = 1)
+
+

Generated Interrupt Manager Header File

+

@Company: Microchip Technology Inc.

+

@File Name: interrupt_manager.h

+

@Summary: This is the Interrupt Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description: This header file provides implementations for global interrupt handling. For individual peripheral handlers please see the peripheral driver for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.03 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later MPLAB : MPLAB X 6.00 @Param none @Returns none @Description This macro will enable global interrupts. @Example INTERRUPT_GlobalInterruptEnable();

+ +

Definition at line 63 of file interrupt_manager.h.

+ +
+
+ +

◆ INTERRUPT_PeripheralInterruptDisable

+ +
+
+ + + + + + + +
#define INTERRUPT_PeripheralInterruptDisable()   (INTCONbits.PEIE = 0)
+
+

@Param none @Returns none @Description This macro will disable peripheral interrupts. @Example INTERRUPT_PeripheralInterruptDisable();

+ +

Definition at line 98 of file interrupt_manager.h.

+ +
+
+ +

◆ INTERRUPT_PeripheralInterruptEnable

+ +
+
+ + + + + + + +
#define INTERRUPT_PeripheralInterruptEnable()   (INTCONbits.PEIE = 1)
+
+

@Param none @Returns none @Description This macro will enable peripheral interrupts. @Example INTERRUPT_PeripheralInterruptEnable();

+ +

Definition at line 86 of file interrupt_manager.h.

+ +
+
+

Function Documentation

+ +

◆ INTERRUPT_Initialize()

+ +
+
+ + + + + + + + +
void INTERRUPT_Initialize (void )
+
+

@Param none @Returns none @Description Initializes PIC18 peripheral interrupt priorities; enables/disables priority vectors @Example INTERRUPT_Initialize();

+

Generated Interrupt Manager Source File

+

@Company: Microchip Technology Inc.

+

@File Name: interrupt_manager.c

+

@Summary: This is the Interrupt Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description: This header file provides implementations for global interrupt handling. For individual peripheral handlers please see the peripheral driver for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.04 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later MPLAB : MPLAB X 6.00

+ +

Definition at line 52 of file interrupt_manager.c.

+ +
+
+
+
+ + + + diff --git a/html/interrupt__manager_8h.js b/html/interrupt__manager_8h.js new file mode 100644 index 0000000..738040a --- /dev/null +++ b/html/interrupt__manager_8h.js @@ -0,0 +1,8 @@ +var interrupt__manager_8h = +[ + [ "INTERRUPT_GlobalInterruptDisable", "interrupt__manager_8h.html#a5dfc9352c85bc78d317b8327ae7e6450", null ], + [ "INTERRUPT_GlobalInterruptEnable", "interrupt__manager_8h.html#ab801e88ce18e2d200429ffbaa67dbf2b", null ], + [ "INTERRUPT_PeripheralInterruptDisable", "interrupt__manager_8h.html#a99647ba59dd01ba1dc3a6f0ca263ab8d", null ], + [ "INTERRUPT_PeripheralInterruptEnable", "interrupt__manager_8h.html#a35865b73bdecc073d43ad4e0c62187ea", null ], + [ "INTERRUPT_Initialize", "interrupt__manager_8h.html#a5c526129ee879458dff6755f5768a6e3", null ] +]; \ No newline at end of file diff --git a/html/interrupt__manager_8h_source.html b/html/interrupt__manager_8h_source.html new file mode 100644 index 0000000..371cd9d --- /dev/null +++ b/html/interrupt__manager_8h_source.html @@ -0,0 +1,144 @@ + + + + + + + +Solar panel: mcc_generated_files/interrupt_manager.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
interrupt_manager.h
+
+
+Go to the documentation of this file.
1
+
26/*
+
27 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
28
+
29 Subject to your compliance with these terms, you may use Microchip software and any
+
30 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
31 license terms applicable to your use of third party software (including open source software) that
+
32 may accompany Microchip software.
+
33
+
34 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
35 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
36 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
37 FOR A PARTICULAR PURPOSE.
+
38
+
39 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
40 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
41 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
42 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
43 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
44 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
45 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
46 SOFTWARE.
+
47*/
+
48
+
49#ifndef INTERRUPT_MANAGER_H
+
50#define INTERRUPT_MANAGER_H
+
51
+
52
+
63#define INTERRUPT_GlobalInterruptEnable() (INTCONbits.GIE = 1)
+
64
+
75#define INTERRUPT_GlobalInterruptDisable() (INTCONbits.GIE = 0)
+
86#define INTERRUPT_PeripheralInterruptEnable() (INTCONbits.PEIE = 1)
+
87
+
98#define INTERRUPT_PeripheralInterruptDisable() (INTCONbits.PEIE = 0)
+
99
+
110void INTERRUPT_Initialize (void);
+
111
+
112#endif // INTERRUPT_MANAGER_H
+
void INTERRUPT_Initialize(void)
+
+
+ + + + diff --git a/html/jquery.js b/html/jquery.js new file mode 100644 index 0000000..1dffb65 --- /dev/null +++ b/html/jquery.js @@ -0,0 +1,34 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/html/lcd_8c.html b/html/lcd_8c.html new file mode 100644 index 0000000..e4e717b --- /dev/null +++ b/html/lcd_8c.html @@ -0,0 +1,239 @@ + + + + + + + +Solar panel: lcd/lcd.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
lcd.c File Reference
+
+
+
#include <xc.h>
+#include <string.h>
+#include "lcd.h"
+#include "ssd1963_cmd.h"
+
+

Go to the source code of this file.

+ + + + +

+Macros

#define _XTAL_FREQ   25000000L
 
+ + + + + + + + + +

+Functions

int8_t Lcd_Init (void)
 
void LCD_2x16_WriteCmd (uint8_t command)
 
void LCD_2x16_WriteData (uint8_t command)
 
void LCD_2x16_WriteMsg (unsigned char *msg, uint8_t line)
 
+

Macro Definition Documentation

+ +

◆ _XTAL_FREQ

+ +
+
+ + + + +
#define _XTAL_FREQ   25000000L
+
+ +

Definition at line 8 of file lcd.c.

+ +
+
+

Function Documentation

+ +

◆ LCD_2x16_WriteCmd()

+ +
+
+ + + + + + + + +
void LCD_2x16_WriteCmd (uint8_t command)
+
+ +

Definition at line 43 of file lcd.c.

+ +
+
+ +

◆ LCD_2x16_WriteData()

+ +
+
+ + + + + + + + +
void LCD_2x16_WriteData (uint8_t command)
+
+ +

Definition at line 58 of file lcd.c.

+ +
+
+ +

◆ LCD_2x16_WriteMsg()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void LCD_2x16_WriteMsg (unsigned char * msg,
uint8_t line 
)
+
+ +

Definition at line 74 of file lcd.c.

+ +
+
+ +

◆ Lcd_Init()

+ +
+
+ + + + + + + + +
int8_t Lcd_Init (void )
+
+ +

Definition at line 17 of file lcd.c.

+ +
+
+
+
+ + + + diff --git a/html/lcd_8c.js b/html/lcd_8c.js new file mode 100644 index 0000000..142bf09 --- /dev/null +++ b/html/lcd_8c.js @@ -0,0 +1,8 @@ +var lcd_8c = +[ + [ "_XTAL_FREQ", "lcd_8c.html#a024148e99a7143db044a48216664d03d", null ], + [ "LCD_2x16_WriteCmd", "lcd_8c.html#a3305f9be08938e31fe3ddb754ffc1c58", null ], + [ "LCD_2x16_WriteData", "lcd_8c.html#a045b8ad35250a48c972514c1b8d9ad8a", null ], + [ "LCD_2x16_WriteMsg", "lcd_8c.html#ae82c1ee673779250514a3227235976e4", null ], + [ "Lcd_Init", "lcd_8c.html#ae3e90a42efbeab0e5b0c6478e01e80ba", null ] +]; \ No newline at end of file diff --git a/html/lcd_8c_source.html b/html/lcd_8c_source.html new file mode 100644 index 0000000..014e998 --- /dev/null +++ b/html/lcd_8c_source.html @@ -0,0 +1,199 @@ + + + + + + + +Solar panel: lcd/lcd.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
lcd.c
+
+
+Go to the documentation of this file.
1/*
+
2 * File: lcd.c
+
3 * Author: pascal.sartoret
+
4 *
+
5 * Created on 16. décembre 2020, 14:04
+
6 */
+
7
+
8#define _XTAL_FREQ 25000000L
+
9
+
10#include <xc.h>
+
11#include <string.h>
+
12#include "lcd.h"
+
13#include "ssd1963_cmd.h"
+
14
+
15
+
16
+
17int8_t Lcd_Init(void)
+
18{
+
19 //--------------------------------------------------------------------------
+
20 // define GPIO for LCD
+
21 DIR_LCD_RS = 0; // RS is an output
+
22 LCD_RS = 0; // command mode
+
23 DIR_LCD_CS = 0; // chip select is an output
+
24 LCD_CS = 0; // do not select the LCD
+
25 LCD_DATA_L_DIR = LCD_DATA_L_DIR & 0x0F; // data port is 4 bits output
+
26
+
27 __delay_ms(200); // power on delay
+ +
29
+ +
31// LCD_2x16_WriteCmd(0x2B);
+
32// LCD_2x16_WriteCmd(0x2B);
+
33 LCD_2x16_WriteCmd(0x01); // clear display
+ +
35// LCD_2x16_WriteCmd(0x14);
+
36// __delay_ms(2);
+ +
38// __delay_ms(100);
+
39 return 0;
+
40}
+
41
+
42
+
43void LCD_2x16_WriteCmd(uint8_t command)
+
44{
+
45 LCD_RS = 0; // command mode
+
46 LCD_DATA_L = (command & 0xF0) | (LCD_DATA_L & 0x0F); // bits to set
+
47 LCD_CS = 1; // chip select
+
48 __delay_us(10);
+
49 LCD_CS = 0; // chip deselect
+
50 __delay_us(1);
+
51 command = command << 4;
+
52 LCD_DATA_L = (command & 0xF0) | (LCD_DATA_L & 0x0F); // bits to set
+
53 LCD_CS = 1; // chip select
+
54 __delay_us(10);
+
55 LCD_CS = 0; // chip deselect
+
56 __delay_ms(3);
+
57}
+
58void LCD_2x16_WriteData(uint8_t command)
+
59{
+
60 LCD_RS = 1; // command mode
+
61 LCD_DATA_L = (command & 0xF0) | (LCD_DATA_L & 0x0F); // bits to set
+
62 LCD_CS = 1; // chip select
+
63 __delay_us(1);
+
64 LCD_CS = 0; // chip deselect
+
65 __delay_us(1);
+
66 command = command << 4;
+
67 LCD_DATA_L = (command & 0xF0) | (LCD_DATA_L & 0x0F); // bits to set
+
68 LCD_CS = 1; // chip select
+
69 __delay_us(1);
+
70 LCD_CS = 0; // chip deselect
+
71 __delay_us(100);
+
72}
+
73
+
74void LCD_2x16_WriteMsg(unsigned char * msg, uint8_t line)
+
75{
+
76 LCD_2x16_WriteCmd(0x80 | (line << 6));
+
77 do
+
78 {
+ +
80 msg++;
+
81 }while(*msg != 0);
+
82}
+
void LCD_2x16_WriteData(uint8_t command)
Definition: lcd.c:58
+
void LCD_2x16_WriteCmd(uint8_t command)
Definition: lcd.c:43
+
int8_t Lcd_Init(void)
Definition: lcd.c:17
+
void LCD_2x16_WriteMsg(unsigned char *msg, uint8_t line)
Definition: lcd.c:74
+ +
#define LCD_DATA_L_DIR
Definition: lcd.h:42
+
#define DIR_LCD_RS
Definition: lcd.h:39
+
#define DIR_LCD_CS
Definition: lcd.h:41
+
#define LCD_RS
Definition: lcd.h:38
+
#define LCD_CS
Definition: lcd.h:40
+
#define LCD_DATA_L
Definition: lcd.h:43
+
SSD1963 Display Controller Commands.
+
+
+ + + + diff --git a/html/lcd_8h.html b/html/lcd_8h.html new file mode 100644 index 0000000..36020d4 --- /dev/null +++ b/html/lcd_8h.html @@ -0,0 +1,326 @@ + + + + + + + +Solar panel: lcd/lcd.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
lcd.h File Reference
+
+
+
#include <xc.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Macros

#define LCD_RS   LATDbits.LATD3
 
#define DIR_LCD_RS   TRISDbits.TRISD3
 
#define LCD_CS   LATDbits.LATD2
 
#define DIR_LCD_CS   TRISDbits.TRISD2
 
#define LCD_DATA_L_DIR   TRISJ
 
#define LCD_DATA_L   LATJ
 
+ + + + + + + + + +

+Functions

int8_t Lcd_Init (void)
 
void LCD_2x16_WriteCmd (uint8_t command)
 
void LCD_2x16_WriteData (uint8_t command)
 
void LCD_2x16_WriteMsg (unsigned char *msg, uint8_t line)
 
+

Macro Definition Documentation

+ +

◆ DIR_LCD_CS

+ +
+
+ + + + +
#define DIR_LCD_CS   TRISDbits.TRISD2
+
+ +

Definition at line 41 of file lcd.h.

+ +
+
+ +

◆ DIR_LCD_RS

+ +
+
+ + + + +
#define DIR_LCD_RS   TRISDbits.TRISD3
+
+ +

Definition at line 39 of file lcd.h.

+ +
+
+ +

◆ LCD_CS

+ +
+
+ + + + +
#define LCD_CS   LATDbits.LATD2
+
+ +

Definition at line 40 of file lcd.h.

+ +
+
+ +

◆ LCD_DATA_L

+ +
+
+ + + + +
#define LCD_DATA_L   LATJ
+
+ +

Definition at line 43 of file lcd.h.

+ +
+
+ +

◆ LCD_DATA_L_DIR

+ +
+
+ + + + +
#define LCD_DATA_L_DIR   TRISJ
+
+ +

Definition at line 42 of file lcd.h.

+ +
+
+ +

◆ LCD_RS

+ +
+
+ + + + +
#define LCD_RS   LATDbits.LATD3
+
+ +

Definition at line 38 of file lcd.h.

+ +
+
+

Function Documentation

+ +

◆ LCD_2x16_WriteCmd()

+ +
+
+ + + + + + + + +
void LCD_2x16_WriteCmd (uint8_t command)
+
+ +

Definition at line 43 of file lcd.c.

+ +
+
+ +

◆ LCD_2x16_WriteData()

+ +
+
+ + + + + + + + +
void LCD_2x16_WriteData (uint8_t command)
+
+ +

Definition at line 58 of file lcd.c.

+ +
+
+ +

◆ LCD_2x16_WriteMsg()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void LCD_2x16_WriteMsg (unsigned char * msg,
uint8_t line 
)
+
+ +

Definition at line 74 of file lcd.c.

+ +
+
+ +

◆ Lcd_Init()

+ +
+
+ + + + + + + + +
int8_t Lcd_Init (void )
+
+ +

Definition at line 17 of file lcd.c.

+ +
+
+
+
+ + + + diff --git a/html/lcd_8h.js b/html/lcd_8h.js new file mode 100644 index 0000000..de4a02a --- /dev/null +++ b/html/lcd_8h.js @@ -0,0 +1,13 @@ +var lcd_8h = +[ + [ "DIR_LCD_CS", "lcd_8h.html#a314008d0ad63ceef2e7944aaa5432d42", null ], + [ "DIR_LCD_RS", "lcd_8h.html#a079bc2fad0a364982e2e3ec0205e065e", null ], + [ "LCD_CS", "lcd_8h.html#a71d24cab0e16b054de228f29139f1b79", null ], + [ "LCD_DATA_L", "lcd_8h.html#ac44fcb5a86292cb589248b2ffa2fc960", null ], + [ "LCD_DATA_L_DIR", "lcd_8h.html#a041f6b842c82805221a92a6a626c1c52", null ], + [ "LCD_RS", "lcd_8h.html#a4781e073871c6f27f89b9463ad3a4ed1", null ], + [ "LCD_2x16_WriteCmd", "lcd_8h.html#a3305f9be08938e31fe3ddb754ffc1c58", null ], + [ "LCD_2x16_WriteData", "lcd_8h.html#a045b8ad35250a48c972514c1b8d9ad8a", null ], + [ "LCD_2x16_WriteMsg", "lcd_8h.html#ae82c1ee673779250514a3227235976e4", null ], + [ "Lcd_Init", "lcd_8h.html#ae3e90a42efbeab0e5b0c6478e01e80ba", null ] +]; \ No newline at end of file diff --git a/html/lcd_8h_source.html b/html/lcd_8h_source.html new file mode 100644 index 0000000..21f0033 --- /dev/null +++ b/html/lcd_8h_source.html @@ -0,0 +1,168 @@ + + + + + + + +Solar panel: lcd/lcd.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
lcd.h
+
+
+Go to the documentation of this file.
1/* Microchip Technology Inc. and its subsidiaries. You may use this software
+
2 * and any derivatives exclusively with Microchip products.
+
3 *
+
4 * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
5 * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED
+
6 * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A
+
7 * PARTICULAR PURPOSE, OR ITS INTERACTION WITH MICROCHIP PRODUCTS, COMBINATION
+
8 * WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION.
+
9 *
+
10 * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
11 * INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
12 * WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS
+
13 * BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE
+
14 * FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS
+
15 * IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF
+
16 * ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
+
17 *
+
18 * MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE OF THESE
+
19 * TERMS.
+
20 */
+
21
+
22/*
+
23 * File:
+
24 * Author:
+
25 * Comments:
+
26 * Revision history:
+
27 */
+
28
+
29// This is a guard condition so that contents of this file are not included
+
30// more than once.
+
31#ifndef LCD_H
+
32#define LCD_H
+
33
+
34#include <xc.h> // include processor files - each processor file is guarded.
+
35
+
36
+
37// 2x16 character definitions
+
38#define LCD_RS LATDbits.LATD3
+
39#define DIR_LCD_RS TRISDbits.TRISD3
+
40#define LCD_CS LATDbits.LATD2
+
41#define DIR_LCD_CS TRISDbits.TRISD2
+
42#define LCD_DATA_L_DIR TRISJ
+
43#define LCD_DATA_L LATJ
+
44
+
45#ifdef __cplusplus
+
46extern "C" {
+
47#endif /* __cplusplus */
+
48
+
49
+
50int8_t Lcd_Init(void);
+
51void LCD_2x16_WriteCmd(uint8_t command);
+
52void LCD_2x16_WriteData(uint8_t command);
+
53void LCD_2x16_WriteMsg(unsigned char * msg, uint8_t line);
+
54#ifdef __cplusplus
+
55}
+
56#endif /* __cplusplus */
+
57
+
58#endif /* LCD_H */
+
59
+
void LCD_2x16_WriteData(uint8_t command)
Definition: lcd.c:58
+
void LCD_2x16_WriteCmd(uint8_t command)
Definition: lcd.c:43
+
int8_t Lcd_Init(void)
Definition: lcd.c:17
+
void LCD_2x16_WriteMsg(unsigned char *msg, uint8_t line)
Definition: lcd.c:74
+
+
+ + + + diff --git a/html/main_8c.html b/html/main_8c.html new file mode 100644 index 0000000..d717cd0 --- /dev/null +++ b/html/main_8c.html @@ -0,0 +1,193 @@ + + + + + + + +Solar panel: main.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
main.c File Reference
+
+
+ +

Main is in two part. First for setup everything Second for loop on measure and set duty cycle for PWM. +More...

+
#include "mcc_generated_files/mcc.h"
+#include "lcd/lcd.h"
+#include "measure.h"
+#include "modbus.h"
+
+

Go to the source code of this file.

+ + + + + +

+Macros

#define MAX_COL   16
 columns for lcd screen (and 2 rows)
 
+ + + +

+Functions

void main (void)
 
+

Detailed Description

+

Main is in two part. First for setup everything Second for loop on measure and set duty cycle for PWM.

+
Authors
Simon Donnet-Monay & Remi Heredero
+
Date
14 march 2023
+ +

Definition in file main.c.

+

Macro Definition Documentation

+ +

◆ MAX_COL

+ +
+
+ + + + +
#define MAX_COL   16
+
+ +

columns for lcd screen (and 2 rows)

+ +

Definition at line 16 of file main.c.

+ +
+
+

Function Documentation

+ +

◆ main()

+ +
+
+ + + + + + + + +
void main (void )
+
+

SETUP FUNCTIONS:

+

Initialize the system with all mcc default configs

+

Initialize lcd screen

+

Initialize adc for measures

+

Initialize all specific modbus function

+

Enable the Global Interrupts

+

Enable the Peripheral Interrupts

+

Initialize offset current.

    +
  1. disable load
  2. +
  3. Measure current without load
  4. +
+

The goal it's to remove the offset due to the electronics parts

+

create a char array for display on lcd (with space for '\0')

+

LOOP MAIN PROGRAM:

+

Get the measure and save it and the appropriate register

+

Print on the first row of the lcd the Voltage

+

Print on the second row of the lcd the current

+

Write the duty cycle for pwm from the appropriate register

+ +

Definition at line 18 of file main.c.

+ +
+
+
+
+ + + + diff --git a/html/main_8c.js b/html/main_8c.js new file mode 100644 index 0000000..99d8e56 --- /dev/null +++ b/html/main_8c.js @@ -0,0 +1,5 @@ +var main_8c = +[ + [ "MAX_COL", "main_8c.html#a97e80440b5a5ec2ffc172dead9f8d2ec", null ], + [ "main", "main_8c.html#a6288eba0f8e8ad3ab1544ad731eb7667", null ] +]; \ No newline at end of file diff --git a/html/main_8c_source.html b/html/main_8c_source.html new file mode 100644 index 0000000..42415ac --- /dev/null +++ b/html/main_8c_source.html @@ -0,0 +1,162 @@ + + + + + + + +Solar panel: main.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
main.c
+
+
+Go to the documentation of this file.
1
+ +
12#include "lcd/lcd.h"
+
13#include "measure.h"
+
14#include "modbus.h"
+
15
+
16#define MAX_COL 16
+
17
+
18void main(void) {
+
19
+ +
26
+
27 Lcd_Init();
+
28 adc_init();
+
29 modbus_init(0x80);
+
30
+ +
33
+ +
36
+ +
45 const uint16_t offsetCurrent = measure_current(offsetCurrent);
+
46
+
48 char msg[MAX_COL+1];
+
49
+
54 while (1) {
+
55
+ +
58 input_registers[1] = measure_current(offsetCurrent);
+
59
+
61 sprintf(msg, "U = %04d [mV] ", input_registers[0]);
+
62 LCD_2x16_WriteMsg(msg,0);
+
63
+
65 sprintf(msg, "I = %04d [uA] ", input_registers[1]);
+
66 LCD_2x16_WriteMsg(msg,1);
+
67
+ +
70 }
+
71}
+
void EPWM1_LoadDutyValue(uint16_t dutyValue)
Definition: epwm1.c:85
+
#define INTERRUPT_PeripheralInterruptEnable()
+
#define INTERRUPT_GlobalInterruptEnable()
+
int8_t Lcd_Init(void)
Definition: lcd.c:17
+
void LCD_2x16_WriteMsg(unsigned char *msg, uint8_t line)
Definition: lcd.c:74
+ +
void main(void)
Definition: main.c:18
+
#define MAX_COL
columns for lcd screen (and 2 rows)
Definition: main.c:16
+
void SYSTEM_Initialize(void)
Definition: mcc.c:50
+ +
uint16_t measure_voltage()
Definition: measure.c:37
+
void adc_init(void)
Definition: measure.c:16
+
uint16_t measure_current(uint16_t offset)
Definition: measure.c:49
+
Measuring current and voltage from the solar panel.
+
uint16_t holding_registers[2]
Definition: modbus.c:14
+
void modbus_init(uint8_t address)
Definition: modbus.c:108
+
uint16_t input_registers[2]
Definition: modbus.c:13
+
Modbus serial library.
+
+
+ + + + diff --git a/html/mcc_8c.html b/html/mcc_8c.html new file mode 100644 index 0000000..edc008a --- /dev/null +++ b/html/mcc_8c.html @@ -0,0 +1,165 @@ + + + + + + + +Solar panel: mcc_generated_files/mcc.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
mcc.c File Reference
+
+
+
#include "mcc.h"
+
+

Go to the source code of this file.

+ + + + + + +

+Functions

void SYSTEM_Initialize (void)
 
void OSCILLATOR_Initialize (void)
 
+

Function Documentation

+ +

◆ OSCILLATOR_Initialize()

+ +
+
+ + + + + + + + +
void OSCILLATOR_Initialize (void )
+
+

@Param none @Returns none @Description Initializes the oscillator to the default states configured in the MCC GUI @Example OSCILLATOR_Initialize(void);

+ +

Definition at line 63 of file mcc.c.

+ +
+
+ +

◆ SYSTEM_Initialize()

+ +
+
+ + + + + + + + +
void SYSTEM_Initialize (void )
+
+

@Generated PIC10 / PIC12 / PIC16 / PIC18 MCUs Source File

+

@Company: Microchip Technology Inc.

+

@File Name: mcc.c

+

@Summary: This is the mcc.c file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description: This header file provides implementations for driver APIs for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.00 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later MPLAB : MPLAB X 6.00

+ +

Definition at line 50 of file mcc.c.

+ +
+
+
+
+ + + + diff --git a/html/mcc_8c.js b/html/mcc_8c.js new file mode 100644 index 0000000..89da1e7 --- /dev/null +++ b/html/mcc_8c.js @@ -0,0 +1,5 @@ +var mcc_8c = +[ + [ "OSCILLATOR_Initialize", "mcc_8c.html#a4777dd92514a7e4ef803f9e869006f5d", null ], + [ "SYSTEM_Initialize", "mcc_8c.html#a5e8391114a0cf91ac20002be25e3d352", null ] +]; \ No newline at end of file diff --git a/html/mcc_8c_source.html b/html/mcc_8c_source.html new file mode 100644 index 0000000..788cd9b --- /dev/null +++ b/html/mcc_8c_source.html @@ -0,0 +1,164 @@ + + + + + + + +Solar panel: mcc_generated_files/mcc.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
mcc.c
+
+
+Go to the documentation of this file.
1
+
24/*
+
25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
26
+
27 Subject to your compliance with these terms, you may use Microchip software and any
+
28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
29 license terms applicable to your use of third party software (including open source software) that
+
30 may accompany Microchip software.
+
31
+
32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
35 FOR A PARTICULAR PURPOSE.
+
36
+
37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
44 SOFTWARE.
+
45*/
+
46
+
47#include "mcc.h"
+
48
+
49
+ +
51{
+
52
+ + + + + + + + +
61}
+
62
+ +
64{
+
65 // SCS Primary_OSC; OSTS intosc; IDLEN disabled;
+
66 OSCCON = 0x02;
+
67 // PLLEN disabled; PPST0 disabled; PPRE divide_by_3; PPST1 divide_by_3;
+
68 OSCTUNE = 0x00;
+
69}
+
70
+
71
+
void ADC_Initialize(void)
Definition: adc.c:61
+
void EPWM1_Initialize(void)
Definition: epwm1.c:64
+
void EUSART1_Initialize(void)
Definition: eusart1.c:83
+
void INTERRUPT_Initialize(void)
+
void OSCILLATOR_Initialize(void)
Definition: mcc.c:63
+
void SYSTEM_Initialize(void)
Definition: mcc.c:50
+ +
void PIN_MANAGER_Initialize(void)
Definition: pin_manager.c:50
+
void TMR0_Initialize(void)
Definition: tmr0.c:67
+
void TMR2_Initialize(void)
Definition: tmr2.c:62
+
+
+ + + + diff --git a/html/mcc_8h.html b/html/mcc_8h.html new file mode 100644 index 0000000..974f89a --- /dev/null +++ b/html/mcc_8h.html @@ -0,0 +1,181 @@ + + + + + + + +Solar panel: mcc_generated_files/mcc.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
mcc.h File Reference
+
+
+
#include <xc.h>
+#include "device_config.h"
+#include "pin_manager.h"
+#include <stdint.h>
+#include <stdbool.h>
+#include <conio.h>
+#include "interrupt_manager.h"
+#include "epwm1.h"
+#include "tmr2.h"
+#include "adc.h"
+#include "tmr0.h"
+#include "eusart1.h"
+
+

Go to the source code of this file.

+ + + + + + +

+Functions

void SYSTEM_Initialize (void)
 
void OSCILLATOR_Initialize (void)
 
+

Function Documentation

+ +

◆ OSCILLATOR_Initialize()

+ +
+
+ + + + + + + + +
void OSCILLATOR_Initialize (void )
+
+

@Param none @Returns none @Description Initializes the oscillator to the default states configured in the MCC GUI @Example OSCILLATOR_Initialize(void);

+ +

Definition at line 63 of file mcc.c.

+ +
+
+ +

◆ SYSTEM_Initialize()

+ +
+
+ + + + + + + + +
void SYSTEM_Initialize (void )
+
+

@Generated PIC10 / PIC12 / PIC16 / PIC18 MCUs Header File

+

@Company: Microchip Technology Inc.

+

@File Name: mcc.h

+

@Summary: This is the mcc.h file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description: This header file provides implementations for driver APIs for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.00 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later MPLAB : MPLAB X 6.00 @Param none @Returns none @Description Initializes the device to the default states configured in the MCC GUI @Example SYSTEM_Initialize(void);

+

@Generated PIC10 / PIC12 / PIC16 / PIC18 MCUs Source File

+

@Company: Microchip Technology Inc.

+

@File Name: mcc.c

+

@Summary: This is the mcc.c file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

+

@Description: This header file provides implementations for driver APIs for all modules selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.00 The generated drivers are tested against the following: Compiler : XC8 2.36 and above or later MPLAB : MPLAB X 6.00

+ +

Definition at line 50 of file mcc.c.

+ +
+
+
+
+ + + + diff --git a/html/mcc_8h.js b/html/mcc_8h.js new file mode 100644 index 0000000..bd8a79d --- /dev/null +++ b/html/mcc_8h.js @@ -0,0 +1,5 @@ +var mcc_8h = +[ + [ "OSCILLATOR_Initialize", "mcc_8h.html#a4777dd92514a7e4ef803f9e869006f5d", null ], + [ "SYSTEM_Initialize", "mcc_8h.html#a5e8391114a0cf91ac20002be25e3d352", null ] +]; \ No newline at end of file diff --git a/html/mcc_8h_source.html b/html/mcc_8h_source.html new file mode 100644 index 0000000..a7a2bea --- /dev/null +++ b/html/mcc_8h_source.html @@ -0,0 +1,161 @@ + + + + + + + +Solar panel: mcc_generated_files/mcc.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
mcc.h
+
+
+Go to the documentation of this file.
1
+
24/*
+
25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
+
26
+
27 Subject to your compliance with these terms, you may use Microchip software and any
+
28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
+
29 license terms applicable to your use of third party software (including open source software) that
+
30 may accompany Microchip software.
+
31
+
32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
+
33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
+
34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
+
35 FOR A PARTICULAR PURPOSE.
+
36
+
37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
+
38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
+
39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
+
40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
+
41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
+
42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
+
43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
+
44 SOFTWARE.
+
45*/
+
46
+
47#ifndef MCC_H
+
48#define MCC_H
+
49#include <xc.h>
+
50#include "device_config.h"
+
51#include "pin_manager.h"
+
52#include <stdint.h>
+
53#include <stdbool.h>
+
54#include <conio.h>
+
55#include "interrupt_manager.h"
+
56#include "epwm1.h"
+
57#include "tmr2.h"
+
58#include "adc.h"
+
59#include "tmr0.h"
+
60#include "eusart1.h"
+
61
+
62
+
63
+
75void SYSTEM_Initialize(void);
+
76
+
88void OSCILLATOR_Initialize(void);
+
89
+
90#endif /* MCC_H */
+ + + + + +
void OSCILLATOR_Initialize(void)
Definition: mcc.c:63
+
void SYSTEM_Initialize(void)
Definition: mcc.c:50
+ + + +
+
+ + + + diff --git a/html/measure_8c.html b/html/measure_8c.html new file mode 100644 index 0000000..eec1b2f --- /dev/null +++ b/html/measure_8c.html @@ -0,0 +1,325 @@ + + + + + + + +Solar panel: measure.c File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
measure.c File Reference
+
+
+
#include <xc.h>
+#include "measure.h"
+#include "mcc_generated_files/mcc.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + +

+Macros

#define VOLTAGE_CHANNEL   0x5
 
#define CURRENT_CHANNEL   0x6
 
#define ADC_RESOLUTION   (1024 - 1)
 
#define ADC_REFH   3300
 
#define GAIN   66
 
#define RESISTOR   3
 
#define AVERAGE_SAMPLES   8
 
+ + + + + + + +

+Functions

void adc_init (void)
 
uint16_t measure_voltage ()
 
uint16_t measure_current (uint16_t offset)
 
+

Macro Definition Documentation

+ +

◆ ADC_REFH

+ +
+
+ + + + +
#define ADC_REFH   3300
+
+ +

Definition at line 9 of file measure.c.

+ +
+
+ +

◆ ADC_RESOLUTION

+ +
+
+ + + + +
#define ADC_RESOLUTION   (1024 - 1)
+
+ +

Definition at line 8 of file measure.c.

+ +
+
+ +

◆ AVERAGE_SAMPLES

+ +
+
+ + + + +
#define AVERAGE_SAMPLES   8
+
+ +

Definition at line 14 of file measure.c.

+ +
+
+ +

◆ CURRENT_CHANNEL

+ +
+
+ + + + +
#define CURRENT_CHANNEL   0x6
+
+ +

Definition at line 7 of file measure.c.

+ +
+
+ +

◆ GAIN

+ +
+
+ + + + +
#define GAIN   66
+
+ +

Definition at line 10 of file measure.c.

+ +
+
+ +

◆ RESISTOR

+ +
+
+ + + + +
#define RESISTOR   3
+
+ +

Definition at line 11 of file measure.c.

+ +
+
+ +

◆ VOLTAGE_CHANNEL

+ +
+
+ + + + +
#define VOLTAGE_CHANNEL   0x5
+
+ +

Definition at line 6 of file measure.c.

+ +
+
+

Function Documentation

+ +

◆ adc_init()

+ +
+
+ + + + + + + + +
void adc_init (void )
+
+

Initialize ADC and pins for measuring current and voltage

+ +

Definition at line 16 of file measure.c.

+ +
+
+ +

◆ measure_current()

+ +
+
+ + + + + + + + +
uint16_t measure_current (uint16_t offset)
+
+

Measure the current on the solar panel. This function is expected to do some filtering

+
Parameters
+ + +
offset: the offset as measured by measure_current_offset
+
+
+
Returns
the current in microamperes
+ +

Definition at line 49 of file measure.c.

+ +
+
+ +

◆ measure_voltage()

+ +
+
+ + + + + + + + +
uint16_t measure_voltage (void )
+
+

Measure the voltage on the channel for the current. This function is expected to do some filtering.

+
Returns
The offset
+ +

Definition at line 37 of file measure.c.

+ +
+
+
+
+ + + + diff --git a/html/measure_8c.js b/html/measure_8c.js new file mode 100644 index 0000000..6708ddf --- /dev/null +++ b/html/measure_8c.js @@ -0,0 +1,13 @@ +var measure_8c = +[ + [ "ADC_REFH", "measure_8c.html#a0d196150332c5bf12bb9684b0f1cc975", null ], + [ "ADC_RESOLUTION", "measure_8c.html#a00978ca9e8220475258dcbbbb7d29129", null ], + [ "AVERAGE_SAMPLES", "measure_8c.html#a0772f4f0c5e19d53263d12a0c0b296ae", null ], + [ "CURRENT_CHANNEL", "measure_8c.html#a501e37e951966e98511c9c1eb0c7d397", null ], + [ "GAIN", "measure_8c.html#a8c8f27b35dfa40ccf31c1ee31479a31c", null ], + [ "RESISTOR", "measure_8c.html#a061cddbb720e9fd818a11a141e890f47", null ], + [ "VOLTAGE_CHANNEL", "measure_8c.html#a3ad11a109af35fa8de5e0b1b3e60142b", null ], + [ "adc_init", "measure_8c.html#a2b815e6730e8723a6d1d06d9ef8f31c0", null ], + [ "measure_current", "measure_8c.html#ad77a3b79bc20b11c0d5462cc0b7134b3", null ], + [ "measure_voltage", "measure_8c.html#a104c0f284978c4cc8d34d36677a97e72", null ] +]; \ No newline at end of file diff --git a/html/measure_8c_source.html b/html/measure_8c_source.html new file mode 100644 index 0000000..630a5fd --- /dev/null +++ b/html/measure_8c_source.html @@ -0,0 +1,178 @@ + + + + + + + +Solar panel: measure.c Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
measure.c
+
+
+Go to the documentation of this file.
1#include <xc.h>
+
2
+
3#include "measure.h"
+ +
5
+
6#define VOLTAGE_CHANNEL 0x5
+
7#define CURRENT_CHANNEL 0x6
+
8#define ADC_RESOLUTION (1024 - 1)
+
9#define ADC_REFH 3300
+
10#define GAIN 66
+
11#define RESISTOR 3
+
12
+
13// Number of samples to do the averaging during measures
+
14#define AVERAGE_SAMPLES 8
+
15
+
16void adc_init(void)
+
17{
+
18 // TODO -> complete adc initialisation
+
19 //offsetCurrent = measure_current(0);
+
20
+
21}
+
22
+
30static uint16_t measure_adc(uint8_t channel)
+
31{
+
32 return (uint16_t) (ADC_GetConversion(channel));
+
33}
+
34
+
35
+
36
+ +
38{
+
39 uint32_t sum = 0;
+
40
+
41 for(int i = 0; i < AVERAGE_SAMPLES; i++) {
+
42 sum += measure_adc(VOLTAGE_CHANNEL);
+
43 }
+
44 sum /= AVERAGE_SAMPLES;
+
45 sum = (sum * ADC_REFH) / ADC_RESOLUTION;
+
46 return (uint16_t)(sum);
+
47}
+
48
+
49uint16_t measure_current(uint16_t offset)
+
50{
+
51 uint32_t sum = 0;
+
52 for(int i = 0; i< AVERAGE_SAMPLES; i++){
+
53 sum += measure_adc(CURRENT_CHANNEL);
+
54 }
+
55 uint32_t m = (sum / AVERAGE_SAMPLES); // m is bits
+
56 m = (m * ADC_REFH) / ADC_RESOLUTION; // m is mV
+
57 m *= 1000; // m is uV
+
58 m /= GAIN;
+
59 m /= RESISTOR; // m is uA
+
60 if(m <= offset){
+
61 m = 0;
+
62 } else {
+
63 m -= offset;
+
64 }
+
65
+
66 return (uint16_t)m;
+
67}
+
adc_result_t ADC_GetConversion(adc_channel_t channel)
Definition: adc.c:109
+ +
#define ADC_RESOLUTION
Definition: measure.c:8
+
#define RESISTOR
Definition: measure.c:11
+
#define AVERAGE_SAMPLES
Definition: measure.c:14
+
#define ADC_REFH
Definition: measure.c:9
+
uint16_t measure_voltage()
Definition: measure.c:37
+
void adc_init(void)
Definition: measure.c:16
+
#define VOLTAGE_CHANNEL
Definition: measure.c:6
+
#define CURRENT_CHANNEL
Definition: measure.c:7
+
#define GAIN
Definition: measure.c:10
+
uint16_t measure_current(uint16_t offset)
Definition: measure.c:49
+
Measuring current and voltage from the solar panel.
+
+
+ + + + diff --git a/html/measure_8h.html b/html/measure_8h.html new file mode 100644 index 0000000..de7b990 --- /dev/null +++ b/html/measure_8h.html @@ -0,0 +1,199 @@ + + + + + + + +Solar panel: measure.h File Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
measure.h File Reference
+
+
+ +

Measuring current and voltage from the solar panel. +More...

+
#include <stdint.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Functions

void adc_init (void)
 
uint16_t measure_voltage (void)
 
uint16_t measure_current (uint16_t offset)
 
+

Detailed Description

+

Measuring current and voltage from the solar panel.

+ +

Definition in file measure.h.

+

Function Documentation

+ +

◆ adc_init()

+ +
+
+ + + + + + + + +
void adc_init (void )
+
+

Initialize ADC and pins for measuring current and voltage

+ +

Definition at line 16 of file measure.c.

+ +
+
+ +

◆ measure_current()

+ +
+
+ + + + + + + + +
uint16_t measure_current (uint16_t offset)
+
+

Measure the current on the solar panel. This function is expected to do some filtering

+
Parameters
+ + +
offset: the offset as measured by measure_current_offset
+
+
+
Returns
the current in microamperes
+ +

Definition at line 49 of file measure.c.

+ +
+
+ +

◆ measure_voltage()

+ +
+
+ + + + + + + + +
uint16_t measure_voltage (void )
+
+

Measure the voltage on the channel for the current. This function is expected to do some filtering.

+
Returns
The offset
+ +

Definition at line 37 of file measure.c.

+ +
+
+
+
+ + + + diff --git a/html/measure_8h.js b/html/measure_8h.js new file mode 100644 index 0000000..5573a01 --- /dev/null +++ b/html/measure_8h.js @@ -0,0 +1,6 @@ +var measure_8h = +[ + [ "adc_init", "measure_8h.html#a2b815e6730e8723a6d1d06d9ef8f31c0", null ], + [ "measure_current", "measure_8h.html#ad77a3b79bc20b11c0d5462cc0b7134b3", null ], + [ "measure_voltage", "measure_8h.html#ad6d7d2ebed0e9762bc0e5e05619f87e1", null ] +]; \ No newline at end of file diff --git a/html/measure_8h_source.html b/html/measure_8h_source.html new file mode 100644 index 0000000..d3cd32e --- /dev/null +++ b/html/measure_8h_source.html @@ -0,0 +1,125 @@ + + + + + + + +Solar panel: measure.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Solar panel +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
measure.h
+
+
+Go to the documentation of this file.
1/************************************************************************/
+
6#ifndef MEASURE_H
+
7#define MEASURE_H
+
8
+
9#include <stdint.h>
+
10
+
11
+
12
+
16void adc_init(void);
+
17
+
25uint16_t measure_voltage(void);
+
26
+
35uint16_t measure_current(uint16_t offset);
+
36
+
37
+
38
+
39#endif /* MEASURE_H */
+
void adc_init(void)
Definition: measure.c:16
+
uint16_t measure_voltage(void)
Definition: measure.c:37
+
uint16_t measure_current(uint16_t offset)
Definition: measure.c:49
+
+
+ + + + diff --git a/html/menu.js b/html/menu.js new file mode 100644 index 0000000..b0b2693 --- /dev/null +++ b/html/menu.js @@ -0,0 +1,136 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+='
    '; + for (var i in data.children) { + var url; + var link; + link = data.children[i].url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + } else { + url = relPath+link; + } + result+='
  • '+ + data.children[i].text+''+ + makeTree(data.children[i],relPath)+'
  • '; + } + result+='
'; + } + return result; + } + var searchBoxHtml; + if (searchEnabled) { + if (serverSide) { + searchBoxHtml='
'+ + '
'+ + '
 '+ + ''+ + '
'+ + '
'+ + '
'+ + '
'; + } else { + searchBoxHtml='
'+ + ''+ + ' '+ + ''+ + ''+ + ''+ + ''+ + ''+ + '
'; + } + } + + $('#main-nav').before('
'+ + ''+ + ''+ + '
'); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchBoxHtml) { + $('#main-menu').append('
  • '); + } + var $mainMenuState = $('#main-menu-state'); + var prevWidth = 0; + if ($mainMenuState.length) { + function initResizableIfExists() { + if (typeof initResizable==='function') initResizable(); + } + // animate mobile menu + $mainMenuState.change(function(e) { + var $menu = $('#main-menu'); + var options = { duration: 250, step: initResizableIfExists }; + if (this.checked) { + options['complete'] = function() { $menu.css('display', 'block') }; + $menu.hide().slideDown(options); + } else { + options['complete'] = function() { $menu.css('display', 'none') }; + $menu.show().slideUp(options); + } + }); + // set default menu visibility + function resetState() { + var $menu = $('#main-menu'); + var $mainMenuState = $('#main-menu-state'); + var newWidth = $(window).outerWidth(); + if (newWidth!=prevWidth) { + if ($(window).outerWidth()<768) { + $mainMenuState.prop('checked',false); $menu.hide(); + $('#searchBoxPos1').html(searchBoxHtml); + $('#searchBoxPos2').hide(); + } else { + $menu.show(); + $('#searchBoxPos1').empty(); + $('#searchBoxPos2').html(searchBoxHtml); + $('#searchBoxPos2').show(); + } + if (typeof searchBox!=='undefined') { + searchBox.CloseResultsWindow(); + } + prevWidth = newWidth; + } + } + $(window).ready(function() { resetState(); initResizableIfExists(); }); + $(window).resize(resetState); + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/html/menudata.js b/html/menudata.js new file mode 100644 index 0000000..da37abd --- /dev/null +++ b/html/menudata.js @@ -0,0 +1,98 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Modules",url:"modules.html"}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html"}, +{text:"Variables",url:"functions_vars.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html",children:[ +{text:"_",url:"globals.html#index__5F"}, +{text:"a",url:"globals_a.html#index_a"}, +{text:"c",url:"globals_c.html#index_c"}, +{text:"d",url:"globals_d.html#index_d"}, +{text:"e",url:"globals_e.html#index_e"}, +{text:"f",url:"globals_f.html#index_f"}, +{text:"g",url:"globals_g.html#index_g"}, +{text:"h",url:"globals_h.html#index_h"}, +{text:"i",url:"globals_i.html#index_i"}, +{text:"l",url:"globals_l.html#index_l"}, +{text:"m",url:"globals_m.html#index_m"}, +{text:"o",url:"globals_o.html#index_o"}, +{text:"p",url:"globals_p.html#index_p"}, +{text:"r",url:"globals_r.html#index_r"}, +{text:"s",url:"globals_s.html#index_s"}, +{text:"t",url:"globals_t.html#index_t"}, +{text:"v",url:"globals_v.html#index_v"}, +{text:"w",url:"globals_w.html#index_w"}]}, +{text:"Functions",url:"globals_func.html",children:[ +{text:"_",url:"globals_func.html#index__5F"}, +{text:"a",url:"globals_func.html#index_a"}, +{text:"c",url:"globals_func.html#index_c"}, +{text:"e",url:"globals_func.html#index_e"}, +{text:"f",url:"globals_func.html#index_f"}, +{text:"i",url:"globals_func.html#index_i"}, +{text:"l",url:"globals_func.html#index_l"}, +{text:"m",url:"globals_func.html#index_m"}, +{text:"o",url:"globals_func.html#index_o"}, +{text:"p",url:"globals_func.html#index_p"}, +{text:"s",url:"globals_func.html#index_s"}, +{text:"t",url:"globals_func.html#index_t"}]}, +{text:"Variables",url:"globals_vars.html",children:[ +{text:"a",url:"globals_vars.html#index_a"}, +{text:"e",url:"globals_vars.html#index_e"}, +{text:"f",url:"globals_vars.html#index_f"}, +{text:"h",url:"globals_vars.html#index_h"}, +{text:"i",url:"globals_vars.html#index_i"}, +{text:"m",url:"globals_vars.html#index_m"}, +{text:"r",url:"globals_vars.html#index_r"}, +{text:"t",url:"globals_vars.html#index_t"}]}, +{text:"Typedefs",url:"globals_type.html"}, +{text:"Enumerations",url:"globals_enum.html"}, +{text:"Enumerator",url:"globals_eval.html"}, +{text:"Macros",url:"globals_defs.html",children:[ +{text:"_",url:"globals_defs.html#index__5F"}, +{text:"a",url:"globals_defs_a.html#index_a"}, +{text:"c",url:"globals_defs_c.html#index_c"}, +{text:"d",url:"globals_defs_d.html#index_d"}, +{text:"e",url:"globals_defs_e.html#index_e"}, +{text:"f",url:"globals_defs_f.html#index_f"}, +{text:"g",url:"globals_defs_g.html#index_g"}, +{text:"h",url:"globals_defs_h.html#index_h"}, +{text:"i",url:"globals_defs_i.html#index_i"}, +{text:"l",url:"globals_defs_l.html#index_l"}, +{text:"m",url:"globals_defs_m.html#index_m"}, +{text:"o",url:"globals_defs_o.html#index_o"}, +{text:"p",url:"globals_defs_p.html#index_p"}, +{text:"r",url:"globals_defs_r.html#index_r"}, +{text:"s",url:"globals_defs_s.html#index_s"}, +{text:"v",url:"globals_defs_v.html#index_v"}, +{text:"w",url:"globals_defs_w.html#index_w"}]}]}]}]} diff --git a/html/modbus_8c.html b/html/modbus_8c.html new file mode 100644 index 0000000..defebbf --- /dev/null +++ b/html/modbus_8c.html @@ -0,0 +1,535 @@ + + + + + + + +Solar panel: modbus.c File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    modbus.c File Reference
    +
    +
    +
    #include "modbus.h"
    +#include "crc.h"
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define READ_INPUT_REGISTERS   0x04
     Modbus function for read input register = 04.
     
    #define READ_HOLDING_REGISTERS   0x03
     Modbus function for read holding register = 03.
     
    #define WRITE_SINGLE_REGISTER   0x06
     Modbus function for write a single register = 06.
     
    #define ILLEGAL_FUNCTION   1
     
    #define ILLEGAL_DATA_ADDRESS   2
     
    #define ILLEGAL_DATA_VALUE   3
     
    #define SLAVE_DEVICE_FAILURE   4
     
    + + + + + + + + + + + + + +

    +Functions

    void modbus_timer (void)
     
    uint16_t measure_voltage ()
     
    uint8_t modbus_analyse_and_answer (void)
     
    void modbus_char_recvd (void)
     
    void modbus_send (uint8_t length)
     
    void modbus_init (uint8_t address)
     
    + + + + + + + + + + + + + +

    +Variables

    uint8_t modbusAddress
     
    uint16_t input_registers [2]
     
    uint16_t holding_registers [2]
     
    uint8_t rx_buf [256]
     
    uint8_t tx_buf [256]
     
    uint8_t recPtr = 0
     
    +

    Macro Definition Documentation

    + +

    ◆ ILLEGAL_DATA_ADDRESS

    + +
    +
    + + + + +
    #define ILLEGAL_DATA_ADDRESS   2
    +
    + +

    Definition at line 19 of file modbus.c.

    + +
    +
    + +

    ◆ ILLEGAL_DATA_VALUE

    + +
    +
    + + + + +
    #define ILLEGAL_DATA_VALUE   3
    +
    + +

    Definition at line 20 of file modbus.c.

    + +
    +
    + +

    ◆ ILLEGAL_FUNCTION

    + +
    +
    + + + + +
    #define ILLEGAL_FUNCTION   1
    +
    + +

    Definition at line 18 of file modbus.c.

    + +
    +
    + +

    ◆ READ_HOLDING_REGISTERS

    + +
    +
    + + + + +
    #define READ_HOLDING_REGISTERS   0x03
    +
    + +

    Modbus function for read holding register = 03.

    + +

    Definition at line 8 of file modbus.c.

    + +
    +
    + +

    ◆ READ_INPUT_REGISTERS

    + +
    +
    + + + + +
    #define READ_INPUT_REGISTERS   0x04
    +
    + +

    Modbus function for read input register = 04.

    + +

    Definition at line 7 of file modbus.c.

    + +
    +
    + +

    ◆ SLAVE_DEVICE_FAILURE

    + +
    +
    + + + + +
    #define SLAVE_DEVICE_FAILURE   4
    +
    + +

    Definition at line 21 of file modbus.c.

    + +
    +
    + +

    ◆ WRITE_SINGLE_REGISTER

    + +
    +
    + + + + +
    #define WRITE_SINGLE_REGISTER   0x06
    +
    + +

    Modbus function for write a single register = 06.

    + +

    Definition at line 9 of file modbus.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ measure_voltage()

    + +
    +
    + + + + + + + +
    uint16_t measure_voltage ()
    +
    +

    Measure the voltage on the channel for the current. This function is expected to do some filtering.

    +
    Returns
    The offset
    + +

    Definition at line 37 of file measure.c.

    + +
    +
    + +

    ◆ modbus_analyse_and_answer()

    + +
    +
    + + + + + + + + +
    uint8_t modbus_analyse_and_answer (void )
    +
    +

    Analyses the received frame and answer to server

    +
    Returns
    an error code if frame not valid
    + +

    Definition at line 40 of file modbus.c.

    + +
    +
    + +

    ◆ modbus_char_recvd()

    + +
    +
    + + + + + + + + +
    void modbus_char_recvd (void )
    +
    +

    This function will be called every time a character has been received on the Modbus serial port. It is called from the interrupt hander.

    +
    Parameters
    + + +
    c: the received char // removed !
    +
    +
    +
    See also
    interrupts.c.
    + +

    Definition at line 85 of file modbus.c.

    + +
    +
    + +

    ◆ modbus_init()

    + +
    +
    + + + + + + + + +
    void modbus_init (uint8_t address)
    +
    +

    Initializes this Modbus library.

    +

    Initialize pins, timer, serial port and variables. Interrupts MUST be initialized for the timer and the serial port.

    +
    Parameters
    + + +
    address: the Modbus address of this device
    +
    +
    +
    See also
    modbus_char_recvd
    +
    +modbus_timer
    +
    +interrupts.c
    + +

    Definition at line 108 of file modbus.c.

    + +
    +
    + +

    ◆ modbus_send()

    + +
    +
    + + + + + + + + +
    void modbus_send (uint8_t length)
    +
    +

    Send the Modbus frame on tx_buf with CRC added

    +
    Parameters
    + + +
    length: length of the frame without the CRC
    +
    +
    + +

    Definition at line 92 of file modbus.c.

    + +
    +
    + +

    ◆ modbus_timer()

    + +
    +
    + + + + + + + + +
    void modbus_timer (void )
    +
    +

    Modbus timer finished. This function is called by the interrupt handler when a MODBUS frame is finished. It must analyse the received packet and reply if required.

    +
    See also
    interrupts.c
    + +

    Definition at line 33 of file modbus.c.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ holding_registers

    + +
    +
    + + + + +
    uint16_t holding_registers[2]
    +
    + +

    Definition at line 14 of file modbus.c.

    + +
    +
    + +

    ◆ input_registers

    + +
    +
    + + + + +
    uint16_t input_registers[2]
    +
    + +

    Definition at line 13 of file modbus.c.

    + +
    +
    + +

    ◆ modbusAddress

    + +
    +
    + + + + +
    uint8_t modbusAddress
    +
    + +

    Definition at line 12 of file modbus.c.

    + +
    +
    + +

    ◆ recPtr

    + +
    +
    + + + + +
    uint8_t recPtr = 0
    +
    + +

    Definition at line 31 of file modbus.c.

    + +
    +
    + +

    ◆ rx_buf

    + +
    +
    + + + + +
    uint8_t rx_buf[256]
    +
    +

    Buffers for serial receive and send operations which are more than one byte long

    + +

    Definition at line 27 of file modbus.c.

    + +
    +
    + +

    ◆ tx_buf

    + +
    +
    + + + + +
    uint8_t tx_buf[256]
    +
    + +

    Definition at line 28 of file modbus.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/modbus_8c.js b/html/modbus_8c.js new file mode 100644 index 0000000..a93cd33 --- /dev/null +++ b/html/modbus_8c.js @@ -0,0 +1,22 @@ +var modbus_8c = +[ + [ "ILLEGAL_DATA_ADDRESS", "modbus_8c.html#ad36357dad4ceb8b0ecb0f5f53eee1502", null ], + [ "ILLEGAL_DATA_VALUE", "modbus_8c.html#a2a9c40f66b96eb93a9dbb17d1f79443d", null ], + [ "ILLEGAL_FUNCTION", "modbus_8c.html#a262addcd07ad5759dbeca3efe5d808d3", null ], + [ "READ_HOLDING_REGISTERS", "modbus_8c.html#a72629c87e1b18706ed17ee3dc768d5d1", null ], + [ "READ_INPUT_REGISTERS", "modbus_8c.html#a860e48854b8e16a310dd29fe6e069561", null ], + [ "SLAVE_DEVICE_FAILURE", "modbus_8c.html#a92cb3f97527a2fbca9881dc0c14d98eb", null ], + [ "WRITE_SINGLE_REGISTER", "modbus_8c.html#ae193fb8e7fb5dafe59b40642c13b4b42", null ], + [ "measure_voltage", "modbus_8c.html#a104c0f284978c4cc8d34d36677a97e72", null ], + [ "modbus_analyse_and_answer", "modbus_8c.html#a6ae3279c3dcad4aa532eb07689f242e1", null ], + [ "modbus_char_recvd", "modbus_8c.html#aacb32a5aea357fae4e7fde574f95bfb9", null ], + [ "modbus_init", "modbus_8c.html#a67d9839b8e221bcb53bbbb2ba59ff618", null ], + [ "modbus_send", "modbus_8c.html#af1b0553ef81d80e21233e23c3253ae61", null ], + [ "modbus_timer", "modbus_8c.html#add3e4a272cc65130d4e9f9c53caa61db", null ], + [ "holding_registers", "modbus_8c.html#a2aac17f17a0fbffad12e7ca46ed8ae0f", null ], + [ "input_registers", "modbus_8c.html#af231936e7cd39b49156a2a178f3d54eb", null ], + [ "modbusAddress", "modbus_8c.html#a32ee4d57aa4ff7f7fce07fbe100dc0c2", null ], + [ "recPtr", "modbus_8c.html#a9acb7baf86b62d19a199e672316e6294", null ], + [ "rx_buf", "modbus_8c.html#a95463de2dabcd8671528bb72c7139e46", null ], + [ "tx_buf", "modbus_8c.html#a579f15c7d6aeee8d684dce40e205c54b", null ] +]; \ No newline at end of file diff --git a/html/modbus_8c_source.html b/html/modbus_8c_source.html new file mode 100644 index 0000000..003b405 --- /dev/null +++ b/html/modbus_8c_source.html @@ -0,0 +1,239 @@ + + + + + + + +Solar panel: modbus.c Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    modbus.c
    +
    +
    +Go to the documentation of this file.
    1
    +
    2
    +
    3#include "modbus.h"
    +
    4#include "crc.h"
    +
    5
    +
    6// Modbus functions
    +
    7#define READ_INPUT_REGISTERS 0x04
    +
    8#define READ_HOLDING_REGISTERS 0x03
    +
    9#define WRITE_SINGLE_REGISTER 0x06
    +
    10
    +
    11// Modbus data model
    + +
    13uint16_t input_registers[2];
    + +
    15
    +
    16
    +
    17// Modbus error codes
    +
    18#define ILLEGAL_FUNCTION 1
    +
    19#define ILLEGAL_DATA_ADDRESS 2
    +
    20#define ILLEGAL_DATA_VALUE 3
    +
    21#define SLAVE_DEVICE_FAILURE 4
    +
    22
    +
    27uint8_t rx_buf[256];
    +
    28uint8_t tx_buf[256];
    +
    29
    +
    30// Current position pointer for storing receive position
    +
    31uint8_t recPtr = 0;
    +
    32
    +
    33void modbus_timer(void) {
    +
    34 INTCONbits.TMR0IF = 0;
    +
    35 recPtr = 0;
    + + +
    38}
    +
    39extern uint16_t measure_voltage();
    + +
    41 // TODO -> complete the modbus analyse and answer
    +
    42 uint16_t length = 0;
    +
    43 if(rx_buf[0] == modbusAddress){
    +
    44 tx_buf[0] = rx_buf[0]; // Adress
    +
    45 tx_buf[1] = rx_buf[1]; // Function
    +
    46 uint16_t adresseRegister = ((uint16_t)rx_buf[2] << 8) | rx_buf[3];
    +
    47
    +
    48 switch(rx_buf[1]){ // Check the function from rx buffer
    + +
    50 length = ((uint16_t)rx_buf[4] << 8) | rx_buf[5];
    +
    51 tx_buf[2] = (uint8_t)(length*2); // Data length
    +
    52 for(uint16_t i = 0; i < length; i++){ // Data
    +
    53 tx_buf[i*2+4] = input_registers[adresseRegister+i];
    +
    54 tx_buf[i*2+3] = (input_registers[adresseRegister+i] >> 8);
    +
    55 }
    +
    56 length*=2;
    +
    57 length+=3;
    +
    58 break;
    + +
    60 length = ((uint16_t)rx_buf[4] << 8) | rx_buf[5];
    +
    61 tx_buf[2] = (uint8_t)(length*2); // Data length
    +
    62 for(uint16_t i = 0; i < length; i++){ // Data
    +
    63 tx_buf[i*2+4] = holding_registers[adresseRegister+i];
    +
    64 tx_buf[i*2+3] = (holding_registers[adresseRegister+i] >> 8);
    +
    65 }
    +
    66 length*=2;
    +
    67 length+=3;
    +
    68 break;
    + +
    70 holding_registers[adresseRegister] = ((uint16_t)rx_buf[4] << 8) | rx_buf[5];
    +
    71 for (int i = 2; i <= 5; i++) {
    +
    72 tx_buf[i] = rx_buf[i];
    +
    73 length = i+1;
    +
    74 }
    +
    75 break;
    +
    76 }
    +
    77
    +
    78 }
    +
    79
    +
    80 rx_buf[0] = 0;
    +
    81 modbus_send(length);
    +
    82
    +
    83}
    +
    84
    + +
    86{
    +
    87 rx_buf[recPtr++] = RCREG1;
    + + +
    90}
    +
    91
    +
    92void modbus_send(uint8_t length)
    +
    93{
    +
    94
    +
    95 uint16_t crc = CRC16(tx_buf, length);
    +
    96
    +
    97 tx_buf[length] = crc;
    +
    98 tx_buf[length+1] = crc >> 8;
    +
    99
    +
    100 length += 2; // add 2 CRC bytes for total size
    +
    101
    +
    102 // For all the bytes to be transmitted
    +
    103 for (uint8_t i = 0; i < length; i++){
    + +
    105 }
    +
    106}
    +
    107
    +
    108void modbus_init(uint8_t address)
    +
    109{
    +
    110 modbusAddress = address;
    +
    111 holding_registers[1] = address;
    + + +
    114}
    +
    uint16_t CRC16(const uint8_t *msg, uint16_t length)
    Definition: crc.c:48
    +
    CRC calculation for Modbus.
    +
    void EUSART1_SetRxInterruptHandler(void(*interruptHandler)(void))
    Definition: eusart1.c:234
    +
    void EUSART1_Write(uint8_t txData)
    Definition: eusart1.c:162
    +
    uint16_t measure_voltage()
    Definition: measure.c:37
    +
    uint16_t holding_registers[2]
    Definition: modbus.c:14
    +
    uint8_t modbusAddress
    Definition: modbus.c:12
    +
    uint8_t tx_buf[256]
    Definition: modbus.c:28
    +
    void modbus_init(uint8_t address)
    Definition: modbus.c:108
    +
    uint8_t modbus_analyse_and_answer(void)
    Definition: modbus.c:40
    +
    #define READ_HOLDING_REGISTERS
    Modbus function for read holding register = 03.
    Definition: modbus.c:8
    +
    #define READ_INPUT_REGISTERS
    Modbus function for read input register = 04.
    Definition: modbus.c:7
    +
    uint8_t rx_buf[256]
    Definition: modbus.c:27
    +
    uint8_t recPtr
    Definition: modbus.c:31
    +
    void modbus_char_recvd(void)
    Definition: modbus.c:85
    +
    void modbus_timer(void)
    Definition: modbus.c:33
    +
    #define WRITE_SINGLE_REGISTER
    Modbus function for write a single register = 06.
    Definition: modbus.c:9
    +
    void modbus_send(uint8_t length)
    Definition: modbus.c:92
    +
    uint16_t input_registers[2]
    Definition: modbus.c:13
    +
    Modbus serial library.
    +
    void TMR0_SetInterruptHandler(void(*InterruptHandler)(void))
    Definition: tmr0.c:156
    +
    void TMR0_StartTimer(void)
    Definition: tmr0.c:97
    +
    void TMR0_Reload(void)
    Definition: tmr0.c:129
    +
    void TMR0_StopTimer(void)
    Definition: tmr0.c:103
    +
    +
    + + + + diff --git a/html/modbus_8h.html b/html/modbus_8h.html new file mode 100644 index 0000000..e7d1981 --- /dev/null +++ b/html/modbus_8h.html @@ -0,0 +1,347 @@ + + + + + + + +Solar panel: modbus.h File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    modbus.h File Reference
    +
    +
    + +

    Modbus serial library. +More...

    +
    #include <stdint.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + +

    +Functions

    void modbus_init (uint8_t address)
     
    uint8_t modbus_analyse_and_answer (void)
     
    void modbus_send (uint8_t length)
     
    void modbus_char_recvd (void)
     
    void modbus_timer (void)
     
    + + + + + + + +

    +Variables

    uint8_t modbusAddress
     
    uint16_t input_registers [2]
     
    uint16_t holding_registers [2]
     
    +

    Detailed Description

    +

    Modbus serial library.

    + +

    Definition in file modbus.h.

    +

    Function Documentation

    + +

    ◆ modbus_analyse_and_answer()

    + +
    +
    + + + + + + + + +
    uint8_t modbus_analyse_and_answer (void )
    +
    +

    Analyses the received frame and answer to server

    +
    Returns
    an error code if frame not valid
    + +

    Definition at line 40 of file modbus.c.

    + +
    +
    + +

    ◆ modbus_char_recvd()

    + +
    +
    + + + + + + + + +
    void modbus_char_recvd (void )
    +
    +

    This function will be called every time a character has been received on the Modbus serial port. It is called from the interrupt hander.

    +
    Parameters
    + + +
    c: the received char // removed !
    +
    +
    +
    See also
    interrupts.c.
    + +

    Definition at line 85 of file modbus.c.

    + +
    +
    + +

    ◆ modbus_init()

    + +
    +
    + + + + + + + + +
    void modbus_init (uint8_t address)
    +
    +

    Initializes this Modbus library.

    +

    Initialize pins, timer, serial port and variables. Interrupts MUST be initialized for the timer and the serial port.

    +
    Parameters
    + + +
    address: the Modbus address of this device
    +
    +
    +
    See also
    modbus_char_recvd
    +
    +modbus_timer
    +
    +interrupts.c
    + +

    Definition at line 108 of file modbus.c.

    + +
    +
    + +

    ◆ modbus_send()

    + +
    +
    + + + + + + + + +
    void modbus_send (uint8_t length)
    +
    +

    Send the Modbus frame on tx_buf with CRC added

    +
    Parameters
    + + +
    length: length of the frame without the CRC
    +
    +
    + +

    Definition at line 92 of file modbus.c.

    + +
    +
    + +

    ◆ modbus_timer()

    + +
    +
    + + + + + + + + +
    void modbus_timer (void )
    +
    +

    Modbus timer finished. This function is called by the interrupt handler when a MODBUS frame is finished. It must analyse the received packet and reply if required.

    +
    See also
    interrupts.c
    + +

    Definition at line 33 of file modbus.c.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ holding_registers

    + +
    +
    + + + + + +
    + + + + +
    uint16_t holding_registers[2]
    +
    +extern
    +
    + +

    Definition at line 14 of file modbus.c.

    + +
    +
    + +

    ◆ input_registers

    + +
    +
    + + + + + +
    + + + + +
    uint16_t input_registers[2]
    +
    +extern
    +
    + +

    Definition at line 13 of file modbus.c.

    + +
    +
    + +

    ◆ modbusAddress

    + +
    +
    + + + + + +
    + + + + +
    uint8_t modbusAddress
    +
    +extern
    +
    + +

    Definition at line 12 of file modbus.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/modbus_8h.js b/html/modbus_8h.js new file mode 100644 index 0000000..c0f0c42 --- /dev/null +++ b/html/modbus_8h.js @@ -0,0 +1,11 @@ +var modbus_8h = +[ + [ "modbus_analyse_and_answer", "modbus_8h.html#a6ae3279c3dcad4aa532eb07689f242e1", null ], + [ "modbus_char_recvd", "modbus_8h.html#aacb32a5aea357fae4e7fde574f95bfb9", null ], + [ "modbus_init", "modbus_8h.html#a67d9839b8e221bcb53bbbb2ba59ff618", null ], + [ "modbus_send", "modbus_8h.html#af1b0553ef81d80e21233e23c3253ae61", null ], + [ "modbus_timer", "modbus_8h.html#add3e4a272cc65130d4e9f9c53caa61db", null ], + [ "holding_registers", "modbus_8h.html#a2aac17f17a0fbffad12e7ca46ed8ae0f", null ], + [ "input_registers", "modbus_8h.html#af231936e7cd39b49156a2a178f3d54eb", null ], + [ "modbusAddress", "modbus_8h.html#a32ee4d57aa4ff7f7fce07fbe100dc0c2", null ] +]; \ No newline at end of file diff --git a/html/modbus_8h_source.html b/html/modbus_8h_source.html new file mode 100644 index 0000000..8ccb6d6 --- /dev/null +++ b/html/modbus_8h_source.html @@ -0,0 +1,134 @@ + + + + + + + +Solar panel: modbus.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    modbus.h
    +
    +
    +Go to the documentation of this file.
    1/************************************************************************/
    +
    6#ifndef MODBUS_H
    +
    7#define MODBUS_H
    +
    8
    +
    9#include <stdint.h>
    +
    10
    +
    11extern uint8_t modbusAddress;
    +
    12extern uint16_t input_registers[2];
    +
    13extern uint16_t holding_registers[2];
    +
    14
    +
    27void modbus_init(uint8_t address);
    +
    28
    +
    34uint8_t modbus_analyse_and_answer(void);
    +
    35
    +
    41void modbus_send(uint8_t length);
    +
    42
    +
    51void modbus_char_recvd(void);
    +
    52
    +
    60void modbus_timer(void);
    +
    61
    +
    62#endif /* MODBUS_H */
    +
    uint16_t holding_registers[2]
    Definition: modbus.c:14
    +
    uint8_t modbusAddress
    Definition: modbus.c:12
    +
    void modbus_init(uint8_t address)
    Definition: modbus.c:108
    +
    uint8_t modbus_analyse_and_answer(void)
    Definition: modbus.c:40
    +
    void modbus_char_recvd(void)
    Definition: modbus.c:85
    +
    void modbus_timer(void)
    Definition: modbus.c:33
    +
    void modbus_send(uint8_t length)
    Definition: modbus.c:92
    +
    uint16_t input_registers[2]
    Definition: modbus.c:13
    +
    +
    + + + + diff --git a/html/modules.html b/html/modules.html new file mode 100644 index 0000000..999cfb6 --- /dev/null +++ b/html/modules.html @@ -0,0 +1,116 @@ + + + + + + + +Solar panel: Modules + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Modules
    +
    +
    +
    Here is a list of all modules:
    +
    [detail level 1234]
    + + + + + + + + +
     MiddlewareThis section includes the mikroSDK API Reference for Middleware Layer
     FT5xx6 Touch Controllers DriverFT5xx6 Touch Controller Driver API Reference
     FT5xx6 RegistersFT5xx6 Registers List
     FT5xx6 SettingsFT5xx6 Settings List
     FT5xx6 MasksFT5xx6 Masks List
     FT5xx6 OffsetsFT5xx6 Offsets List
     SSD1963 Display Controller Driver
     SSD1963 Display Controller CommandsSSD1963 Display Controller Command List
    +
    +
    +
    + + + + diff --git a/html/modules.js b/html/modules.js new file mode 100644 index 0000000..5dd0464 --- /dev/null +++ b/html/modules.js @@ -0,0 +1,4 @@ +var modules = +[ + [ "Middleware", "group__middlewaregroup.html", "group__middlewaregroup" ] +]; \ No newline at end of file diff --git a/html/nav_f.png b/html/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..77888a6649d89bdae93a36b63cd28716da1ec345 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQW>5ujv*C{Z|_EOH9H8jJe;>O z`Bzqw*z_HKB~`bypIZue?A79sd-!;{<_qH!&wn4D64tXTX+a!stjU%)-MM1Uvcg*1 z=J5J|J9zKqH$RORUeg_NRh;#A#crG_zP~ZBV?EBfd-@E@w&Qq9kJl)k0XeWcG LtDnm{r-UW|`Kmo< literal 0 HcmV?d00001 diff --git a/html/nav_fd.png b/html/nav_fd.png new file mode 100644 index 0000000000000000000000000000000000000000..4bf8f2a9b3e7ceb50b3de922a984a9782aea637c GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQemDhjv*C{Z|830Z7>jEe*c$M z*OhC60B^Jb({Fy^Kou7yA;m=rEthZCoi;Xj)Bbx?=M#!PC{xWt~$(6966HHm(2w literal 0 HcmV?d00001 diff --git a/html/nav_g.png b/html/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KdOThIT-G@yGywoB%^WEJ literal 0 HcmV?d00001 diff --git a/html/nav_hd.png b/html/nav_hd.png new file mode 100644 index 0000000000000000000000000000000000000000..9b939fe413a600f11fadee8ee121ee3bdd34a4a6 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^j6lr8!2~3AUOE6t1_MtQ$B+ufw|5WnGAMGm9#r3P z`nu4boAvz<4jyq@##@t{|F_(vM@#v0l>dbmfto@F?NFYs6MK|1K$<;W{an^LB{Ts5 DkhdU7 literal 0 HcmV?d00001 diff --git a/html/navtree.css b/html/navtree.css new file mode 100644 index 0000000..c8a7766 --- /dev/null +++ b/html/navtree.css @@ -0,0 +1,150 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: var(--nav-text-active-color); + text-shadow: var(--nav-text-active-shadow); +} + +#nav-tree .selected .arrow { + color: var(--nav-arrow-selected-color); + text-shadow: none; +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px var(--font-family-nav); +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:var(--nav-text-active-color); +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: $width; + overflow : hidden; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background-image:var(--nav-splitbar-image); + background-size:100%; + background-repeat:repeat-y; + background-attachment: scroll; + cursor:ew-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-repeat:repeat-x; + background-color: var(--nav-background-color); + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/html/navtree.js b/html/navtree.js new file mode 100644 index 0000000..2798368 --- /dev/null +++ b/html/navtree.js @@ -0,0 +1,549 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +var navTreeSubIndices = new Array(); +var arrowDown = '▼'; +var arrowRight = '►'; + +function getData(varName) +{ + var i = varName.lastIndexOf('/'); + var n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast"); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + var topOffset=5; + if (typeof page_layout!=='undefined' && page_layout==1) { + topOffset+=$('#top').outerHeight(); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + topOffset+=25; + } + $('#nav-sync').css('top',topOffset+'px'); + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +var loadTriggered = false; +var readyTriggered = false; +var loadObject,loadToRoot,loadUrl,loadRelPath; + +$(window).on('load',function(){ + if (readyTriggered) { // ready first + navTo(loadObject,loadToRoot,loadUrl,loadRelPath); + showRoot(); + } + loadTriggered=true; +}); + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + if (loadTriggered) { // load before ready + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + } else { // ready before load + loadObject = o; + loadToRoot = toroot; + loadUrl = hashUrl(); + loadRelPath = relpath; + readyTriggered=true; + } + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ + + + + + + +Solar panel: old_main.c File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    old_main.c File Reference
    +
    +
    +
    #include <xc.h>
    +#include <stdint.h>
    +#include <stdbool.h>
    +#include <stdio.h>
    +#include "lcd/lcd.h"
    +#include "pwm.h"
    +#include "measure.h"
    +#include "modbus.h"
    +#include "uart.h"
    +
    +

    Go to the source code of this file.

    + + + + +

    +Macros

    #define _XTAL_FREQ   64000000L
     
    + + + + + +

    +Functions

    void init_hw ()
     
    void main (void)
     
    + + + + + + + + + + + + + + + + +

    +Variables

    uint8_t tmpStr [30]
     
    uint16_t u
     Voltage in milliovolts.
     
    uint16_t i
     Current in microamperes.
     
    uint16_t p
     Power in microwatts.
     
    uint16_t offset
     
    uint16_t pwm = 512
     
    +

    Macro Definition Documentation

    + +

    ◆ _XTAL_FREQ

    + +
    +
    + + + + +
    #define _XTAL_FREQ   64000000L
    +
    + +

    Definition at line 18 of file old_main.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ init_hw()

    + +
    +
    + + + + + + + +
    void init_hw ()
    +
    +

    Initialize clock, buttons, leds and interrupts

    + +

    Definition at line 22 of file old_main.c.

    + +
    +
    + +

    ◆ main()

    + +
    +
    + + + + + + + + +
    void main (void )
    +
    + +

    Definition at line 43 of file old_main.c.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ i

    + +
    +
    + + + + +
    uint16_t i
    +
    + +

    Current in microamperes.

    + +

    Definition at line 37 of file old_main.c.

    + +
    +
    + +

    ◆ offset

    + +
    +
    + + + + +
    uint16_t offset
    +
    + +

    Definition at line 40 of file old_main.c.

    + +
    +
    + +

    ◆ p

    + +
    +
    + + + + +
    uint16_t p
    +
    + +

    Power in microwatts.

    + +

    Definition at line 38 of file old_main.c.

    + +
    +
    + +

    ◆ pwm

    + +
    +
    + + + + +
    uint16_t pwm = 512
    +
    + +

    Definition at line 41 of file old_main.c.

    + +
    +
    + +

    ◆ tmpStr

    + +
    +
    + + + + +
    uint8_t tmpStr[30]
    +
    + +

    Definition at line 35 of file old_main.c.

    + +
    +
    + +

    ◆ u

    + +
    +
    + + + + +
    uint16_t u
    +
    + +

    Voltage in milliovolts.

    + +

    Definition at line 36 of file old_main.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/old__main_8c.js b/html/old__main_8c.js new file mode 100644 index 0000000..1d12f1f --- /dev/null +++ b/html/old__main_8c.js @@ -0,0 +1,12 @@ +var old__main_8c = +[ + [ "_XTAL_FREQ", "old__main_8c.html#a024148e99a7143db044a48216664d03d", null ], + [ "init_hw", "old__main_8c.html#a87bc837a0a25b2ff942aed97e24fab71", null ], + [ "main", "old__main_8c.html#a6288eba0f8e8ad3ab1544ad731eb7667", null ], + [ "i", "old__main_8c.html#a78f7a37dba921e0b0347b960fb40bc51", null ], + [ "offset", "old__main_8c.html#ac681806181c80437cfab37335f62ff39", null ], + [ "p", "old__main_8c.html#a23c949fe0f735254c26b44f263cbf966", null ], + [ "pwm", "old__main_8c.html#a319168d2f969cabd35a4adcc01975c20", null ], + [ "tmpStr", "old__main_8c.html#af0305325a67c9d2daaa2f16da7844fbb", null ], + [ "u", "old__main_8c.html#a7fb78420040368de62747930c749b348", null ] +]; \ No newline at end of file diff --git a/html/old__main_8c_source.html b/html/old__main_8c_source.html new file mode 100644 index 0000000..8f12352 --- /dev/null +++ b/html/old__main_8c_source.html @@ -0,0 +1,165 @@ + + + + + + + +Solar panel: old_main.c Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    old_main.c
    +
    +
    +Go to the documentation of this file.
    1/************************************************************************/
    +
    7#include <xc.h>
    +
    8#include <stdint.h>
    +
    9#include <stdbool.h>
    +
    10#include <stdio.h>
    +
    11
    +
    12#include "lcd/lcd.h"
    +
    13#include "pwm.h"
    +
    14#include "measure.h"
    +
    15#include "modbus.h"
    +
    16#include "uart.h"
    +
    17
    +
    18#define _XTAL_FREQ 64000000L
    +
    22void init_hw()
    +
    23{
    +
    24 OSCCON3 = 0; // runs at 64MHz
    +
    25 LCD_Init(LCD_2x16);
    +
    26 adc_init();
    +
    27 modbus_init(0x80);
    +
    28 pwm_init();
    +
    29 uart_init();
    +
    30 // Interrupts configuration
    +
    31 PEIE = 1;
    +
    32 GIE = 1;
    +
    33}
    +
    34
    +
    35uint8_t tmpStr[30];
    +
    36uint16_t u;
    +
    37uint16_t i;
    +
    38uint16_t p;
    +
    39
    +
    40uint16_t offset;
    +
    41uint16_t pwm = 512;
    +
    42
    +
    43void main(void)
    +
    44{
    +
    45 init_hw();
    +
    46
    +
    47 LCD_2x16_WriteMsg((unsigned char *)"Welcome ! ", 0); // display on line 0
    +
    48 LCD_2x16_WriteMsg((unsigned char *)"*-*-*-*-*-*-*-*-", 1); // display on line 1
    +
    49
    +
    50 // TODO -> complete measure of current offset
    +
    51
    +
    52 while (true) {
    +
    53 // TODO -> complete the main loop
    +
    54 }
    +
    55}
    +
    void adc_init(void)
    Definition: measure.c:16
    +
    Measuring current and voltage from the solar panel.
    +
    void modbus_init(uint8_t address)
    Definition: modbus.c:112
    +
    Modbus serial library.
    +
    uint16_t p
    Power in microwatts.
    Definition: old_main.c:38
    +
    uint16_t pwm
    Definition: old_main.c:41
    +
    void main(void)
    Definition: old_main.c:43
    +
    uint16_t i
    Current in microamperes.
    Definition: old_main.c:37
    +
    uint16_t u
    Voltage in milliovolts.
    Definition: old_main.c:36
    +
    void init_hw()
    Definition: old_main.c:22
    +
    uint16_t offset
    Definition: old_main.c:40
    +
    uint8_t tmpStr[30]
    Definition: old_main.c:35
    + +
    +
    + + + + diff --git a/html/open.png b/html/open.png new file mode 100644 index 0000000000000000000000000000000000000000..686163fc0c5fac97df99264b578357aab4f5989d GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{Vj-D=#Ar*{o?{4I6FyLW1(B1BF z-oR&W;)_To7Zr1j9m{N9rtVMaXQ;ottuQX2Gx!xY VzOY;f?E)Ic;OXk;vd$@?2>>V + + + + + + +Solar panel: mcc_generated_files/pin_manager.c File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    pin_manager.c File Reference
    +
    +
    +
    #include "pin_manager.h"
    +
    +

    Go to the source code of this file.

    + + + + + + +

    +Functions

    void PIN_MANAGER_Initialize (void)
     
    void PIN_MANAGER_IOC (void)
     
    +

    Function Documentation

    + +

    ◆ PIN_MANAGER_Initialize()

    + +
    +
    + + + + + + + + +
    void PIN_MANAGER_Initialize (void )
    +
    +

    Generated Pin Manager File

    +

    Company: Microchip Technology Inc.

    +

    File Name: pin_manager.c

    +

    Summary: This is the Pin Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

    +

    Description: This header file provides implementations for pin APIs for all pins selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.0 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00

    +

    LATx registers

    +

    TRISx registers

    +

    PCFG setting

    + +

    Definition at line 50 of file pin_manager.c.

    + +
    +
    + +

    ◆ PIN_MANAGER_IOC()

    + +
    +
    + + + + + + + + +
    void PIN_MANAGER_IOC (void )
    +
    +

    @Param none @Returns none @Description Interrupt on Change Handling routine @Example PIN_MANAGER_IOC();

    + +

    Definition at line 90 of file pin_manager.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/pin__manager_8c.js b/html/pin__manager_8c.js new file mode 100644 index 0000000..e935e15 --- /dev/null +++ b/html/pin__manager_8c.js @@ -0,0 +1,5 @@ +var pin__manager_8c = +[ + [ "PIN_MANAGER_Initialize", "pin__manager_8c.html#a50357774183a136d9490f64ad0d5c6cb", null ], + [ "PIN_MANAGER_IOC", "pin__manager_8c.html#a6ff320d017cf9b99ba9045f24d7ec896", null ] +]; \ No newline at end of file diff --git a/html/pin__manager_8c_source.html b/html/pin__manager_8c_source.html new file mode 100644 index 0000000..ec630ca --- /dev/null +++ b/html/pin__manager_8c_source.html @@ -0,0 +1,171 @@ + + + + + + + +Solar panel: mcc_generated_files/pin_manager.c Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    pin_manager.c
    +
    +
    +Go to the documentation of this file.
    1
    +
    24/*
    +
    25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
    +
    26
    +
    27 Subject to your compliance with these terms, you may use Microchip software and any
    +
    28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
    +
    29 license terms applicable to your use of third party software (including open source software) that
    +
    30 may accompany Microchip software.
    +
    31
    +
    32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
    +
    33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
    +
    34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
    +
    35 FOR A PARTICULAR PURPOSE.
    +
    36
    +
    37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
    +
    38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
    +
    39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
    +
    40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
    +
    41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
    +
    42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
    +
    43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
    +
    44 SOFTWARE.
    +
    45*/
    +
    46
    +
    47#include "pin_manager.h"
    +
    48
    +
    49
    + +
    51{
    +
    55 LATE = 0x00;
    +
    56 LATJ = 0x00;
    +
    57 LATD = 0x00;
    +
    58 LATA = 0x00;
    +
    59 LATF = 0x00;
    +
    60 LATB = 0x00;
    +
    61 LATG = 0x00;
    +
    62 LATC = 0x00;
    +
    63 LATH = 0x00;
    +
    64
    +
    68 TRISE = 0xFF;
    +
    69 TRISF = 0xFF;
    +
    70 TRISA = 0x3F;
    +
    71 TRISG = 0xFF;
    +
    72 TRISB = 0xFF;
    +
    73 TRISH = 0xFF;
    +
    74 TRISC = 0xBB;
    +
    75 TRISD = 0xFF;
    +
    76 TRISJ = 0xFF;
    +
    77
    +
    81 ADCON1bits.PCFG = 0x00;
    +
    82
    +
    83
    +
    84
    +
    85
    +
    86
    +
    87
    +
    88}
    +
    89
    + +
    91{
    +
    92
    +
    93}
    +
    94
    +
    void PIN_MANAGER_Initialize(void)
    Definition: pin_manager.c:50
    +
    void PIN_MANAGER_IOC(void)
    Definition: pin_manager.c:90
    + +
    +
    + + + + diff --git a/html/pin__manager_8h.html b/html/pin__manager_8h.html new file mode 100644 index 0000000..06e7068 --- /dev/null +++ b/html/pin__manager_8h.html @@ -0,0 +1,1056 @@ + + + + + + + +Solar panel: mcc_generated_files/pin_manager.h File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    pin_manager.h File Reference
    +
    +
    +
    #include <xc.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define INPUT   1
     
    #define OUTPUT   0
     
    #define HIGH   1
     
    #define LOW   0
     
    #define ANALOG   1
     
    #define DIGITAL   0
     
    #define PULL_UP_ENABLED   1
     
    #define PULL_UP_DISABLED   0
     
    #define RC2_SetHigh()   do { LATCbits.LATC2 = 1; } while(0)
     
    #define RC2_SetLow()   do { LATCbits.LATC2 = 0; } while(0)
     
    #define RC2_Toggle()   do { LATCbits.LATC2 = ~LATCbits.LATC2; } while(0)
     
    #define RC2_GetValue()   PORTCbits.RC2
     
    #define RC2_SetDigitalInput()   do { TRISCbits.TRISC2 = 1; } while(0)
     
    #define RC2_SetDigitalOutput()   do { TRISCbits.TRISC2 = 0; } while(0)
     
    #define RC6_SetHigh()   do { LATCbits.LATC6 = 1; } while(0)
     
    #define RC6_SetLow()   do { LATCbits.LATC6 = 0; } while(0)
     
    #define RC6_Toggle()   do { LATCbits.LATC6 = ~LATCbits.LATC6; } while(0)
     
    #define RC6_GetValue()   PORTCbits.RC6
     
    #define RC6_SetDigitalInput()   do { TRISCbits.TRISC6 = 1; } while(0)
     
    #define RC6_SetDigitalOutput()   do { TRISCbits.TRISC6 = 0; } while(0)
     
    #define voltage_TRIS   TRISFbits.TRISF0
     
    #define voltage_LAT   LATFbits.LATF0
     
    #define voltage_PORT   PORTFbits.RF0
     
    #define voltage_ANS   anselRF0bits.anselRF0
     
    #define voltage_SetHigh()   do { LATFbits.LATF0 = 1; } while(0)
     
    #define voltage_SetLow()   do { LATFbits.LATF0 = 0; } while(0)
     
    #define voltage_Toggle()   do { LATFbits.LATF0 = ~LATFbits.LATF0; } while(0)
     
    #define voltage_GetValue()   PORTFbits.RF0
     
    #define voltage_SetDigitalInput()   do { TRISFbits.TRISF0 = 1; } while(0)
     
    #define voltage_SetDigitalOutput()   do { TRISFbits.TRISF0 = 0; } while(0)
     
    #define voltage_SetAnalogMode()   do { anselRF0bits.anselRF0 = 1; } while(0)
     
    #define voltage_SetDigitalMode()   do { anselRF0bits.anselRF0 = 0; } while(0)
     
    #define current_TRIS   TRISFbits.TRISF1
     
    #define current_LAT   LATFbits.LATF1
     
    #define current_PORT   PORTFbits.RF1
     
    #define current_ANS   anselRF1bits.anselRF1
     
    #define current_SetHigh()   do { LATFbits.LATF1 = 1; } while(0)
     
    #define current_SetLow()   do { LATFbits.LATF1 = 0; } while(0)
     
    #define current_Toggle()   do { LATFbits.LATF1 = ~LATFbits.LATF1; } while(0)
     
    #define current_GetValue()   PORTFbits.RF1
     
    #define current_SetDigitalInput()   do { TRISFbits.TRISF1 = 1; } while(0)
     
    #define current_SetDigitalOutput()   do { TRISFbits.TRISF1 = 0; } while(0)
     
    #define current_SetAnalogMode()   do { anselRF1bits.anselRF1 = 1; } while(0)
     
    #define current_SetDigitalMode()   do { anselRF1bits.anselRF1 = 0; } while(0)
     
    + + + + + +

    +Functions

    void PIN_MANAGER_Initialize (void)
     
    void PIN_MANAGER_IOC (void)
     
    +

    Macro Definition Documentation

    + +

    ◆ ANALOG

    + +
    +
    + + + + +
    #define ANALOG   1
    +
    + +

    Definition at line 64 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_ANS

    + +
    +
    + + + + +
    #define current_ANS   anselRF1bits.anselRF1
    +
    + +

    Definition at line 104 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_GetValue

    + +
    +
    + + + + + + + +
    #define current_GetValue()   PORTFbits.RF1
    +
    + +

    Definition at line 108 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_LAT

    + +
    +
    + + + + +
    #define current_LAT   LATFbits.LATF1
    +
    + +

    Definition at line 102 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_PORT

    + +
    +
    + + + + +
    #define current_PORT   PORTFbits.RF1
    +
    + +

    Definition at line 103 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_SetAnalogMode

    + +
    +
    + + + + + + + +
    #define current_SetAnalogMode()   do { anselRF1bits.anselRF1 = 1; } while(0)
    +
    + +

    Definition at line 111 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_SetDigitalInput

    + +
    +
    + + + + + + + +
    #define current_SetDigitalInput()   do { TRISFbits.TRISF1 = 1; } while(0)
    +
    + +

    Definition at line 109 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_SetDigitalMode

    + +
    +
    + + + + + + + +
    #define current_SetDigitalMode()   do { anselRF1bits.anselRF1 = 0; } while(0)
    +
    + +

    Definition at line 112 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_SetDigitalOutput

    + +
    +
    + + + + + + + +
    #define current_SetDigitalOutput()   do { TRISFbits.TRISF1 = 0; } while(0)
    +
    + +

    Definition at line 110 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_SetHigh

    + +
    +
    + + + + + + + +
    #define current_SetHigh()   do { LATFbits.LATF1 = 1; } while(0)
    +
    + +

    Definition at line 105 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_SetLow

    + +
    +
    + + + + + + + +
    #define current_SetLow()   do { LATFbits.LATF1 = 0; } while(0)
    +
    + +

    Definition at line 106 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_Toggle

    + +
    +
    + + + + + + + +
    #define current_Toggle()   do { LATFbits.LATF1 = ~LATFbits.LATF1; } while(0)
    +
    + +

    Definition at line 107 of file pin_manager.h.

    + +
    +
    + +

    ◆ current_TRIS

    + +
    +
    + + + + +
    #define current_TRIS   TRISFbits.TRISF1
    +
    + +

    Definition at line 101 of file pin_manager.h.

    + +
    +
    + +

    ◆ DIGITAL

    + +
    +
    + + + + +
    #define DIGITAL   0
    +
    + +

    Definition at line 65 of file pin_manager.h.

    + +
    +
    + +

    ◆ HIGH

    + +
    +
    + + + + +
    #define HIGH   1
    +
    + +

    Definition at line 61 of file pin_manager.h.

    + +
    +
    + +

    ◆ INPUT

    + +
    +
    + + + + +
    #define INPUT   1
    +
    +

    @Generated Pin Manager Header File

    +

    @Company: Microchip Technology Inc.

    +

    @File Name: pin_manager.h

    +

    @Summary: This is the Pin Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

    +

    @Description: This header file provides implementations for pin APIs for all pins selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Version : 2.0 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00

    +

    Copyright (c) 2013 - 2015 released Microchip Technology Inc. All rights reserved. Section: Included Files

    + +

    Definition at line 58 of file pin_manager.h.

    + +
    +
    + +

    ◆ LOW

    + +
    +
    + + + + +
    #define LOW   0
    +
    + +

    Definition at line 62 of file pin_manager.h.

    + +
    +
    + +

    ◆ OUTPUT

    + +
    +
    + + + + +
    #define OUTPUT   0
    +
    + +

    Definition at line 59 of file pin_manager.h.

    + +
    +
    + +

    ◆ PULL_UP_DISABLED

    + +
    +
    + + + + +
    #define PULL_UP_DISABLED   0
    +
    + +

    Definition at line 68 of file pin_manager.h.

    + +
    +
    + +

    ◆ PULL_UP_ENABLED

    + +
    +
    + + + + +
    #define PULL_UP_ENABLED   1
    +
    + +

    Definition at line 67 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC2_GetValue

    + +
    +
    + + + + + + + +
    #define RC2_GetValue()   PORTCbits.RC2
    +
    + +

    Definition at line 74 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC2_SetDigitalInput

    + +
    +
    + + + + + + + +
    #define RC2_SetDigitalInput()   do { TRISCbits.TRISC2 = 1; } while(0)
    +
    + +

    Definition at line 75 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC2_SetDigitalOutput

    + +
    +
    + + + + + + + +
    #define RC2_SetDigitalOutput()   do { TRISCbits.TRISC2 = 0; } while(0)
    +
    + +

    Definition at line 76 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC2_SetHigh

    + +
    +
    + + + + + + + +
    #define RC2_SetHigh()   do { LATCbits.LATC2 = 1; } while(0)
    +
    + +

    Definition at line 71 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC2_SetLow

    + +
    +
    + + + + + + + +
    #define RC2_SetLow()   do { LATCbits.LATC2 = 0; } while(0)
    +
    + +

    Definition at line 72 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC2_Toggle

    + +
    +
    + + + + + + + +
    #define RC2_Toggle()   do { LATCbits.LATC2 = ~LATCbits.LATC2; } while(0)
    +
    + +

    Definition at line 73 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC6_GetValue

    + +
    +
    + + + + + + + +
    #define RC6_GetValue()   PORTCbits.RC6
    +
    + +

    Definition at line 82 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC6_SetDigitalInput

    + +
    +
    + + + + + + + +
    #define RC6_SetDigitalInput()   do { TRISCbits.TRISC6 = 1; } while(0)
    +
    + +

    Definition at line 83 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC6_SetDigitalOutput

    + +
    +
    + + + + + + + +
    #define RC6_SetDigitalOutput()   do { TRISCbits.TRISC6 = 0; } while(0)
    +
    + +

    Definition at line 84 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC6_SetHigh

    + +
    +
    + + + + + + + +
    #define RC6_SetHigh()   do { LATCbits.LATC6 = 1; } while(0)
    +
    + +

    Definition at line 79 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC6_SetLow

    + +
    +
    + + + + + + + +
    #define RC6_SetLow()   do { LATCbits.LATC6 = 0; } while(0)
    +
    + +

    Definition at line 80 of file pin_manager.h.

    + +
    +
    + +

    ◆ RC6_Toggle

    + +
    +
    + + + + + + + +
    #define RC6_Toggle()   do { LATCbits.LATC6 = ~LATCbits.LATC6; } while(0)
    +
    + +

    Definition at line 81 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_ANS

    + +
    +
    + + + + +
    #define voltage_ANS   anselRF0bits.anselRF0
    +
    + +

    Definition at line 90 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_GetValue

    + +
    +
    + + + + + + + +
    #define voltage_GetValue()   PORTFbits.RF0
    +
    + +

    Definition at line 94 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_LAT

    + +
    +
    + + + + +
    #define voltage_LAT   LATFbits.LATF0
    +
    + +

    Definition at line 88 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_PORT

    + +
    +
    + + + + +
    #define voltage_PORT   PORTFbits.RF0
    +
    + +

    Definition at line 89 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_SetAnalogMode

    + +
    +
    + + + + + + + +
    #define voltage_SetAnalogMode()   do { anselRF0bits.anselRF0 = 1; } while(0)
    +
    + +

    Definition at line 97 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_SetDigitalInput

    + +
    +
    + + + + + + + +
    #define voltage_SetDigitalInput()   do { TRISFbits.TRISF0 = 1; } while(0)
    +
    + +

    Definition at line 95 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_SetDigitalMode

    + +
    +
    + + + + + + + +
    #define voltage_SetDigitalMode()   do { anselRF0bits.anselRF0 = 0; } while(0)
    +
    + +

    Definition at line 98 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_SetDigitalOutput

    + +
    +
    + + + + + + + +
    #define voltage_SetDigitalOutput()   do { TRISFbits.TRISF0 = 0; } while(0)
    +
    + +

    Definition at line 96 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_SetHigh

    + +
    +
    + + + + + + + +
    #define voltage_SetHigh()   do { LATFbits.LATF0 = 1; } while(0)
    +
    + +

    Definition at line 91 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_SetLow

    + +
    +
    + + + + + + + +
    #define voltage_SetLow()   do { LATFbits.LATF0 = 0; } while(0)
    +
    + +

    Definition at line 92 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_Toggle

    + +
    +
    + + + + + + + +
    #define voltage_Toggle()   do { LATFbits.LATF0 = ~LATFbits.LATF0; } while(0)
    +
    + +

    Definition at line 93 of file pin_manager.h.

    + +
    +
    + +

    ◆ voltage_TRIS

    + +
    +
    + + + + +
    #define voltage_TRIS   TRISFbits.TRISF0
    +
    + +

    Definition at line 87 of file pin_manager.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ PIN_MANAGER_Initialize()

    + +
    +
    + + + + + + + + +
    void PIN_MANAGER_Initialize (void )
    +
    +

    @Param none @Returns none @Description GPIO and peripheral I/O initialization @Example PIN_MANAGER_Initialize();

    +

    Generated Pin Manager File

    +

    Company: Microchip Technology Inc.

    +

    File Name: pin_manager.c

    +

    Summary: This is the Pin Manager file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs

    +

    Description: This header file provides implementations for pin APIs for all pins selected in the GUI. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.0 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00

    +

    LATx registers

    +

    TRISx registers

    +

    PCFG setting

    + +

    Definition at line 50 of file pin_manager.c.

    + +
    +
    + +

    ◆ PIN_MANAGER_IOC()

    + +
    +
    + + + + + + + + +
    void PIN_MANAGER_IOC (void )
    +
    +

    @Param none @Returns none @Description Interrupt on Change Handling routine @Example PIN_MANAGER_IOC();

    + +

    Definition at line 90 of file pin_manager.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/pin__manager_8h.js b/html/pin__manager_8h.js new file mode 100644 index 0000000..9bf475a --- /dev/null +++ b/html/pin__manager_8h.js @@ -0,0 +1,49 @@ +var pin__manager_8h = +[ + [ "ANALOG", "pin__manager_8h.html#ad42aa2404559d4a465d5d45e857f2881", null ], + [ "current_ANS", "pin__manager_8h.html#ae420d51b624ff55a8852fc997333a818", null ], + [ "current_GetValue", "pin__manager_8h.html#aae40640212c4ea50ea6652b4eadf66a9", null ], + [ "current_LAT", "pin__manager_8h.html#a34f33f39f1021e79ec6381b078967a65", null ], + [ "current_PORT", "pin__manager_8h.html#a363c936a9450bcfc3a4c207d91fa8141", null ], + [ "current_SetAnalogMode", "pin__manager_8h.html#a2657cd34f8719213e1dea19c91fdb00b", null ], + [ "current_SetDigitalInput", "pin__manager_8h.html#a0d5c61def0910839db51c4f597cd15d1", null ], + [ "current_SetDigitalMode", "pin__manager_8h.html#a665b890f11e57bb6d9aaca8283a66be6", null ], + [ "current_SetDigitalOutput", "pin__manager_8h.html#ae46b1f6ff49f798e11bde41a3a330d7f", null ], + [ "current_SetHigh", "pin__manager_8h.html#a4d2780c35d54736b364e6a28bdac2d80", null ], + [ "current_SetLow", "pin__manager_8h.html#a44aad0bc0e5c86c4a107eda2dd1238bf", null ], + [ "current_Toggle", "pin__manager_8h.html#a5c167a84f1bc1c9e797d0014dec67ee6", null ], + [ "current_TRIS", "pin__manager_8h.html#a2d0fea51f26d75e76c065199dce050bc", null ], + [ "DIGITAL", "pin__manager_8h.html#a5e3f0ed2799c1275891b863e4b8c89eb", null ], + [ "HIGH", "pin__manager_8h.html#a5bb885982ff66a2e0a0a45a8ee9c35e2", null ], + [ "INPUT", "pin__manager_8h.html#a1bb283bd7893b9855e2f23013891fc82", null ], + [ "LOW", "pin__manager_8h.html#ab811d8c6ff3a505312d3276590444289", null ], + [ "OUTPUT", "pin__manager_8h.html#a61a3c9a18380aafb6e430e79bf596557", null ], + [ "PULL_UP_DISABLED", "pin__manager_8h.html#aa2df433ea6e6c6cd49babd945e27315e", null ], + [ "PULL_UP_ENABLED", "pin__manager_8h.html#a2556d56311dd94f5834ef8fb4e6d875d", null ], + [ "RC2_GetValue", "pin__manager_8h.html#affaf9ed86b070edaeb74f56731324f9a", null ], + [ "RC2_SetDigitalInput", "pin__manager_8h.html#a2853d0aa2258a6b70bfae5b1e3a8e5f5", null ], + [ "RC2_SetDigitalOutput", "pin__manager_8h.html#af5c3a99cae06ec6e93326b1c4b375829", null ], + [ "RC2_SetHigh", "pin__manager_8h.html#a13409aed95071c7b459c3e05bfc03ad6", null ], + [ "RC2_SetLow", "pin__manager_8h.html#af79fe0790c400d367d90aca91f1d4ebe", null ], + [ "RC2_Toggle", "pin__manager_8h.html#a8c82f584c1c15d493ea6d9298e3e163b", null ], + [ "RC6_GetValue", "pin__manager_8h.html#aabc04f997eee87063968bcfe13577f5b", null ], + [ "RC6_SetDigitalInput", "pin__manager_8h.html#a89bc856d0077a504b2b7b7fae0906980", null ], + [ "RC6_SetDigitalOutput", "pin__manager_8h.html#a0bea4d663298f48fb48066417386ae45", null ], + [ "RC6_SetHigh", "pin__manager_8h.html#a67ba466a3baf30d3a707c345f1eff2f9", null ], + [ "RC6_SetLow", "pin__manager_8h.html#af2ee1c24573dd14e8fbcfadbce9267d9", null ], + [ "RC6_Toggle", "pin__manager_8h.html#a6c30c790d388a78216ea6b9cdea4008b", null ], + [ "voltage_ANS", "pin__manager_8h.html#ae992f842af5f08c312c22ebaaf947836", null ], + [ "voltage_GetValue", "pin__manager_8h.html#ad70e7e315d90cb87798d9b6f525fcf3e", null ], + [ "voltage_LAT", "pin__manager_8h.html#a08b61c498053fec7834331b6fdd11322", null ], + [ "voltage_PORT", "pin__manager_8h.html#a033f2bd8f6d2561a2e6b5f9592e0cf2f", null ], + [ "voltage_SetAnalogMode", "pin__manager_8h.html#afed829eb75c303170cd851c1a453b8fc", null ], + [ "voltage_SetDigitalInput", "pin__manager_8h.html#a323b395df28470c9fbb9b1c413eb9ed3", null ], + [ "voltage_SetDigitalMode", "pin__manager_8h.html#ac1f5f4e118f4c20b17872847cfe629af", null ], + [ "voltage_SetDigitalOutput", "pin__manager_8h.html#a22e8068a7d8857cf5b50b42c5e4d2864", null ], + [ "voltage_SetHigh", "pin__manager_8h.html#aecb75602146d0dd0e89ed98bc3214f7c", null ], + [ "voltage_SetLow", "pin__manager_8h.html#a85c55dcd649c5ed9aac0d4a619689fcd", null ], + [ "voltage_Toggle", "pin__manager_8h.html#ac289a0300c973c6e6c843dc6f9d75e38", null ], + [ "voltage_TRIS", "pin__manager_8h.html#a07dd1e025132eb2fd63219522a93fa0c", null ], + [ "PIN_MANAGER_Initialize", "pin__manager_8h.html#a50357774183a136d9490f64ad0d5c6cb", null ], + [ "PIN_MANAGER_IOC", "pin__manager_8h.html#a6ff320d017cf9b99ba9045f24d7ec896", null ] +]; \ No newline at end of file diff --git a/html/pin__manager_8h_source.html b/html/pin__manager_8h_source.html new file mode 100644 index 0000000..11d8350 --- /dev/null +++ b/html/pin__manager_8h_source.html @@ -0,0 +1,200 @@ + + + + + + + +Solar panel: mcc_generated_files/pin_manager.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    pin_manager.h
    +
    +
    +Go to the documentation of this file.
    1
    +
    26/*
    +
    27 (c) 2018 Microchip Technology Inc. and its subsidiaries.
    +
    28
    +
    29 Subject to your compliance with these terms, you may use Microchip software and any
    +
    30 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
    +
    31 license terms applicable to your use of third party software (including open source software) that
    +
    32 may accompany Microchip software.
    +
    33
    +
    34 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
    +
    35 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
    +
    36 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
    +
    37 FOR A PARTICULAR PURPOSE.
    +
    38
    +
    39 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
    +
    40 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
    +
    41 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
    +
    42 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
    +
    43 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
    +
    44 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
    +
    45 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
    +
    46 SOFTWARE.
    +
    47*/
    +
    48
    +
    49#ifndef PIN_MANAGER_H
    +
    50#define PIN_MANAGER_H
    +
    51
    +
    56#include <xc.h>
    +
    57
    +
    58#define INPUT 1
    +
    59#define OUTPUT 0
    +
    60
    +
    61#define HIGH 1
    +
    62#define LOW 0
    +
    63
    +
    64#define ANALOG 1
    +
    65#define DIGITAL 0
    +
    66
    +
    67#define PULL_UP_ENABLED 1
    +
    68#define PULL_UP_DISABLED 0
    +
    69
    +
    70// get/set RC2 procedures
    +
    71#define RC2_SetHigh() do { LATCbits.LATC2 = 1; } while(0)
    +
    72#define RC2_SetLow() do { LATCbits.LATC2 = 0; } while(0)
    +
    73#define RC2_Toggle() do { LATCbits.LATC2 = ~LATCbits.LATC2; } while(0)
    +
    74#define RC2_GetValue() PORTCbits.RC2
    +
    75#define RC2_SetDigitalInput() do { TRISCbits.TRISC2 = 1; } while(0)
    +
    76#define RC2_SetDigitalOutput() do { TRISCbits.TRISC2 = 0; } while(0)
    +
    77
    +
    78// get/set RC6 procedures
    +
    79#define RC6_SetHigh() do { LATCbits.LATC6 = 1; } while(0)
    +
    80#define RC6_SetLow() do { LATCbits.LATC6 = 0; } while(0)
    +
    81#define RC6_Toggle() do { LATCbits.LATC6 = ~LATCbits.LATC6; } while(0)
    +
    82#define RC6_GetValue() PORTCbits.RC6
    +
    83#define RC6_SetDigitalInput() do { TRISCbits.TRISC6 = 1; } while(0)
    +
    84#define RC6_SetDigitalOutput() do { TRISCbits.TRISC6 = 0; } while(0)
    +
    85
    +
    86// get/set voltage aliases
    +
    87#define voltage_TRIS TRISFbits.TRISF0
    +
    88#define voltage_LAT LATFbits.LATF0
    +
    89#define voltage_PORT PORTFbits.RF0
    +
    90#define voltage_ANS anselRF0bits.anselRF0
    +
    91#define voltage_SetHigh() do { LATFbits.LATF0 = 1; } while(0)
    +
    92#define voltage_SetLow() do { LATFbits.LATF0 = 0; } while(0)
    +
    93#define voltage_Toggle() do { LATFbits.LATF0 = ~LATFbits.LATF0; } while(0)
    +
    94#define voltage_GetValue() PORTFbits.RF0
    +
    95#define voltage_SetDigitalInput() do { TRISFbits.TRISF0 = 1; } while(0)
    +
    96#define voltage_SetDigitalOutput() do { TRISFbits.TRISF0 = 0; } while(0)
    +
    97#define voltage_SetAnalogMode() do { anselRF0bits.anselRF0 = 1; } while(0)
    +
    98#define voltage_SetDigitalMode() do { anselRF0bits.anselRF0 = 0; } while(0)
    +
    99
    +
    100// get/set current aliases
    +
    101#define current_TRIS TRISFbits.TRISF1
    +
    102#define current_LAT LATFbits.LATF1
    +
    103#define current_PORT PORTFbits.RF1
    +
    104#define current_ANS anselRF1bits.anselRF1
    +
    105#define current_SetHigh() do { LATFbits.LATF1 = 1; } while(0)
    +
    106#define current_SetLow() do { LATFbits.LATF1 = 0; } while(0)
    +
    107#define current_Toggle() do { LATFbits.LATF1 = ~LATFbits.LATF1; } while(0)
    +
    108#define current_GetValue() PORTFbits.RF1
    +
    109#define current_SetDigitalInput() do { TRISFbits.TRISF1 = 1; } while(0)
    +
    110#define current_SetDigitalOutput() do { TRISFbits.TRISF1 = 0; } while(0)
    +
    111#define current_SetAnalogMode() do { anselRF1bits.anselRF1 = 1; } while(0)
    +
    112#define current_SetDigitalMode() do { anselRF1bits.anselRF1 = 0; } while(0)
    +
    113
    +
    114
    +
    125void PIN_MANAGER_Initialize (void);
    +
    126
    +
    137void PIN_MANAGER_IOC(void);
    +
    138
    +
    139
    +
    140
    +
    141#endif // PIN_MANAGER_H
    +
    void PIN_MANAGER_Initialize(void)
    Definition: pin_manager.c:50
    +
    void PIN_MANAGER_IOC(void)
    Definition: pin_manager.c:90
    +
    +
    + + + + diff --git a/html/production_2crc_8p1_8d.html b/html/production_2crc_8p1_8d.html new file mode 100644 index 0000000..7976da4 --- /dev/null +++ b/html/production_2crc_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/crc.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    crc.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2crc_8p1_8d_source.html b/html/production_2crc_8p1_8d_source.html new file mode 100644 index 0000000..fb1f30a --- /dev/null +++ b/html/production_2crc_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/production/crc.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    crc.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/crc.p1: \
    +
    2crc.c \
    +
    3crc.h
    +
    +
    + + + + diff --git a/html/production_2doprnt_8d.html b/html/production_2doprnt_8d.html new file mode 100644 index 0000000..8c09f01 --- /dev/null +++ b/html/production_2doprnt_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: dist/default/production/doprnt.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    doprnt.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2doprnt_8d_source.html b/html/production_2doprnt_8d_source.html new file mode 100644 index 0000000..81dc37d --- /dev/null +++ b/html/production_2doprnt_8d_source.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: dist/default/production/doprnt.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    doprnt.d
    +
    +
    +Go to the documentation of this file.
    1dist/default/production\doprnt.p1: \
    +
    2 C:\Program\ Files\Microchip\xc8\v2.40\pic\sources\c99\common\doprnt.c
    +
    +
    + + + + diff --git a/html/production_2lcd_2lcd_8p1_8d.html b/html/production_2lcd_2lcd_8p1_8d.html new file mode 100644 index 0000000..c2fa5ed --- /dev/null +++ b/html/production_2lcd_2lcd_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/lcd/lcd.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    lcd.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2lcd_2lcd_8p1_8d_source.html b/html/production_2lcd_2lcd_8p1_8d_source.html new file mode 100644 index 0000000..c405794 --- /dev/null +++ b/html/production_2lcd_2lcd_8p1_8d_source.html @@ -0,0 +1,109 @@ + + + + + + + +Solar panel: build/default/production/lcd/lcd.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    lcd.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/lcd/lcd.p1: \
    +
    2lcd/lcd.c \
    +
    3lcd/lcd.h \
    +
    4lcd/ssd1963_cmd.h
    +
    +
    + + + + diff --git a/html/production_2main_8p1_8d.html b/html/production_2main_8p1_8d.html new file mode 100644 index 0000000..4c62952 --- /dev/null +++ b/html/production_2main_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/main.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    main.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2main_8p1_8d_source.html b/html/production_2main_8p1_8d_source.html new file mode 100644 index 0000000..96b8577 --- /dev/null +++ b/html/production_2main_8p1_8d_source.html @@ -0,0 +1,120 @@ + + + + + + + +Solar panel: build/default/production/main.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    main.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/main.p1: \
    +
    2main.c \
    +
    3mcc_generated_files/mcc.h \
    +
    4mcc_generated_files/device_config.h \
    +
    5mcc_generated_files/pin_manager.h \
    +
    6mcc_generated_files/interrupt_manager.h \
    +
    7mcc_generated_files/epwm1.h \
    +
    8mcc_generated_files/tmr2.h \
    +
    9mcc_generated_files/adc.h \
    +
    10mcc_generated_files/tmr0.h \
    +
    11mcc_generated_files/eusart1.h \
    +
    12lcd/lcd.h \
    +
    13measure.h \
    +
    14modbus.h
    +
    void main(void)
    Definition: main.c:18
    +
    +
    + + + + diff --git a/html/production_2mcc__generated__files_2adc_8p1_8d.html b/html/production_2mcc__generated__files_2adc_8p1_8d.html new file mode 100644 index 0000000..4b7e79b --- /dev/null +++ b/html/production_2mcc__generated__files_2adc_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/adc.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    adc.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2mcc__generated__files_2adc_8p1_8d_source.html b/html/production_2mcc__generated__files_2adc_8p1_8d_source.html new file mode 100644 index 0000000..4c0e68d --- /dev/null +++ b/html/production_2mcc__generated__files_2adc_8p1_8d_source.html @@ -0,0 +1,109 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/adc.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    adc.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/mcc_generated_files/adc.p1: \
    +
    2mcc_generated_files/adc.c \
    +
    3mcc_generated_files/adc.h \
    +
    4mcc_generated_files/device_config.h
    +
    +
    + + + + diff --git a/html/production_2mcc__generated__files_2device__config_8p1_8d.html b/html/production_2mcc__generated__files_2device__config_8p1_8d.html new file mode 100644 index 0000000..fb6d44e --- /dev/null +++ b/html/production_2mcc__generated__files_2device__config_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/device_config.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    device_config.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2mcc__generated__files_2device__config_8p1_8d_source.html b/html/production_2mcc__generated__files_2device__config_8p1_8d_source.html new file mode 100644 index 0000000..195d610 --- /dev/null +++ b/html/production_2mcc__generated__files_2device__config_8p1_8d_source.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/device_config.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    device_config.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/mcc_generated_files/device_config.p1: \
    +
    2mcc_generated_files/device_config.c
    +
    +
    + + + + diff --git a/html/production_2mcc__generated__files_2epwm1_8p1_8d.html b/html/production_2mcc__generated__files_2epwm1_8p1_8d.html new file mode 100644 index 0000000..94e9230 --- /dev/null +++ b/html/production_2mcc__generated__files_2epwm1_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/epwm1.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    epwm1.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2mcc__generated__files_2epwm1_8p1_8d_source.html b/html/production_2mcc__generated__files_2epwm1_8p1_8d_source.html new file mode 100644 index 0000000..191527f --- /dev/null +++ b/html/production_2mcc__generated__files_2epwm1_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/epwm1.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    epwm1.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/mcc_generated_files/epwm1.p1: \
    +
    2mcc_generated_files/epwm1.c \
    +
    3mcc_generated_files/epwm1.h
    +
    +
    + + + + diff --git a/html/production_2mcc__generated__files_2eusart1_8p1_8d.html b/html/production_2mcc__generated__files_2eusart1_8p1_8d.html new file mode 100644 index 0000000..69ea41f --- /dev/null +++ b/html/production_2mcc__generated__files_2eusart1_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/eusart1.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    eusart1.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2mcc__generated__files_2eusart1_8p1_8d_source.html b/html/production_2mcc__generated__files_2eusart1_8p1_8d_source.html new file mode 100644 index 0000000..451972e --- /dev/null +++ b/html/production_2mcc__generated__files_2eusart1_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/eusart1.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    eusart1.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/mcc_generated_files/eusart1.p1: \
    +
    2mcc_generated_files/eusart1.c \
    +
    3mcc_generated_files/eusart1.h
    +
    +
    + + + + diff --git a/html/production_2mcc__generated__files_2interrupt__manager_8p1_8d.html b/html/production_2mcc__generated__files_2interrupt__manager_8p1_8d.html new file mode 100644 index 0000000..c9c77d6 --- /dev/null +++ b/html/production_2mcc__generated__files_2interrupt__manager_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/interrupt_manager.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    interrupt_manager.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2mcc__generated__files_2interrupt__manager_8p1_8d_source.html b/html/production_2mcc__generated__files_2interrupt__manager_8p1_8d_source.html new file mode 100644 index 0000000..10b3733 --- /dev/null +++ b/html/production_2mcc__generated__files_2interrupt__manager_8p1_8d_source.html @@ -0,0 +1,116 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/interrupt_manager.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    interrupt_manager.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/mcc_generated_files/interrupt_manager.p1: \
    +
    2mcc_generated_files/interrupt_manager.c \
    +
    3mcc_generated_files/interrupt_manager.h \
    +
    4mcc_generated_files/mcc.h \
    +
    5mcc_generated_files/device_config.h \
    +
    6mcc_generated_files/pin_manager.h \
    +
    7mcc_generated_files/epwm1.h \
    +
    8mcc_generated_files/tmr2.h \
    +
    9mcc_generated_files/adc.h \
    +
    10mcc_generated_files/tmr0.h \
    +
    11mcc_generated_files/eusart1.h
    +
    +
    + + + + diff --git a/html/production_2mcc__generated__files_2mcc_8p1_8d.html b/html/production_2mcc__generated__files_2mcc_8p1_8d.html new file mode 100644 index 0000000..e93bfdb --- /dev/null +++ b/html/production_2mcc__generated__files_2mcc_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/mcc.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    mcc.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2mcc__generated__files_2mcc_8p1_8d_source.html b/html/production_2mcc__generated__files_2mcc_8p1_8d_source.html new file mode 100644 index 0000000..f51d53b --- /dev/null +++ b/html/production_2mcc__generated__files_2mcc_8p1_8d_source.html @@ -0,0 +1,116 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/mcc.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    mcc.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/mcc_generated_files/mcc.p1: \
    +
    2mcc_generated_files/mcc.c \
    +
    3mcc_generated_files/mcc.h \
    +
    4mcc_generated_files/device_config.h \
    +
    5mcc_generated_files/pin_manager.h \
    +
    6mcc_generated_files/interrupt_manager.h \
    +
    7mcc_generated_files/epwm1.h \
    +
    8mcc_generated_files/tmr2.h \
    +
    9mcc_generated_files/adc.h \
    +
    10mcc_generated_files/tmr0.h \
    +
    11mcc_generated_files/eusart1.h
    +
    +
    + + + + diff --git a/html/production_2mcc__generated__files_2pin__manager_8p1_8d.html b/html/production_2mcc__generated__files_2pin__manager_8p1_8d.html new file mode 100644 index 0000000..e5c396c --- /dev/null +++ b/html/production_2mcc__generated__files_2pin__manager_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/pin_manager.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    pin_manager.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2mcc__generated__files_2pin__manager_8p1_8d_source.html b/html/production_2mcc__generated__files_2pin__manager_8p1_8d_source.html new file mode 100644 index 0000000..4874bb9 --- /dev/null +++ b/html/production_2mcc__generated__files_2pin__manager_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/pin_manager.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    pin_manager.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/mcc_generated_files/pin_manager.p1: \
    +
    2mcc_generated_files/pin_manager.c \
    +
    3mcc_generated_files/pin_manager.h
    +
    +
    + + + + diff --git a/html/production_2mcc__generated__files_2tmr0_8p1_8d.html b/html/production_2mcc__generated__files_2tmr0_8p1_8d.html new file mode 100644 index 0000000..8096a42 --- /dev/null +++ b/html/production_2mcc__generated__files_2tmr0_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/tmr0.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tmr0.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2mcc__generated__files_2tmr0_8p1_8d_source.html b/html/production_2mcc__generated__files_2tmr0_8p1_8d_source.html new file mode 100644 index 0000000..469c5ab --- /dev/null +++ b/html/production_2mcc__generated__files_2tmr0_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/tmr0.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tmr0.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/mcc_generated_files/tmr0.p1: \
    +
    2mcc_generated_files/tmr0.c \
    +
    3mcc_generated_files/tmr0.h
    +
    +
    + + + + diff --git a/html/production_2mcc__generated__files_2tmr2_8p1_8d.html b/html/production_2mcc__generated__files_2tmr2_8p1_8d.html new file mode 100644 index 0000000..4c28baa --- /dev/null +++ b/html/production_2mcc__generated__files_2tmr2_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/tmr2.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tmr2.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2mcc__generated__files_2tmr2_8p1_8d_source.html b/html/production_2mcc__generated__files_2tmr2_8p1_8d_source.html new file mode 100644 index 0000000..64e91ce --- /dev/null +++ b/html/production_2mcc__generated__files_2tmr2_8p1_8d_source.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: build/default/production/mcc_generated_files/tmr2.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tmr2.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/mcc_generated_files/tmr2.p1: \
    +
    2mcc_generated_files/tmr2.c \
    +
    3mcc_generated_files/tmr2.h
    +
    +
    + + + + diff --git a/html/production_2measure_8p1_8d.html b/html/production_2measure_8p1_8d.html new file mode 100644 index 0000000..554e662 --- /dev/null +++ b/html/production_2measure_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/measure.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    measure.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2measure_8p1_8d_source.html b/html/production_2measure_8p1_8d_source.html new file mode 100644 index 0000000..f51fee8 --- /dev/null +++ b/html/production_2measure_8p1_8d_source.html @@ -0,0 +1,117 @@ + + + + + + + +Solar panel: build/default/production/measure.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    measure.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/measure.p1: \
    +
    2measure.c \
    +
    3measure.h \
    +
    4mcc_generated_files/mcc.h \
    +
    5mcc_generated_files/device_config.h \
    +
    6mcc_generated_files/pin_manager.h \
    +
    7mcc_generated_files/interrupt_manager.h \
    +
    8mcc_generated_files/epwm1.h \
    +
    9mcc_generated_files/tmr2.h \
    +
    10mcc_generated_files/adc.h \
    +
    11mcc_generated_files/tmr0.h \
    +
    12mcc_generated_files/eusart1.h
    +
    +
    + + + + diff --git a/html/production_2modbus_8p1_8d.html b/html/production_2modbus_8p1_8d.html new file mode 100644 index 0000000..b75b4ff --- /dev/null +++ b/html/production_2modbus_8p1_8d.html @@ -0,0 +1,107 @@ + + + + + + + +Solar panel: build/default/production/modbus.p1.d File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    modbus.p1.d File Reference
    +
    + +
    + + + + diff --git a/html/production_2modbus_8p1_8d_source.html b/html/production_2modbus_8p1_8d_source.html new file mode 100644 index 0000000..191e83e --- /dev/null +++ b/html/production_2modbus_8p1_8d_source.html @@ -0,0 +1,119 @@ + + + + + + + +Solar panel: build/default/production/modbus.p1.d Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    modbus.p1.d
    +
    +
    +Go to the documentation of this file.
    1build/default/production/modbus.p1: \
    +
    2modbus.c \
    +
    3modbus.h \
    +
    4crc.h \
    +
    5uart.h \
    +
    6mcc_generated_files/mcc.h \
    +
    7mcc_generated_files/device_config.h \
    +
    8mcc_generated_files/pin_manager.h \
    +
    9mcc_generated_files/interrupt_manager.h \
    +
    10mcc_generated_files/epwm1.h \
    +
    11mcc_generated_files/tmr2.h \
    +
    12mcc_generated_files/adc.h \
    +
    13mcc_generated_files/tmr0.h \
    +
    14mcc_generated_files/eusart1.h
    +
    +
    + + + + diff --git a/html/resize.js b/html/resize.js new file mode 100644 index 0000000..aaeb6fc --- /dev/null +++ b/html/resize.js @@ -0,0 +1,155 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +var once=1; +function initResizable() +{ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header,barWidth=6,desktop_vp=768,titleHeight; + + function readSetting(cookie) + { + if (window.chrome) { + var val = localStorage.getItem(cookie_namespace+'_width'); + if (val) return val; + } else { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + } + return 250; + } + + function writeSetting(cookie, val) + { + if (window.chrome) { + localStorage.setItem(cookie_namespace+"_width",val); + } else { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; SameSite=Lax; expires=" + expiration+"; path=/"; + } + } + + function resizeWidth() + { + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + if (typeof page_layout!=='undefined' && page_layout==1) { + footer.css({marginLeft:parseInt(sidenavWidth)+"px"}); + } + writeSetting('width',sidenavWidth-barWidth); + } + + function restoreWidth(navWidth) + { + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + if (typeof page_layout!=='undefined' && page_layout==1) { + footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + } + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height(); + var contentHeight,navtreeHeight,sideNavHeight; + if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */ + contentHeight = windowHeight - headerHeight - footerHeight; + navtreeHeight = contentHeight; + sideNavHeight = contentHeight; + } else if (page_layout==1) { /* DISABLE_INDEX=YES */ + contentHeight = windowHeight - footerHeight; + navtreeHeight = windowHeight - headerHeight; + sideNavHeight = windowHeight; + } + content.css({height:contentHeight + "px"}); + navtree.css({height:navtreeHeight + "px"}); + sidenav.css({height:sideNavHeight + "px"}); + if (location.hash.slice(1)) { + (document.getElementById(location.hash.slice(1))||document.body).scrollIntoView(); + } + } + + function collapseExpand() + { + var newWidth; + if (sidenav.width()>0) { + newWidth=0; + } + else { + var width = readSetting('width'); + newWidth = (width>250 && width<$(window).width()) ? width : 250; + } + restoreWidth(newWidth); + var sidenavWidth = $(sidenav).outerWidth(); + writeSetting('width',sidenavWidth-barWidth); + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readSetting('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + if (once) { + $(".ui-resizable-handle").dblclick(collapseExpand); + once=0 + } + $(window).on('load',resizeHeight); +} +/* @license-end */ diff --git a/html/search/all_0.js b/html/search/all_0.js new file mode 100644 index 0000000..441ff80 --- /dev/null +++ b/html/search/all_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_5f_5finterrupt_0',['__interrupt',['../interrupt__manager_8c.html#a703db4fffea50c48ff3c430fb1daa6b7',1,'interrupt_manager.c']]], + ['_5fxtal_5ffreq_1',['_XTAL_FREQ',['../device__config_8h.html#a024148e99a7143db044a48216664d03d',1,'_XTAL_FREQ(): device_config.h'],['../lcd_8c.html#a024148e99a7143db044a48216664d03d',1,'_XTAL_FREQ(): lcd.c']]] +]; diff --git a/html/search/all_1.js b/html/search/all_1.js new file mode 100644 index 0000000..7e797dd --- /dev/null +++ b/html/search/all_1.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['adc_2ec_0',['adc.c',['../adc_8c.html',1,'']]], + ['adc_2eh_1',['adc.h',['../adc_8h.html',1,'']]], + ['adc_5fchannel_5ft_2',['adc_channel_t',['../adc_8h.html#aafc4060027875f8fe46242b0656d7814',1,'adc.h']]], + ['adc_5fgetconversion_3',['ADC_GetConversion',['../adc_8c.html#a81501f9b96aa9bb8dbe63b49d0f8e909',1,'ADC_GetConversion(adc_channel_t channel): adc.c'],['../adc_8h.html#a81501f9b96aa9bb8dbe63b49d0f8e909',1,'ADC_GetConversion(adc_channel_t channel): adc.c']]], + ['adc_5fgetconversionresult_4',['ADC_GetConversionResult',['../adc_8c.html#a9650956bd92194e1b9f0bfd5bb2d73dd',1,'ADC_GetConversionResult(void): adc.c'],['../adc_8h.html#a9650956bd92194e1b9f0bfd5bb2d73dd',1,'ADC_GetConversionResult(void): adc.c']]], + ['adc_5finit_5',['adc_init',['../measure_8c.html#a2b815e6730e8723a6d1d06d9ef8f31c0',1,'adc_init(void): measure.c'],['../measure_8h.html#a2b815e6730e8723a6d1d06d9ef8f31c0',1,'adc_init(void): measure.c']]], + ['adc_5finitialize_6',['ADC_Initialize',['../adc_8c.html#ab0e0ea1662a8e789547210a2d33127e1',1,'ADC_Initialize(void): adc.c'],['../adc_8h.html#ab0e0ea1662a8e789547210a2d33127e1',1,'ADC_Initialize(void): adc.c']]], + ['adc_5finterrupthandler_7',['ADC_InterruptHandler',['../adc_8c.html#afd07ad436449919718eb6b73351335f6',1,'adc.c']]], + ['adc_5fisconversiondone_8',['ADC_IsConversionDone',['../adc_8h.html#ad5c10c1709aeacf08e783c3ea174463b',1,'ADC_IsConversionDone(void): adc.c'],['../adc_8c.html#ad5c10c1709aeacf08e783c3ea174463b',1,'ADC_IsConversionDone(void): adc.c']]], + ['adc_5frefh_9',['ADC_REFH',['../measure_8c.html#a0d196150332c5bf12bb9684b0f1cc975',1,'measure.c']]], + ['adc_5fresolution_10',['ADC_RESOLUTION',['../measure_8c.html#a00978ca9e8220475258dcbbbb7d29129',1,'measure.c']]], + ['adc_5fresult_5ft_11',['adc_result_t',['../adc_8h.html#ac5362ae65441a5027b4b9b1bf1b573aa',1,'adc.h']]], + ['adc_5fselectchannel_12',['ADC_SelectChannel',['../adc_8c.html#a25c0a0a9fe2bdba070f9945ca641b5e0',1,'ADC_SelectChannel(adc_channel_t channel): adc.c'],['../adc_8h.html#a25c0a0a9fe2bdba070f9945ca641b5e0',1,'ADC_SelectChannel(adc_channel_t channel): adc.c']]], + ['adc_5fstartconversion_13',['ADC_StartConversion',['../adc_8c.html#af96ee69b063edcebc656d0ca0450c12c',1,'ADC_StartConversion(void): adc.c'],['../adc_8h.html#af96ee69b063edcebc656d0ca0450c12c',1,'ADC_StartConversion(void): adc.c']]], + ['adc_5fsync_5fdouble_5fresult_5ft_14',['adc_sync_double_result_t',['../structadc__sync__double__result__t.html',1,'']]], + ['adc_5ftemperatureacquisitiondelay_15',['ADC_TemperatureAcquisitionDelay',['../adc_8c.html#a46bdd78f96c668432d4ff33115c9dcd9',1,'ADC_TemperatureAcquisitionDelay(void): adc.c'],['../adc_8h.html#a46bdd78f96c668432d4ff33115c9dcd9',1,'ADC_TemperatureAcquisitionDelay(void): adc.c']]], + ['adcresult1_16',['adcResult1',['../structadc__sync__double__result__t.html#af8e1cac59f7562513545cc68e1e10386',1,'adc_sync_double_result_t']]], + ['adcresult2_17',['adcResult2',['../structadc__sync__double__result__t.html#a816f0d43b8ee50c539734d97ff87e394',1,'adc_sync_double_result_t']]], + ['analog_18',['ANALOG',['../pin__manager_8h.html#ad42aa2404559d4a465d5d45e857f2881',1,'pin_manager.h']]], + ['arialroundedmtbold18ptbitmaps_19',['arialRoundedMTBold18ptBitmaps',['../arial_rounded_m_t_bold18pt_bitmaps_8c.html#a034d07745e57fc43d7a71d118c381e4f',1,'arialRoundedMTBold18ptBitmaps.c']]], + ['arialroundedmtbold18ptbitmaps_2ec_20',['arialRoundedMTBold18ptBitmaps.c',['../arial_rounded_m_t_bold18pt_bitmaps_8c.html',1,'']]], + ['arialroundedmtbold18ptdescriptors_21',['arialRoundedMTBold18ptDescriptors',['../arial_rounded_m_t_bold18pt_bitmaps_8c.html#aa9e0430bbd14c23234ad1fc8d0770785',1,'arialRoundedMTBold18ptBitmaps.c']]], + ['arialroundedmtbold18ptfontinfo_22',['arialRoundedMTBold18ptFontInfo',['../arial_rounded_m_t_bold18pt_bitmaps_8c.html#a2728acef47847cd35e3feabda66707af',1,'arialRoundedMTBold18ptBitmaps.c']]], + ['auchcrchi_23',['auchCRCHi',['../crc_8c.html#a7362c72c8a4b1f27641c41b04d899e6b',1,'crc.c']]], + ['auchcrclo_24',['auchCRCLo',['../crc_8c.html#a1f5449b8e6577d9b28f66b9453ccb2f3',1,'crc.c']]], + ['average_5fsamples_25',['AVERAGE_SAMPLES',['../measure_8c.html#a0772f4f0c5e19d53263d12a0c0b296ae',1,'measure.c']]] +]; diff --git a/html/search/all_10.js b/html/search/all_10.js new file mode 100644 index 0000000..b6ed141 --- /dev/null +++ b/html/search/all_10.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['timer0reloadval_0',['timer0ReloadVal',['../tmr0_8c.html#afefa19b0b4ed96c0c664ab681aa60b3c',1,'tmr0.c']]], + ['tmr0_2ec_1',['tmr0.c',['../tmr0_8c.html',1,'']]], + ['tmr0_2eh_2',['tmr0.h',['../tmr0_8h.html',1,'']]], + ['tmr0_5fdefaultinterrupthandler_3',['TMR0_DefaultInterruptHandler',['../tmr0_8c.html#aab6153f25bf68ecb07d33a269e5b8dc4',1,'TMR0_DefaultInterruptHandler(void): tmr0.c'],['../tmr0_8h.html#aab6153f25bf68ecb07d33a269e5b8dc4',1,'TMR0_DefaultInterruptHandler(void): tmr0.c']]], + ['tmr0_5finitialize_4',['TMR0_Initialize',['../tmr0_8c.html#a73398a18b711af030af4db3c4c6c15e1',1,'TMR0_Initialize(void): tmr0.c'],['../tmr0_8h.html#a73398a18b711af030af4db3c4c6c15e1',1,'TMR0_Initialize(void): tmr0.c']]], + ['tmr0_5finterrupthandler_5',['TMR0_InterruptHandler',['../tmr0_8c.html#a809211677d0753d6397e04afdbb945a3',1,'TMR0_InterruptHandler(): tmr0.c'],['../tmr0_8h.html#a809211677d0753d6397e04afdbb945a3',1,'TMR0_InterruptHandler(): tmr0.c']]], + ['tmr0_5fisr_6',['TMR0_ISR',['../tmr0_8c.html#a8a465e070e24fe06a488f952b089886d',1,'TMR0_ISR(void): tmr0.c'],['../tmr0_8h.html#a8a465e070e24fe06a488f952b089886d',1,'TMR0_ISR(void): tmr0.c']]], + ['tmr0_5freadtimer_7',['TMR0_ReadTimer',['../tmr0_8c.html#abc520383c193d0d597a40bfa9de2a250',1,'TMR0_ReadTimer(void): tmr0.c'],['../tmr0_8h.html#abc520383c193d0d597a40bfa9de2a250',1,'TMR0_ReadTimer(void): tmr0.c']]], + ['tmr0_5freload_8',['TMR0_Reload',['../tmr0_8h.html#a61659c2dc0ff29595abe23b24cf81d14',1,'TMR0_Reload(void): tmr0.c'],['../tmr0_8c.html#a61659c2dc0ff29595abe23b24cf81d14',1,'TMR0_Reload(void): tmr0.c']]], + ['tmr0_5fsetinterrupthandler_9',['TMR0_SetInterruptHandler',['../tmr0_8c.html#a1b6adc623040b0e791871a0f9652a67f',1,'TMR0_SetInterruptHandler(void(*InterruptHandler)(void)): tmr0.c'],['../tmr0_8h.html#a1b6adc623040b0e791871a0f9652a67f',1,'TMR0_SetInterruptHandler(void(*InterruptHandler)(void)): tmr0.c']]], + ['tmr0_5fstarttimer_10',['TMR0_StartTimer',['../tmr0_8h.html#a3e1b5e411afd874143ff241d08e52e07',1,'TMR0_StartTimer(void): tmr0.c'],['../tmr0_8c.html#a3e1b5e411afd874143ff241d08e52e07',1,'TMR0_StartTimer(void): tmr0.c']]], + ['tmr0_5fstoptimer_11',['TMR0_StopTimer',['../tmr0_8c.html#afeaf0b9a17eeabda5d079bf63ed2b545',1,'TMR0_StopTimer(void): tmr0.c'],['../tmr0_8h.html#afeaf0b9a17eeabda5d079bf63ed2b545',1,'TMR0_StopTimer(void): tmr0.c']]], + ['tmr0_5fwritetimer_12',['TMR0_WriteTimer',['../tmr0_8c.html#a7842dca344326cf264fa7026d34256d5',1,'TMR0_WriteTimer(uint16_t timerVal): tmr0.c'],['../tmr0_8h.html#a7842dca344326cf264fa7026d34256d5',1,'TMR0_WriteTimer(uint16_t timerVal): tmr0.c']]], + ['tmr2_2ec_13',['tmr2.c',['../tmr2_8c.html',1,'']]], + ['tmr2_2eh_14',['tmr2.h',['../tmr2_8h.html',1,'']]], + ['tmr2_5fhasoverflowoccured_15',['TMR2_HasOverflowOccured',['../tmr2_8c.html#ab0b9dbd90bacc904f311d71fbcccd038',1,'TMR2_HasOverflowOccured(void): tmr2.c'],['../tmr2_8h.html#ab0b9dbd90bacc904f311d71fbcccd038',1,'TMR2_HasOverflowOccured(void): tmr2.c']]], + ['tmr2_5finitialize_16',['TMR2_Initialize',['../tmr2_8c.html#a46c13c9255379e99c10240229a145d37',1,'TMR2_Initialize(void): tmr2.c'],['../tmr2_8h.html#a46c13c9255379e99c10240229a145d37',1,'TMR2_Initialize(void): tmr2.c']]], + ['tmr2_5floadperiodregister_17',['TMR2_LoadPeriodRegister',['../tmr2_8c.html#a5490961ba3ba77d10896e320ab840a74',1,'TMR2_LoadPeriodRegister(uint8_t periodVal): tmr2.c'],['../tmr2_8h.html#a5490961ba3ba77d10896e320ab840a74',1,'TMR2_LoadPeriodRegister(uint8_t periodVal): tmr2.c']]], + ['tmr2_5freadtimer_18',['TMR2_ReadTimer',['../tmr2_8c.html#a4acc1f7c8c2dbd46424dad273cdb9cb1',1,'TMR2_ReadTimer(void): tmr2.c'],['../tmr2_8h.html#a4acc1f7c8c2dbd46424dad273cdb9cb1',1,'TMR2_ReadTimer(void): tmr2.c']]], + ['tmr2_5fstarttimer_19',['TMR2_StartTimer',['../tmr2_8c.html#afb37b846db811f973b4009215d59f91a',1,'TMR2_StartTimer(void): tmr2.c'],['../tmr2_8h.html#afb37b846db811f973b4009215d59f91a',1,'TMR2_StartTimer(void): tmr2.c']]], + ['tmr2_5fstoptimer_20',['TMR2_StopTimer',['../tmr2_8c.html#a36d7e6eab8b279863c83a32fb41adb02',1,'TMR2_StopTimer(void): tmr2.c'],['../tmr2_8h.html#a36d7e6eab8b279863c83a32fb41adb02',1,'TMR2_StopTimer(void): tmr2.c']]], + ['tmr2_5fwritetimer_21',['TMR2_WriteTimer',['../tmr2_8c.html#acb2fbe8254fcc8c01b9784b028a7eac6',1,'TMR2_WriteTimer(uint8_t timerVal): tmr2.c'],['../tmr2_8h.html#acb2fbe8254fcc8c01b9784b028a7eac6',1,'TMR2_WriteTimer(uint8_t timerVal): tmr2.c']]], + ['touch_22',['touch',['../structft5xx6__t.html#a68e0f932baefb8f042dda26716985093',1,'ft5xx6_t']]], + ['tx_5fbuf_23',['tx_buf',['../modbus_8c.html#a579f15c7d6aeee8d684dce40e205c54b',1,'modbus.c']]] +]; diff --git a/html/search/all_11.js b/html/search/all_11.js new file mode 100644 index 0000000..21573d4 --- /dev/null +++ b/html/search/all_11.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['value_0',['value',['../structft5xx6__gest__item__t.html#a4b626c0f794b0b9274bbbdbad3482ef5',1,'ft5xx6_gest_item_t']]], + ['voltage_1',['voltage',['../adc_8h.html#aafc4060027875f8fe46242b0656d7814a20d31653fb88a46098aad34f773a827c',1,'adc.h']]], + ['voltage_5fans_2',['voltage_ANS',['../pin__manager_8h.html#ae992f842af5f08c312c22ebaaf947836',1,'pin_manager.h']]], + ['voltage_5fchannel_3',['VOLTAGE_CHANNEL',['../measure_8c.html#a3ad11a109af35fa8de5e0b1b3e60142b',1,'measure.c']]], + ['voltage_5fgetvalue_4',['voltage_GetValue',['../pin__manager_8h.html#ad70e7e315d90cb87798d9b6f525fcf3e',1,'pin_manager.h']]], + ['voltage_5flat_5',['voltage_LAT',['../pin__manager_8h.html#a08b61c498053fec7834331b6fdd11322',1,'pin_manager.h']]], + ['voltage_5fport_6',['voltage_PORT',['../pin__manager_8h.html#a033f2bd8f6d2561a2e6b5f9592e0cf2f',1,'pin_manager.h']]], + ['voltage_5fsetanalogmode_7',['voltage_SetAnalogMode',['../pin__manager_8h.html#afed829eb75c303170cd851c1a453b8fc',1,'pin_manager.h']]], + ['voltage_5fsetdigitalinput_8',['voltage_SetDigitalInput',['../pin__manager_8h.html#a323b395df28470c9fbb9b1c413eb9ed3',1,'pin_manager.h']]], + ['voltage_5fsetdigitalmode_9',['voltage_SetDigitalMode',['../pin__manager_8h.html#ac1f5f4e118f4c20b17872847cfe629af',1,'pin_manager.h']]], + ['voltage_5fsetdigitaloutput_10',['voltage_SetDigitalOutput',['../pin__manager_8h.html#a22e8068a7d8857cf5b50b42c5e4d2864',1,'pin_manager.h']]], + ['voltage_5fsethigh_11',['voltage_SetHigh',['../pin__manager_8h.html#aecb75602146d0dd0e89ed98bc3214f7c',1,'pin_manager.h']]], + ['voltage_5fsetlow_12',['voltage_SetLow',['../pin__manager_8h.html#a85c55dcd649c5ed9aac0d4a619689fcd',1,'pin_manager.h']]], + ['voltage_5ftoggle_13',['voltage_Toggle',['../pin__manager_8h.html#ac289a0300c973c6e6c843dc6f9d75e38',1,'pin_manager.h']]], + ['voltage_5ftris_14',['voltage_TRIS',['../pin__manager_8h.html#a07dd1e025132eb2fd63219522a93fa0c',1,'pin_manager.h']]] +]; diff --git a/html/search/all_12.js b/html/search/all_12.js new file mode 100644 index 0000000..fc6f1c3 --- /dev/null +++ b/html/search/all_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['write_5fsingle_5fregister_0',['WRITE_SINGLE_REGISTER',['../modbus_8c.html#ae193fb8e7fb5dafe59b40642c13b4b42',1,'modbus.c']]] +]; diff --git a/html/search/all_2.js b/html/search/all_2.js new file mode 100644 index 0000000..f0e978b --- /dev/null +++ b/html/search/all_2.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['controller_0',['controller',['../structft5xx6__cfg__t.html#a6dad220d9241b8c0681dc4fd243f63c2',1,'ft5xx6_cfg_t::controller()'],['../structft5xx6__t.html#a73359d33368c8ab7ae32558a1b7dcfad',1,'ft5xx6_t::controller()']]], + ['crc_2ec_1',['crc.c',['../crc_8c.html',1,'']]], + ['crc_2eh_2',['crc.h',['../crc_8h.html',1,'']]], + ['crc16_3',['CRC16',['../crc_8c.html#a0fb245e3321a13b9170f7a948ed08b51',1,'CRC16(const uint8_t *msg, uint16_t length): crc.c'],['../crc_8h.html#a0fb245e3321a13b9170f7a948ed08b51',1,'CRC16(const uint8_t *msg, uint16_t length): crc.c']]], + ['current_4',['current',['../adc_8h.html#aafc4060027875f8fe46242b0656d7814a8225bfb34b5298eb7529ec580a4d178e',1,'adc.h']]], + ['current_5fans_5',['current_ANS',['../pin__manager_8h.html#ae420d51b624ff55a8852fc997333a818',1,'pin_manager.h']]], + ['current_5fchannel_6',['CURRENT_CHANNEL',['../measure_8c.html#a501e37e951966e98511c9c1eb0c7d397',1,'measure.c']]], + ['current_5fgetvalue_7',['current_GetValue',['../pin__manager_8h.html#aae40640212c4ea50ea6652b4eadf66a9',1,'pin_manager.h']]], + ['current_5flat_8',['current_LAT',['../pin__manager_8h.html#a34f33f39f1021e79ec6381b078967a65',1,'pin_manager.h']]], + ['current_5fport_9',['current_PORT',['../pin__manager_8h.html#a363c936a9450bcfc3a4c207d91fa8141',1,'pin_manager.h']]], + ['current_5fsetanalogmode_10',['current_SetAnalogMode',['../pin__manager_8h.html#a2657cd34f8719213e1dea19c91fdb00b',1,'pin_manager.h']]], + ['current_5fsetdigitalinput_11',['current_SetDigitalInput',['../pin__manager_8h.html#a0d5c61def0910839db51c4f597cd15d1',1,'pin_manager.h']]], + ['current_5fsetdigitalmode_12',['current_SetDigitalMode',['../pin__manager_8h.html#a665b890f11e57bb6d9aaca8283a66be6',1,'pin_manager.h']]], + ['current_5fsetdigitaloutput_13',['current_SetDigitalOutput',['../pin__manager_8h.html#ae46b1f6ff49f798e11bde41a3a330d7f',1,'pin_manager.h']]], + ['current_5fsethigh_14',['current_SetHigh',['../pin__manager_8h.html#a4d2780c35d54736b364e6a28bdac2d80',1,'pin_manager.h']]], + ['current_5fsetlow_15',['current_SetLow',['../pin__manager_8h.html#a44aad0bc0e5c86c4a107eda2dd1238bf',1,'pin_manager.h']]], + ['current_5ftoggle_16',['current_Toggle',['../pin__manager_8h.html#a5c167a84f1bc1c9e797d0014dec67ee6',1,'pin_manager.h']]], + ['current_5ftris_17',['current_TRIS',['../pin__manager_8h.html#a2d0fea51f26d75e76c065199dce050bc',1,'pin_manager.h']]] +]; diff --git a/html/search/all_3.js b/html/search/all_3.js new file mode 100644 index 0000000..b2b5f31 --- /dev/null +++ b/html/search/all_3.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['device_5fconfig_2ec_0',['device_config.c',['../device__config_8c.html',1,'']]], + ['device_5fconfig_2eh_1',['device_config.h',['../device__config_8h.html',1,'']]], + ['digital_2',['DIGITAL',['../pin__manager_8h.html#a5e3f0ed2799c1275891b863e4b8c89eb',1,'pin_manager.h']]], + ['dir_5flcd_5fcs_3',['DIR_LCD_CS',['../lcd_8h.html#a314008d0ad63ceef2e7944aaa5432d42',1,'lcd.h']]], + ['dir_5flcd_5frs_4',['DIR_LCD_RS',['../lcd_8h.html#a079bc2fad0a364982e2e3ec0205e065e',1,'lcd.h']]] +]; diff --git a/html/search/all_4.js b/html/search/all_4.js new file mode 100644 index 0000000..c1a1327 --- /dev/null +++ b/html/search/all_4.js @@ -0,0 +1,40 @@ +var searchData= +[ + ['epwm1_2ec_0',['epwm1.c',['../epwm1_8c.html',1,'']]], + ['epwm1_2eh_1',['epwm1.h',['../epwm1_8h.html',1,'']]], + ['epwm1_5finitialize_2',['EPWM1_Initialize',['../epwm1_8h.html#a0087e70977fcfb3d715ab9fec17a6a8d',1,'EPWM1_Initialize(void): epwm1.c'],['../epwm1_8c.html#a0087e70977fcfb3d715ab9fec17a6a8d',1,'EPWM1_Initialize(void): epwm1.c']]], + ['epwm1_5floaddutyvalue_3',['EPWM1_LoadDutyValue',['../epwm1_8c.html#acb3f0021b8789111ae243d1cd4c5942c',1,'EPWM1_LoadDutyValue(uint16_t dutyValue): epwm1.c'],['../epwm1_8h.html#acb3f0021b8789111ae243d1cd4c5942c',1,'EPWM1_LoadDutyValue(uint16_t dutyValue): epwm1.c']]], + ['eusart1_2ec_4',['eusart1.c',['../eusart1_8c.html',1,'']]], + ['eusart1_2eh_5',['eusart1.h',['../eusart1_8h.html',1,'']]], + ['eusart1_5fdataready_6',['EUSART1_DataReady',['../eusart1_8h.html#ac49a88a0f8634c24cc1f7e2743c3fbd0',1,'eusart1.h']]], + ['eusart1_5fdefaulterrorhandler_7',['EUSART1_DefaultErrorHandler',['../eusart1_8c.html#a9c10ba53dd6112ac70e8e82a146dd39b',1,'eusart1.c']]], + ['eusart1_5fdefaultframingerrorhandler_8',['EUSART1_DefaultFramingErrorHandler',['../eusart1_8c.html#ad551fd18f88e50d53d18c345e0819b60',1,'eusart1.c']]], + ['eusart1_5fdefaultoverrunerrorhandler_9',['EUSART1_DefaultOverrunErrorHandler',['../eusart1_8c.html#a3d463ab78d0a1a0346dbb5f5e9a44647',1,'eusart1.c']]], + ['eusart1_5ferrorhandler_10',['EUSART1_ErrorHandler',['../eusart1_8c.html#abc6ac02650c89fd0f804ce8f9e4be29a',1,'eusart1.c']]], + ['eusart1_5fframingerrorhandler_11',['EUSART1_FramingErrorHandler',['../eusart1_8c.html#a29be52aecc13884fad7f3c9707b58936',1,'eusart1.c']]], + ['eusart1_5fget_5flast_5fstatus_12',['EUSART1_get_last_status',['../eusart1_8c.html#a3dc796228d84a0c6a57dc207ed14daae',1,'EUSART1_get_last_status(void): eusart1.c'],['../eusart1_8h.html#a3dc796228d84a0c6a57dc207ed14daae',1,'EUSART1_get_last_status(void): eusart1.c']]], + ['eusart1_5finitialize_13',['EUSART1_Initialize',['../eusart1_8c.html#a17236c1d3fc2264f13ed077b4fc6973e',1,'EUSART1_Initialize(void): eusart1.c'],['../eusart1_8h.html#a17236c1d3fc2264f13ed077b4fc6973e',1,'EUSART1_Initialize(void): eusart1.c']]], + ['eusart1_5fis_5frx_5fready_14',['EUSART1_is_rx_ready',['../eusart1_8c.html#a51236ea81a98a25986a6733fbf291621',1,'EUSART1_is_rx_ready(void): eusart1.c'],['../eusart1_8h.html#a51236ea81a98a25986a6733fbf291621',1,'EUSART1_is_rx_ready(void): eusart1.c']]], + ['eusart1_5fis_5ftx_5fdone_15',['EUSART1_is_tx_done',['../eusart1_8c.html#a7b5f2ddacf3a8b27a5edff78996e66f5',1,'EUSART1_is_tx_done(void): eusart1.c'],['../eusart1_8h.html#a7b5f2ddacf3a8b27a5edff78996e66f5',1,'EUSART1_is_tx_done(void): eusart1.c']]], + ['eusart1_5fis_5ftx_5fready_16',['EUSART1_is_tx_ready',['../eusart1_8c.html#a3cc9de3f3d2a8588be3bd85084011a68',1,'EUSART1_is_tx_ready(void): eusart1.c'],['../eusart1_8h.html#a3cc9de3f3d2a8588be3bd85084011a68',1,'EUSART1_is_tx_ready(void): eusart1.c']]], + ['eusart1_5foverrunerrorhandler_17',['EUSART1_OverrunErrorHandler',['../eusart1_8c.html#ad312829b7b826ae814c9b3b94fd42567',1,'eusart1.c']]], + ['eusart1_5fread_18',['EUSART1_Read',['../eusart1_8h.html#ab4dd58b431d4f59c5b78f909b0b9cb0b',1,'EUSART1_Read(void): eusart1.c'],['../eusart1_8c.html#ab4dd58b431d4f59c5b78f909b0b9cb0b',1,'EUSART1_Read(void): eusart1.c']]], + ['eusart1_5freceive_5fisr_19',['EUSART1_Receive_ISR',['../eusart1_8c.html#af6867c294ab8008a59cdc81a74272669',1,'EUSART1_Receive_ISR(void): eusart1.c'],['../eusart1_8h.html#af6867c294ab8008a59cdc81a74272669',1,'EUSART1_Receive_ISR(void): eusart1.c']]], + ['eusart1_5frx_5fbuffer_5fsize_20',['EUSART1_RX_BUFFER_SIZE',['../eusart1_8c.html#a642958f0262c1fa43f73055039f9e69c',1,'eusart1.c']]], + ['eusart1_5frxdatahandler_21',['EUSART1_RxDataHandler',['../eusart1_8c.html#a059ef83fc11ba2fbe279fe185b0e3832',1,'EUSART1_RxDataHandler(void): eusart1.c'],['../eusart1_8h.html#a059ef83fc11ba2fbe279fe185b0e3832',1,'EUSART1_RxDataHandler(void): eusart1.c']]], + ['eusart1_5frxdefaultinterrupthandler_22',['EUSART1_RxDefaultInterruptHandler',['../eusart1_8c.html#a880bcfd3bf2ca46fd0f4a14b2a0a3b9d',1,'EUSART1_RxDefaultInterruptHandler(): eusart1.c'],['../eusart1_8h.html#a880bcfd3bf2ca46fd0f4a14b2a0a3b9d',1,'EUSART1_RxDefaultInterruptHandler(): eusart1.c']]], + ['eusart1_5fseterrorhandler_23',['EUSART1_SetErrorHandler',['../eusart1_8c.html#a1ce96cef41cc2e985c8a600873f3d688',1,'EUSART1_SetErrorHandler(void(*interruptHandler)(void)): eusart1.c'],['../eusart1_8h.html#a1ce96cef41cc2e985c8a600873f3d688',1,'EUSART1_SetErrorHandler(void(*interruptHandler)(void)): eusart1.c']]], + ['eusart1_5fsetframingerrorhandler_24',['EUSART1_SetFramingErrorHandler',['../eusart1_8c.html#aa4a8db092efc718cf508792a0a521dba',1,'EUSART1_SetFramingErrorHandler(void(*interruptHandler)(void)): eusart1.c'],['../eusart1_8h.html#aa4a8db092efc718cf508792a0a521dba',1,'EUSART1_SetFramingErrorHandler(void(*interruptHandler)(void)): eusart1.c']]], + ['eusart1_5fsetoverrunerrorhandler_25',['EUSART1_SetOverrunErrorHandler',['../eusart1_8c.html#a8129057b0391bb8de6fa1058057c589e',1,'EUSART1_SetOverrunErrorHandler(void(*interruptHandler)(void)): eusart1.c'],['../eusart1_8h.html#a8129057b0391bb8de6fa1058057c589e',1,'EUSART1_SetOverrunErrorHandler(void(*interruptHandler)(void)): eusart1.c']]], + ['eusart1_5fsetrxinterrupthandler_26',['EUSART1_SetRxInterruptHandler',['../eusart1_8c.html#a66a557ddf06eda003b454c56b5f6fa2b',1,'EUSART1_SetRxInterruptHandler(void(*interruptHandler)(void)): eusart1.c'],['../eusart1_8h.html#a66a557ddf06eda003b454c56b5f6fa2b',1,'EUSART1_SetRxInterruptHandler(void(*interruptHandler)(void)): eusart1.c']]], + ['eusart1_5fstatus_5ft_27',['eusart1_status_t',['../unioneusart1__status__t.html',1,'']]], + ['eusart1_5ftx_5fbuffer_5fsize_28',['EUSART1_TX_BUFFER_SIZE',['../eusart1_8c.html#a1c74f6788eacb6fb0fe6c604f395a8ab',1,'eusart1.c']]], + ['eusart1_5fwrite_29',['EUSART1_Write',['../eusart1_8c.html#a6acb88a121ac046bf5ae77f9a3521350',1,'EUSART1_Write(uint8_t txData): eusart1.c'],['../eusart1_8h.html#a6acb88a121ac046bf5ae77f9a3521350',1,'EUSART1_Write(uint8_t txData): eusart1.c']]], + ['eusart1rxbuffer_30',['eusart1RxBuffer',['../eusart1_8c.html#a9f953e2d0a8e2cdb9e7f36ace3c7b17a',1,'eusart1.c']]], + ['eusart1rxcount_31',['eusart1RxCount',['../eusart1_8c.html#ab6e9a7238b7754678619a44374419718',1,'eusart1RxCount(): eusart1.c'],['../eusart1_8h.html#ab6e9a7238b7754678619a44374419718',1,'eusart1RxCount(): eusart1.c']]], + ['eusart1rxhead_32',['eusart1RxHead',['../eusart1_8c.html#a3edd611815ab0a84ebf348449e3cf135',1,'eusart1.c']]], + ['eusart1rxlasterror_33',['eusart1RxLastError',['../eusart1_8c.html#a8f5fe769231559381402518edf3005de',1,'eusart1.c']]], + ['eusart1rxstatusbuffer_34',['eusart1RxStatusBuffer',['../eusart1_8c.html#a3c4a003a0ca1e9d04caf6eca92833522',1,'eusart1.c']]], + ['eusart1rxtail_35',['eusart1RxTail',['../eusart1_8c.html#a72676c6462b4f80b1d7e791a82bf1e20',1,'eusart1.c']]], + ['eusart1txbufferremaining_36',['eusart1TxBufferRemaining',['../eusart1_8h.html#a60e1cd80da2c5389aa7458e8af1a651a',1,'eusart1.h']]] +]; diff --git a/html/search/all_5.js b/html/search/all_5.js new file mode 100644 index 0000000..940cc4f --- /dev/null +++ b/html/search/all_5.js @@ -0,0 +1,101 @@ +var searchData= +[ + ['ferr_0',['ferr',['../unioneusart1__status__t.html#ace5b8d8da76a41c2d06db932d1f8fcba',1,'eusart1_status_t']]], + ['ft5x06_5fcontroller_1',['FT5X06_CONTROLLER',['../ft5xx6_8c.html#ae33f6da26c053048da54e86905d3820a',1,'FT5X06_CONTROLLER(): ft5xx6.c'],['../ft5xx6_8h.html#ae33f6da26c053048da54e86905d3820a',1,'FT5X06_CONTROLLER(): ft5xx6.c']]], + ['ft5x16_5fcontroller_2',['FT5X16_CONTROLLER',['../ft5xx6_8c.html#a2ca173cd2083b7148c55616b877fddf0',1,'FT5X16_CONTROLLER(): ft5xx6.c'],['../ft5xx6_8h.html#a2ca173cd2083b7148c55616b877fddf0',1,'FT5X16_CONTROLLER(): ft5xx6.c']]], + ['ft5x26_5fcontroller_3',['FT5X26_CONTROLLER',['../ft5xx6_8c.html#a0ac92b9acaa49529e8ea5fea04471631',1,'FT5X26_CONTROLLER(): ft5xx6.c'],['../ft5xx6_8h.html#a0ac92b9acaa49529e8ea5fea04471631',1,'FT5X26_CONTROLLER(): ft5xx6.c']]], + ['ft5x46_5fcontroller_4',['FT5X46_CONTROLLER',['../ft5xx6_8c.html#a5e22e1754a5ddd38dcda39eb092689d1',1,'FT5X46_CONTROLLER(): ft5xx6.c'],['../ft5xx6_8h.html#a5e22e1754a5ddd38dcda39eb092689d1',1,'FT5X46_CONTROLLER(): ft5xx6.c']]], + ['ft5xx6_20masks_5',['FT5xx6 Masks',['../group__ft5xx6__masks.html',1,'']]], + ['ft5xx6_20offsets_6',['FT5xx6 Offsets',['../group__ft5xx6__offsets.html',1,'']]], + ['ft5xx6_20registers_7',['FT5xx6 Registers',['../group__ft5xx6__registers.html',1,'']]], + ['ft5xx6_20settings_8',['FT5xx6 Settings',['../group__ft5xx6__settings.html',1,'']]], + ['ft5xx6_20touch_20controllers_20driver_9',['FT5xx6 Touch Controllers Driver',['../group__ft5xx6.html',1,'']]], + ['ft5xx6_2ec_10',['ft5xx6.c',['../ft5xx6_8c.html',1,'']]], + ['ft5xx6_2eh_11',['ft5xx6.h',['../ft5xx6_8h.html',1,'']]], + ['ft5xx6_5fcfg_5fsetup_12',['ft5xx6_cfg_setup',['../group__ft5xx6.html#ga6fc0a86342900baa3663aba412e2e4b2',1,'ft5xx6_cfg_setup(ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller): ft5xx6.c'],['../group__ft5xx6.html#ga6fc0a86342900baa3663aba412e2e4b2',1,'ft5xx6_cfg_setup(ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller): ft5xx6.c']]], + ['ft5xx6_5fcfg_5ft_13',['ft5xx6_cfg_t',['../structft5xx6__cfg__t.html',1,'']]], + ['ft5xx6_5fcontroller_5ft_14',['ft5xx6_controller_t',['../structft5xx6__controller__t.html',1,'']]], + ['ft5xx6_5fdefault_5fcfg_15',['ft5xx6_default_cfg',['../group__ft5xx6.html#gac8898b7e2f9ae2c1eef7614ba35d42a2',1,'ft5xx6_default_cfg(ft5xx6_t *ctx): ft5xx6.c'],['../group__ft5xx6.html#gac8898b7e2f9ae2c1eef7614ba35d42a2',1,'ft5xx6_default_cfg(ft5xx6_t *ctx): ft5xx6.c']]], + ['ft5xx6_5fdev_5fmode_5fnormal_16',['FT5XX6_DEV_MODE_NORMAL',['../ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471dab9617f547a5f9e5d7149a1d56d441b4b',1,'ft5xx6.h']]], + ['ft5xx6_5fdev_5fmode_5fsetup_17',['ft5xx6_dev_mode_setup',['../group__ft5xx6.html#ga806e32ed83d7f3e41a3e9084148512b0',1,'ft5xx6_dev_mode_setup(ft5xx6_t *ctx, ft5xx6_dev_mode_t mode): ft5xx6.c'],['../group__ft5xx6.html#ga806e32ed83d7f3e41a3e9084148512b0',1,'ft5xx6_dev_mode_setup(ft5xx6_t *ctx, ft5xx6_dev_mode_t mode): ft5xx6.c']]], + ['ft5xx6_5fdev_5fmode_5fsys_5finfo_18',['FT5XX6_DEV_MODE_SYS_INFO',['../ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471da5c98840643bd2a3533e908104541026c',1,'ft5xx6.h']]], + ['ft5xx6_5fdev_5fmode_5ft_19',['ft5xx6_dev_mode_t',['../ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471d',1,'ft5xx6.h']]], + ['ft5xx6_5fdev_5fmode_5ftest_20',['FT5XX6_DEV_MODE_TEST',['../ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471dae4752db6e4298e3b2ed60bc72bcb407b',1,'ft5xx6.h']]], + ['ft5xx6_5fevent_5fpress_5fdet_21',['FT5XX6_EVENT_PRESS_DET',['../group__ft5xx6__settings.html#gaf8faa1f0b1557196058bc3e4eae35327',1,'ft5xx6.h']]], + ['ft5xx6_5fgeneric_5fread_5fmultiple_22',['ft5xx6_generic_read_multiple',['../group__ft5xx6.html#gaf98c43602d87923c5820219931906d5c',1,'ft5xx6_generic_read_multiple(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes): ft5xx6.c'],['../group__ft5xx6.html#gaf98c43602d87923c5820219931906d5c',1,'ft5xx6_generic_read_multiple(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes): ft5xx6.c']]], + ['ft5xx6_5fgeneric_5fread_5fsingle_23',['ft5xx6_generic_read_single',['../group__ft5xx6.html#ga22ffcf2f7a0e4bac3fda6a0af97bf4a8',1,'ft5xx6_generic_read_single(ft5xx6_t *ctx, uint8_t reg_addr): ft5xx6.c'],['../group__ft5xx6.html#ga22ffcf2f7a0e4bac3fda6a0af97bf4a8',1,'ft5xx6_generic_read_single(ft5xx6_t *ctx, uint8_t reg_addr): ft5xx6.c']]], + ['ft5xx6_5fgeneric_5fwrite_24',['ft5xx6_generic_write',['../group__ft5xx6.html#gac41bf915d507197704db9dad23977959',1,'ft5xx6_generic_write(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in): ft5xx6.c'],['../group__ft5xx6.html#gac41bf915d507197704db9dad23977959',1,'ft5xx6_generic_write(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in): ft5xx6.c']]], + ['ft5xx6_5fgest_5fitem_5ft_25',['ft5xx6_gest_item_t',['../structft5xx6__gest__item__t.html',1,'']]], + ['ft5xx6_5fgesture_26',['ft5xx6_gesture',['../group__ft5xx6.html#ga95c5b63b7e75eeb71a9633205bea6a04',1,'ft5xx6_gesture(ft5xx6_t *ctx, tp_event_t *event): ft5xx6.c'],['../group__ft5xx6.html#ga95c5b63b7e75eeb71a9633205bea6a04',1,'ft5xx6_gesture(ft5xx6_t *ctx, tp_event_t *event): ft5xx6.c']]], + ['ft5xx6_5fgesture_5fitems_5fmax_27',['FT5XX6_GESTURE_ITEMS_MAX',['../group__ft5xx6__settings.html#gafc926f3ab5967bc8b02428b2565265e5',1,'ft5xx6.h']]], + ['ft5xx6_5fi2c_5faddr_28',['FT5XX6_I2C_ADDR',['../group__ft5xx6__settings.html#gabb0efae5648f97624e65974977203b3f',1,'ft5xx6.h']]], + ['ft5xx6_5finit_29',['ft5xx6_init',['../group__ft5xx6.html#ga6bc20225d2c49cbddb2f167b7e59633a',1,'ft5xx6_init(ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv): ft5xx6.c'],['../group__ft5xx6.html#ga6bc20225d2c49cbddb2f167b7e59633a',1,'ft5xx6_init(ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv): ft5xx6.c']]], + ['ft5xx6_5fint_5fmode_5fpolling_30',['FT5XX6_INT_MODE_POLLING',['../group__ft5xx6__settings.html#ga7e6910fadf6c2608f18e2da464349dac',1,'ft5xx6.h']]], + ['ft5xx6_5fint_5fmode_5ftrigger_31',['FT5XX6_INT_MODE_TRIGGER',['../group__ft5xx6__settings.html#ga133324cfd35fc1484bbde0c8febe6807',1,'ft5xx6.h']]], + ['ft5xx6_5fmap_5fpins_32',['FT5XX6_MAP_PINS',['../group__ft5xx6__settings.html#ga782865f91f11bdbc5712b01cc507e5b2',1,'ft5xx6.h']]], + ['ft5xx6_5fmask_5fpress_5fcoord_33',['FT5XX6_MASK_PRESS_COORD',['../group__ft5xx6__masks.html#gac7c349b78ede9988bea329a0c36d5143',1,'ft5xx6.h']]], + ['ft5xx6_5fmask_5fpress_5fdet_34',['FT5XX6_MASK_PRESS_DET',['../group__ft5xx6__masks.html#ga217588659c60a4ece9c1f33917295299',1,'ft5xx6.h']]], + ['ft5xx6_5fmask_5fpress_5fevent_35',['FT5XX6_MASK_PRESS_EVENT',['../group__ft5xx6__masks.html#gab272329933e2f0d04121f03fb3349ac1',1,'ft5xx6.h']]], + ['ft5xx6_5fmask_5ftp_5fnum_36',['FT5XX6_MASK_TP_NUM',['../group__ft5xx6__masks.html#ga2f9cfc5a40db87619e14e6665ba9ef87',1,'ft5xx6.h']]], + ['ft5xx6_5fn_5fdata_5ftransfer_5fmax_37',['FT5XX6_N_DATA_TRANSFER_MAX',['../group__ft5xx6__settings.html#ga46f6f524541133d4a70b1a6d8dc5c781',1,'ft5xx6.h']]], + ['ft5xx6_5fn_5fdata_5ftransfer_5fmin_38',['FT5XX6_N_DATA_TRANSFER_MIN',['../group__ft5xx6__settings.html#gae951d666752d722e9785333931f29ede',1,'ft5xx6.h']]], + ['ft5xx6_5foffset_5fdev_5fmode_39',['FT5XX6_OFFSET_DEV_MODE',['../group__ft5xx6__offsets.html#ga495a87bf38c3f4106bee6461d208d453',1,'ft5xx6.h']]], + ['ft5xx6_5foffset_5fpress_5fevent_40',['FT5XX6_OFFSET_PRESS_EVENT',['../group__ft5xx6__offsets.html#gaa720e7bc0e70372b69c0332338410f5b',1,'ft5xx6.h']]], + ['ft5xx6_5foffset_5fpress_5fid_41',['FT5XX6_OFFSET_PRESS_ID',['../group__ft5xx6__offsets.html#ga5ec1145d01e66b7babea658e7e350518',1,'ft5xx6.h']]], + ['ft5xx6_5foffset_5ftouch_5freading_42',['FT5XX6_OFFSET_TOUCH_READING',['../group__ft5xx6__offsets.html#ga41ec44ebb66fe210444354887c25639f',1,'ft5xx6.h']]], + ['ft5xx6_5fpress_5fcoordinates_43',['ft5xx6_press_coordinates',['../group__ft5xx6.html#ga652c22955075ea78a37bc3c0b04d03ce',1,'ft5xx6_press_coordinates(ft5xx6_t *ctx, tp_touch_item_t *touch_item): ft5xx6.c'],['../group__ft5xx6.html#ga652c22955075ea78a37bc3c0b04d03ce',1,'ft5xx6_press_coordinates(ft5xx6_t *ctx, tp_touch_item_t *touch_item): ft5xx6.c']]], + ['ft5xx6_5fpress_5fdetect_44',['ft5xx6_press_detect',['../group__ft5xx6.html#ga7bec3e5973ca8b94132ea761deaadeed',1,'ft5xx6_press_detect(ft5xx6_t *ctx): ft5xx6.c'],['../group__ft5xx6.html#ga7bec3e5973ca8b94132ea761deaadeed',1,'ft5xx6_press_detect(ft5xx6_t *ctx): ft5xx6.c']]], + ['ft5xx6_5fprocess_45',['ft5xx6_process',['../group__ft5xx6.html#gadcca9f3cbaca156e26894a63d8f588ee',1,'ft5xx6_process(ft5xx6_t *ctx): ft5xx6.c'],['../group__ft5xx6.html#gadcca9f3cbaca156e26894a63d8f588ee',1,'ft5xx6_process(ft5xx6_t *ctx): ft5xx6.c']]], + ['ft5xx6_5freg_5fauto_5fcalib_5fmode_46',['FT5XX6_REG_AUTO_CALIB_MODE',['../group__ft5xx6__registers.html#ga7b5836bbe2b49cde9008a051846e01b2',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fbig_5farea_5fth_47',['FT5XX6_REG_BIG_AREA_TH',['../group__ft5xx6__registers.html#gaa932733a38cfbf5cc38fd79521da8fe4',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fconfigure_5fcal_5fmode_48',['FT5XX6_REG_CONFIGURE_CAL_MODE',['../group__ft5xx6__registers.html#ga63062e81a4633785640e6c89094bba7b',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fctpm_5fvendor_5fid_49',['FT5XX6_REG_CTPM_VENDOR_ID',['../group__ft5xx6__registers.html#ga5b6140849a381d02ef65cfe298c28252',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fdevice_5fmode_50',['FT5XX6_REG_DEVICE_MODE',['../group__ft5xx6__registers.html#ga8b8a45b214b83b59db5eb74c05e76e37',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fenter_5fidle_5ftimer_51',['FT5XX6_REG_ENTER_IDLE_TIMER',['../group__ft5xx6__registers.html#gab28bfcb895253abc798e3bada35ab3bd',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ferror_5fid_52',['FT5XX6_REG_ERROR_ID',['../group__ft5xx6__registers.html#ga6c2fe21e1b12caf1ebec90102dba878d',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ffw_5fid_53',['FT5XX6_REG_FW_ID',['../group__ft5xx6__registers.html#gaa6f326683cdd97adeee1bbfd3b9491a7',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fgest_5fid_54',['FT5XX6_REG_GEST_ID',['../group__ft5xx6__registers.html#ga540c4433c7c3c05d335d1ae660fa7819',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fivt_5fto_5fhost_5fstatus_55',['FT5XX6_REG_IVT_TO_HOST_STATUS',['../group__ft5xx6__registers.html#gad678435b3e96e345e171c73fa106553e',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5flib_5fchip_5fvendor_5fid_56',['FT5XX6_REG_LIB_CHIP_VENDOR_ID',['../group__ft5xx6__registers.html#gac71a05649c083678340c176cbc91c97d',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5flib_5fversion_5fh_57',['FT5XX6_REG_LIB_VERSION_H',['../group__ft5xx6__registers.html#ga89642a5b534743e63639822069f8cff0',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5flib_5fversion_5fl_58',['FT5XX6_REG_LIB_VERSION_L',['../group__ft5xx6__registers.html#gaf20b91b1a83ea37855f5fcfcae700159',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fmonitor_5fact_5fperiod_59',['FT5XX6_REG_MONITOR_ACT_PERIOD',['../group__ft5xx6__registers.html#ga1be9b52d8bc5125fd3514963027585e1',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fmonitor_5fstatus_5ftmr_60',['FT5XX6_REG_MONITOR_STATUS_TMR',['../group__ft5xx6__registers.html#ga59a4f6db976b607671d948d51ec3a2d6',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fpower_5fconsume_5fmode_61',['FT5XX6_REG_POWER_CONSUME_MODE',['../group__ft5xx6__registers.html#gaab067b4892cdca6f9b060edbf4d7c579',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5fpower_5fctrl_5fmode_62',['FT5XX6_REG_POWER_CTRL_MODE',['../group__ft5xx6__registers.html#ga596c00cc67787aeb4acb4d58ea9dc259',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5frunning_5fstate_63',['FT5XX6_REG_RUNNING_STATE',['../group__ft5xx6__registers.html#gabae27c2f3c8c464b2e4a39c932ebd084',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftd_5fstatus_64',['FT5XX6_REG_TD_STATUS',['../group__ft5xx6__registers.html#ga005eda4b759f90b7a1b684e39adf2b6f',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch1_5fxh_65',['FT5XX6_REG_TOUCH1_XH',['../group__ft5xx6__registers.html#gaec80f3f0e4f4353a2aec7531a9db05ef',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch1_5fxl_66',['FT5XX6_REG_TOUCH1_XL',['../group__ft5xx6__registers.html#ga93f84503f533f065ce5970ce1d43591c',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch1_5fyh_67',['FT5XX6_REG_TOUCH1_YH',['../group__ft5xx6__registers.html#ga235479e39af35ab46b3aa8fc02384fa8',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch1_5fyl_68',['FT5XX6_REG_TOUCH1_YL',['../group__ft5xx6__registers.html#ga0eca480461891c3c33d627cd1532a5d9',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch2_5fxh_69',['FT5XX6_REG_TOUCH2_XH',['../group__ft5xx6__registers.html#ga361b31fdf399b0a40c5aedc8120b82d2',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch2_5fxl_70',['FT5XX6_REG_TOUCH2_XL',['../group__ft5xx6__registers.html#gacff011a8e7b2c9fd34f7a0407976d3af',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch2_5fyh_71',['FT5XX6_REG_TOUCH2_YH',['../group__ft5xx6__registers.html#gaf368e8be3460c329019e97a53fd336bc',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch2_5fyl_72',['FT5XX6_REG_TOUCH2_YL',['../group__ft5xx6__registers.html#ga7d0dd5e9d96088d28439700a1b81078d',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch3_5fxh_73',['FT5XX6_REG_TOUCH3_XH',['../group__ft5xx6__registers.html#ga55e3ec274bb355695e29556f617eaec2',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch3_5fxl_74',['FT5XX6_REG_TOUCH3_XL',['../group__ft5xx6__registers.html#ga113762743ca541c7aba94be79c37e4a3',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch3_5fyh_75',['FT5XX6_REG_TOUCH3_YH',['../group__ft5xx6__registers.html#gad3f856ddff2ccf75349ee75d37c51322',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch3_5fyl_76',['FT5XX6_REG_TOUCH3_YL',['../group__ft5xx6__registers.html#gab436e5aecd5cf1c5c40bf7593b6a3cec',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch4_5fxh_77',['FT5XX6_REG_TOUCH4_XH',['../group__ft5xx6__registers.html#ga10eb6127e83e29d76a02ce9e5a5fae10',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch4_5fxl_78',['FT5XX6_REG_TOUCH4_XL',['../group__ft5xx6__registers.html#ga29479c572b8947f7322d2cb8a2cb02f0',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch4_5fyh_79',['FT5XX6_REG_TOUCH4_YH',['../group__ft5xx6__registers.html#ga0a6ee503e89a68a6cc4409099073fe56',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch4_5fyl_80',['FT5XX6_REG_TOUCH4_YL',['../group__ft5xx6__registers.html#gaa3b22ffa4d01f08042d854dc863ff2ba',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch5_5fxh_81',['FT5XX6_REG_TOUCH5_XH',['../group__ft5xx6__registers.html#ga003a3be17608c0062181d2d6b311b2cf',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch5_5fxl_82',['FT5XX6_REG_TOUCH5_XL',['../group__ft5xx6__registers.html#ga44b6ac08854f66b3ca5897d8d30bc4ab',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch5_5fyh_83',['FT5XX6_REG_TOUCH5_YH',['../group__ft5xx6__registers.html#ga2135e7acb4f44970e000cf3939b42cf6',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch5_5fyl_84',['FT5XX6_REG_TOUCH5_YL',['../group__ft5xx6__registers.html#ga5858094141e61f0253c90a886ca862dd',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch_5fdet_5fth_85',['FT5XX6_REG_TOUCH_DET_TH',['../group__ft5xx6__registers.html#gae860655ceed039a371c006cb634e592d',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch_5fpeak_5fdet_5fth_86',['FT5XX6_REG_TOUCH_PEAK_DET_TH',['../group__ft5xx6__registers.html#ga266afb318049260d4c59c11413466a66',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch_5fth_5fcal_87',['FT5XX6_REG_TOUCH_TH_CAL',['../group__ft5xx6__registers.html#gab02f95c87000f71a1d811e983512a93d',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch_5fth_5ftemp_5fcomp_88',['FT5XX6_REG_TOUCH_TH_TEMP_COMP',['../group__ft5xx6__registers.html#gaa6a2627f8dff67a5a12aeff0f9dab4e2',1,'ft5xx6.h']]], + ['ft5xx6_5freg_5ftouch_5fth_5fwater_89',['FT5XX6_REG_TOUCH_TH_WATER',['../group__ft5xx6__registers.html#ga8bce6229099426aa0d5c884c2caef3fa',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5fauto_5fcal_90',['FT5XX6_RUN_MODE_AUTO_CAL',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da018c9eada47cdd6e8d5884137dd92b57',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5fcal_91',['FT5XX6_RUN_MODE_CAL',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da58728c858c3a7b64aaf0d01649d94b22',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5fcfg_92',['FT5XX6_RUN_MODE_CFG',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872dadaab43c87f17aae1b5f9b9d476b8f659',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5ffact_93',['FT5XX6_RUN_MODE_FACT',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da7932bc9ccbd47f7afa1bdd659f6a4e0c',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5fsetup_94',['ft5xx6_run_mode_setup',['../group__ft5xx6.html#ga0db7f121c8041d18fd70616a74669552',1,'ft5xx6_run_mode_setup(ft5xx6_t *ctx, ft5xx6_run_mode_t mode): ft5xx6.c'],['../group__ft5xx6.html#ga0db7f121c8041d18fd70616a74669552',1,'ft5xx6_run_mode_setup(ft5xx6_t *ctx, ft5xx6_run_mode_t mode): ft5xx6.c']]], + ['ft5xx6_5frun_5fmode_5ft_95',['ft5xx6_run_mode_t',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872d',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5fwork_96',['FT5XX6_RUN_MODE_WORK',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da46a0c39e02d1928889916183cb6d9607',1,'ft5xx6.h']]], + ['ft5xx6_5ft_97',['ft5xx6_t',['../structft5xx6__t.html',1,'']]] +]; diff --git a/html/search/all_6.js b/html/search/all_6.js new file mode 100644 index 0000000..60c1a96 --- /dev/null +++ b/html/search/all_6.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['gain_0',['GAIN',['../measure_8c.html#a8c8f27b35dfa40ccf31c1ee31479a31c',1,'measure.c']]], + ['gest_5fitems_1',['gest_items',['../structft5xx6__controller__t.html#a9e0bb5e288f91add858195ebde223dd6',1,'ft5xx6_controller_t']]], + ['gesture_2',['gesture',['../structft5xx6__t.html#a6849bc0e9b77554bd0fbd8bb3d269777',1,'ft5xx6_t']]] +]; diff --git a/html/search/all_7.js b/html/search/all_7.js new file mode 100644 index 0000000..afa8976 --- /dev/null +++ b/html/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['high_0',['HIGH',['../pin__manager_8h.html#a5bb885982ff66a2e0a0a45a8ee9c35e2',1,'pin_manager.h']]], + ['holding_5fregisters_1',['holding_registers',['../modbus_8c.html#a2aac17f17a0fbffad12e7ca46ed8ae0f',1,'holding_registers(): modbus.c'],['../modbus_8h.html#a2aac17f17a0fbffad12e7ca46ed8ae0f',1,'holding_registers(): modbus.c']]] +]; diff --git a/html/search/all_8.js b/html/search/all_8.js new file mode 100644 index 0000000..c0136e6 --- /dev/null +++ b/html/search/all_8.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['i2c_0',['i2c',['../structft5xx6__t.html#a4be2bf697619ecbf257bb107dec16311',1,'ft5xx6_t']]], + ['i2c_5fcfg_1',['i2c_cfg',['../structft5xx6__cfg__t.html#ab61093a22dc5dd8b9afb0d9e0fd3a333',1,'ft5xx6_cfg_t']]], + ['illegal_5fdata_5faddress_2',['ILLEGAL_DATA_ADDRESS',['../modbus_8c.html#ad36357dad4ceb8b0ecb0f5f53eee1502',1,'modbus.c']]], + ['illegal_5fdata_5fvalue_3',['ILLEGAL_DATA_VALUE',['../modbus_8c.html#a2a9c40f66b96eb93a9dbb17d1f79443d',1,'modbus.c']]], + ['illegal_5ffunction_4',['ILLEGAL_FUNCTION',['../modbus_8c.html#a262addcd07ad5759dbeca3efe5d808d3',1,'modbus.c']]], + ['input_5',['INPUT',['../pin__manager_8h.html#a1bb283bd7893b9855e2f23013891fc82',1,'pin_manager.h']]], + ['input_5fregisters_6',['input_registers',['../modbus_8c.html#af231936e7cd39b49156a2a178f3d54eb',1,'input_registers(): modbus.c'],['../modbus_8h.html#af231936e7cd39b49156a2a178f3d54eb',1,'input_registers(): modbus.c']]], + ['int_5fpin_7',['int_pin',['../structft5xx6__cfg__t.html#ae39a804199260e4bb0eb502f11bb9475',1,'ft5xx6_cfg_t::int_pin()'],['../structft5xx6__t.html#ab58ae0aafb3cce13098c49c9fef04d0e',1,'ft5xx6_t::int_pin()']]], + ['interrupt_5fglobalinterruptdisable_8',['INTERRUPT_GlobalInterruptDisable',['../interrupt__manager_8h.html#a5dfc9352c85bc78d317b8327ae7e6450',1,'interrupt_manager.h']]], + ['interrupt_5fglobalinterruptenable_9',['INTERRUPT_GlobalInterruptEnable',['../interrupt__manager_8h.html#ab801e88ce18e2d200429ffbaa67dbf2b',1,'interrupt_manager.h']]], + ['interrupt_5finitialize_10',['INTERRUPT_Initialize',['../interrupt__manager_8c.html#a5c526129ee879458dff6755f5768a6e3',1,'INTERRUPT_Initialize(void): interrupt_manager.c'],['../interrupt__manager_8h.html#a5c526129ee879458dff6755f5768a6e3',1,'INTERRUPT_Initialize(void): interrupt_manager.c']]], + ['interrupt_5fmanager_2ec_11',['interrupt_manager.c',['../interrupt__manager_8c.html',1,'']]], + ['interrupt_5fmanager_2eh_12',['interrupt_manager.h',['../interrupt__manager_8h.html',1,'']]], + ['interrupt_5fperipheralinterruptdisable_13',['INTERRUPT_PeripheralInterruptDisable',['../interrupt__manager_8h.html#a99647ba59dd01ba1dc3a6f0ca263ab8d',1,'interrupt_manager.h']]], + ['interrupt_5fperipheralinterruptenable_14',['INTERRUPT_PeripheralInterruptEnable',['../interrupt__manager_8h.html#a35865b73bdecc073d43ad4e0c62187ea',1,'interrupt_manager.h']]] +]; diff --git a/html/search/all_9.js b/html/search/all_9.js new file mode 100644 index 0000000..056934d --- /dev/null +++ b/html/search/all_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_0',['key',['../structft5xx6__gest__item__t.html#a51a08fdbfd3344e99744fa9754c0d115',1,'ft5xx6_gest_item_t']]] +]; diff --git a/html/search/all_a.js b/html/search/all_a.js new file mode 100644 index 0000000..3b4c38f --- /dev/null +++ b/html/search/all_a.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['lcd_2ec_0',['lcd.c',['../lcd_8c.html',1,'']]], + ['lcd_2eh_1',['lcd.h',['../lcd_8h.html',1,'']]], + ['lcd_5f2x16_5fwritecmd_2',['LCD_2x16_WriteCmd',['../lcd_8c.html#a3305f9be08938e31fe3ddb754ffc1c58',1,'LCD_2x16_WriteCmd(uint8_t command): lcd.c'],['../lcd_8h.html#a3305f9be08938e31fe3ddb754ffc1c58',1,'LCD_2x16_WriteCmd(uint8_t command): lcd.c']]], + ['lcd_5f2x16_5fwritedata_3',['LCD_2x16_WriteData',['../lcd_8c.html#a045b8ad35250a48c972514c1b8d9ad8a',1,'LCD_2x16_WriteData(uint8_t command): lcd.c'],['../lcd_8h.html#a045b8ad35250a48c972514c1b8d9ad8a',1,'LCD_2x16_WriteData(uint8_t command): lcd.c']]], + ['lcd_5f2x16_5fwritemsg_4',['LCD_2x16_WriteMsg',['../lcd_8c.html#ae82c1ee673779250514a3227235976e4',1,'LCD_2x16_WriteMsg(unsigned char *msg, uint8_t line): lcd.c'],['../lcd_8h.html#ae82c1ee673779250514a3227235976e4',1,'LCD_2x16_WriteMsg(unsigned char *msg, uint8_t line): lcd.c']]], + ['lcd_5fcs_5',['LCD_CS',['../lcd_8h.html#a71d24cab0e16b054de228f29139f1b79',1,'lcd.h']]], + ['lcd_5fdata_5fl_6',['LCD_DATA_L',['../lcd_8h.html#ac44fcb5a86292cb589248b2ffa2fc960',1,'lcd.h']]], + ['lcd_5fdata_5fl_5fdir_7',['LCD_DATA_L_DIR',['../lcd_8h.html#a041f6b842c82805221a92a6a626c1c52',1,'lcd.h']]], + ['lcd_5finit_8',['Lcd_Init',['../lcd_8c.html#ae3e90a42efbeab0e5b0c6478e01e80ba',1,'Lcd_Init(void): lcd.c'],['../lcd_8h.html#ae3e90a42efbeab0e5b0c6478e01e80ba',1,'Lcd_Init(void): lcd.c']]], + ['lcd_5frs_9',['LCD_RS',['../lcd_8h.html#a4781e073871c6f27f89b9463ad3a4ed1',1,'lcd.h']]], + ['low_10',['LOW',['../pin__manager_8h.html#ab811d8c6ff3a505312d3276590444289',1,'pin_manager.h']]] +]; diff --git a/html/search/all_b.js b/html/search/all_b.js new file mode 100644 index 0000000..faa140a --- /dev/null +++ b/html/search/all_b.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['main_0',['main',['../main_8c.html#a6288eba0f8e8ad3ab1544ad731eb7667',1,'main.c']]], + ['main_2ec_1',['main.c',['../main_8c.html',1,'']]], + ['max_5fcol_2',['MAX_COL',['../main_8c.html#a97e80440b5a5ec2ffc172dead9f8d2ec',1,'main.c']]], + ['mcc_2ec_3',['mcc.c',['../mcc_8c.html',1,'']]], + ['mcc_2eh_4',['mcc.h',['../mcc_8h.html',1,'']]], + ['measure_2ec_5',['measure.c',['../measure_8c.html',1,'']]], + ['measure_2eh_6',['measure.h',['../measure_8h.html',1,'']]], + ['measure_5fcurrent_7',['measure_current',['../measure_8c.html#ad77a3b79bc20b11c0d5462cc0b7134b3',1,'measure_current(uint16_t offset): measure.c'],['../measure_8h.html#ad77a3b79bc20b11c0d5462cc0b7134b3',1,'measure_current(uint16_t offset): measure.c']]], + ['measure_5fvoltage_8',['measure_voltage',['../measure_8c.html#a104c0f284978c4cc8d34d36677a97e72',1,'measure_voltage(): measure.c'],['../measure_8h.html#ad6d7d2ebed0e9762bc0e5e05619f87e1',1,'measure_voltage(void): measure.c'],['../modbus_8c.html#a104c0f284978c4cc8d34d36677a97e72',1,'measure_voltage(): measure.c']]], + ['middleware_9',['Middleware',['../group__middlewaregroup.html',1,'']]], + ['modbus_2ec_10',['modbus.c',['../modbus_8c.html',1,'']]], + ['modbus_2eh_11',['modbus.h',['../modbus_8h.html',1,'']]], + ['modbus_5fanalyse_5fand_5fanswer_12',['modbus_analyse_and_answer',['../modbus_8c.html#a6ae3279c3dcad4aa532eb07689f242e1',1,'modbus_analyse_and_answer(void): modbus.c'],['../modbus_8h.html#a6ae3279c3dcad4aa532eb07689f242e1',1,'modbus_analyse_and_answer(void): modbus.c']]], + ['modbus_5fchar_5frecvd_13',['modbus_char_recvd',['../modbus_8c.html#aacb32a5aea357fae4e7fde574f95bfb9',1,'modbus_char_recvd(void): modbus.c'],['../modbus_8h.html#aacb32a5aea357fae4e7fde574f95bfb9',1,'modbus_char_recvd(void): modbus.c']]], + ['modbus_5finit_14',['modbus_init',['../modbus_8c.html#a67d9839b8e221bcb53bbbb2ba59ff618',1,'modbus_init(uint8_t address): modbus.c'],['../modbus_8h.html#a67d9839b8e221bcb53bbbb2ba59ff618',1,'modbus_init(uint8_t address): modbus.c']]], + ['modbus_5fsend_15',['modbus_send',['../modbus_8c.html#af1b0553ef81d80e21233e23c3253ae61',1,'modbus_send(uint8_t length): modbus.c'],['../modbus_8h.html#af1b0553ef81d80e21233e23c3253ae61',1,'modbus_send(uint8_t length): modbus.c']]], + ['modbus_5ftimer_16',['modbus_timer',['../modbus_8c.html#add3e4a272cc65130d4e9f9c53caa61db',1,'modbus_timer(void): modbus.c'],['../modbus_8h.html#add3e4a272cc65130d4e9f9c53caa61db',1,'modbus_timer(void): modbus.c']]], + ['modbusaddress_17',['modbusAddress',['../modbus_8c.html#a32ee4d57aa4ff7f7fce07fbe100dc0c2',1,'modbusAddress(): modbus.c'],['../modbus_8h.html#a32ee4d57aa4ff7f7fce07fbe100dc0c2',1,'modbusAddress(): modbus.c']]] +]; diff --git a/html/search/all_c.js b/html/search/all_c.js new file mode 100644 index 0000000..5be0a69 --- /dev/null +++ b/html/search/all_c.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['oerr_0',['oerr',['../unioneusart1__status__t.html#a2adc147f70809e1192027883ea6e4bb6',1,'eusart1_status_t']]], + ['oscillator_5finitialize_1',['OSCILLATOR_Initialize',['../mcc_8c.html#a4777dd92514a7e4ef803f9e869006f5d',1,'OSCILLATOR_Initialize(void): mcc.c'],['../mcc_8h.html#a4777dd92514a7e4ef803f9e869006f5d',1,'OSCILLATOR_Initialize(void): mcc.c']]], + ['output_2',['OUTPUT',['../pin__manager_8h.html#a61a3c9a18380aafb6e430e79bf596557',1,'pin_manager.h']]] +]; diff --git a/html/search/all_d.js b/html/search/all_d.js new file mode 100644 index 0000000..1ff77ae --- /dev/null +++ b/html/search/all_d.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['perr_0',['perr',['../unioneusart1__status__t.html#ae6c7b4fe5cea9d793aa19298e0a39289',1,'eusart1_status_t']]], + ['pin_5fmanager_2ec_1',['pin_manager.c',['../pin__manager_8c.html',1,'']]], + ['pin_5fmanager_2eh_2',['pin_manager.h',['../pin__manager_8h.html',1,'']]], + ['pin_5fmanager_5finitialize_3',['PIN_MANAGER_Initialize',['../pin__manager_8c.html#a50357774183a136d9490f64ad0d5c6cb',1,'PIN_MANAGER_Initialize(void): pin_manager.c'],['../pin__manager_8h.html#a50357774183a136d9490f64ad0d5c6cb',1,'PIN_MANAGER_Initialize(void): pin_manager.c']]], + ['pin_5fmanager_5fioc_4',['PIN_MANAGER_IOC',['../pin__manager_8c.html#a6ff320d017cf9b99ba9045f24d7ec896',1,'PIN_MANAGER_IOC(void): pin_manager.c'],['../pin__manager_8h.html#a6ff320d017cf9b99ba9045f24d7ec896',1,'PIN_MANAGER_IOC(void): pin_manager.c']]], + ['press_5fdet_5',['press_det',['../structft5xx6__t.html#a86e59479d8fcedc39c5ee3b9bc2f4346',1,'ft5xx6_t']]], + ['pull_5fup_5fdisabled_6',['PULL_UP_DISABLED',['../pin__manager_8h.html#aa2df433ea6e6c6cd49babd945e27315e',1,'pin_manager.h']]], + ['pull_5fup_5fenabled_7',['PULL_UP_ENABLED',['../pin__manager_8h.html#a2556d56311dd94f5834ef8fb4e6d875d',1,'pin_manager.h']]], + ['pwm1_5finitialize_5fduty_5fvalue_8',['PWM1_INITIALIZE_DUTY_VALUE',['../epwm1_8c.html#a826e981181cbd3e99fa4f7d7072f84c9',1,'epwm1.c']]] +]; diff --git a/html/search/all_e.js b/html/search/all_e.js new file mode 100644 index 0000000..316c326 --- /dev/null +++ b/html/search/all_e.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['rc2_5fgetvalue_0',['RC2_GetValue',['../pin__manager_8h.html#affaf9ed86b070edaeb74f56731324f9a',1,'pin_manager.h']]], + ['rc2_5fsetdigitalinput_1',['RC2_SetDigitalInput',['../pin__manager_8h.html#a2853d0aa2258a6b70bfae5b1e3a8e5f5',1,'pin_manager.h']]], + ['rc2_5fsetdigitaloutput_2',['RC2_SetDigitalOutput',['../pin__manager_8h.html#af5c3a99cae06ec6e93326b1c4b375829',1,'pin_manager.h']]], + ['rc2_5fsethigh_3',['RC2_SetHigh',['../pin__manager_8h.html#a13409aed95071c7b459c3e05bfc03ad6',1,'pin_manager.h']]], + ['rc2_5fsetlow_4',['RC2_SetLow',['../pin__manager_8h.html#af79fe0790c400d367d90aca91f1d4ebe',1,'pin_manager.h']]], + ['rc2_5ftoggle_5',['RC2_Toggle',['../pin__manager_8h.html#a8c82f584c1c15d493ea6d9298e3e163b',1,'pin_manager.h']]], + ['rc6_5fgetvalue_6',['RC6_GetValue',['../pin__manager_8h.html#aabc04f997eee87063968bcfe13577f5b',1,'pin_manager.h']]], + ['rc6_5fsetdigitalinput_7',['RC6_SetDigitalInput',['../pin__manager_8h.html#a89bc856d0077a504b2b7b7fae0906980',1,'pin_manager.h']]], + ['rc6_5fsetdigitaloutput_8',['RC6_SetDigitalOutput',['../pin__manager_8h.html#a0bea4d663298f48fb48066417386ae45',1,'pin_manager.h']]], + ['rc6_5fsethigh_9',['RC6_SetHigh',['../pin__manager_8h.html#a67ba466a3baf30d3a707c345f1eff2f9',1,'pin_manager.h']]], + ['rc6_5fsetlow_10',['RC6_SetLow',['../pin__manager_8h.html#af2ee1c24573dd14e8fbcfadbce9267d9',1,'pin_manager.h']]], + ['rc6_5ftoggle_11',['RC6_Toggle',['../pin__manager_8h.html#a6c30c790d388a78216ea6b9cdea4008b',1,'pin_manager.h']]], + ['read_5fholding_5fregisters_12',['READ_HOLDING_REGISTERS',['../modbus_8c.html#a72629c87e1b18706ed17ee3dc768d5d1',1,'modbus.c']]], + ['read_5finput_5fregisters_13',['READ_INPUT_REGISTERS',['../modbus_8c.html#a860e48854b8e16a310dd29fe6e069561',1,'modbus.c']]], + ['recptr_14',['recPtr',['../modbus_8c.html#a9acb7baf86b62d19a199e672316e6294',1,'modbus.c']]], + ['reserved_15',['reserved',['../unioneusart1__status__t.html#a08cd561c8c1d205b5198a24a24ade1f7',1,'eusart1_status_t']]], + ['resistor_16',['RESISTOR',['../measure_8c.html#a061cddbb720e9fd818a11a141e890f47',1,'measure.c']]], + ['rx_5fbuf_17',['rx_buf',['../modbus_8c.html#a95463de2dabcd8671528bb72c7139e46',1,'modbus.c']]] +]; diff --git a/html/search/all_f.js b/html/search/all_f.js new file mode 100644 index 0000000..050ce67 --- /dev/null +++ b/html/search/all_f.js @@ -0,0 +1,84 @@ +var searchData= +[ + ['slave_5fdevice_5ffailure_0',['SLAVE_DEVICE_FAILURE',['../modbus_8c.html#a92cb3f97527a2fbca9881dc0c14d98eb',1,'modbus.c']]], + ['ssd1963_20display_20controller_20commands_1',['SSD1963 Display Controller Commands',['../group__ssd1963__commands.html',1,'']]], + ['ssd1963_20display_20controller_20driver_2',['SSD1963 Display Controller Driver',['../group__ssd1963.html',1,'']]], + ['ssd1963_5fcmd_2eh_3',['ssd1963_cmd.h',['../ssd1963__cmd_8h.html',1,'']]], + ['ssd1963_5fcmd_5fenter_5fidle_5fmode_4',['SSD1963_CMD_ENTER_IDLE_MODE',['../group__ssd1963__commands.html#ga2c5dea1a840e735bf752cfd4161dbdbf',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fenter_5finvert_5fmode_5',['SSD1963_CMD_ENTER_INVERT_MODE',['../group__ssd1963__commands.html#gae755a0ff04d2374221a02b25461b3e48',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fenter_5fnormal_5fmode_6',['SSD1963_CMD_ENTER_NORMAL_MODE',['../group__ssd1963__commands.html#gaf6c4502730577691abd838bc54a61999',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fenter_5fpartial_5fmode_7',['SSD1963_CMD_ENTER_PARTIAL_MODE',['../group__ssd1963__commands.html#ga99fbffbdf19523bd314cb976b68eb6b6',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fenter_5fsleep_5fmode_8',['SSD1963_CMD_ENTER_SLEEP_MODE',['../group__ssd1963__commands.html#ga57289edf862630f53d68e669085ea7a3',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fexit_5fidle_5fmode_9',['SSD1963_CMD_EXIT_IDLE_MODE',['../group__ssd1963__commands.html#ga6282d916f4fc2f3e4e1bc8907b931aba',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fexit_5finvert_5fmode_10',['SSD1963_CMD_EXIT_INVERT_MODE',['../group__ssd1963__commands.html#ga5a10c822d01def2612fe279a48cd3225',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fexit_5fsleep_5fmode_11',['SSD1963_CMD_EXIT_SLEEP_MODE',['../group__ssd1963__commands.html#gaebaeaa16b7ce448deac22b383aea3465',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5faddress_5fmode_12',['SSD1963_CMD_GET_ADDRESS_MODE',['../group__ssd1963__commands.html#ga55f2a8be9c7f29ea5767daebde88e0e1',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fdbc_5fconf_13',['SSD1963_CMD_GET_DBC_CONF',['../group__ssd1963__commands.html#gaf16b32838833eb19f100be9bf84757fa',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fdbc_5fth_14',['SSD1963_CMD_GET_DBC_TH',['../group__ssd1963__commands.html#gab7ba37ba8593da2ce5c91cf0b845358a',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fdisplay_5fmode_15',['SSD1963_CMD_GET_DISPLAY_MODE',['../group__ssd1963__commands.html#ga47c1a96472e2a02872475fe71beefefc',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fgpio0_5frop_16',['SSD1963_CMD_GET_GPIO0_ROP',['../group__ssd1963__commands.html#gaec878e56db9f968cce0365d2d9c2e33e',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fgpio1_5frop_17',['SSD1963_CMD_GET_GPIO1_ROP',['../group__ssd1963__commands.html#ga17d2f3d0dd63cdb4f7efa570190696ea',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fgpio2_5frop_18',['SSD1963_CMD_GET_GPIO2_ROP',['../group__ssd1963__commands.html#ga78599bdb89609e17337e977a8bb65253',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fgpio3_5frop_19',['SSD1963_CMD_GET_GPIO3_ROP',['../group__ssd1963__commands.html#ga6668c18c3d023db129da7e5287cfb780',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fgpio_5fconf_20',['SSD1963_CMD_GET_GPIO_CONF',['../group__ssd1963__commands.html#gaa88506d0e3a8c0405dadcc5759650198',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fgpio_5fstatus_21',['SSD1963_CMD_GET_GPIO_STATUS',['../group__ssd1963__commands.html#ga6e06f86b0e4fc11bcce1966bf959d9bd',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fhori_5fperiod_22',['SSD1963_CMD_GET_HORI_PERIOD',['../group__ssd1963__commands.html#ga7f4ef2eed395b52590f72f9d4dc6b03d',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5flcd_5fgen0_23',['SSD1963_CMD_GET_LCD_GEN0',['../group__ssd1963__commands.html#gaf57d35bb34a2f9e93bf394ad375a57f4',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5flcd_5fgen1_24',['SSD1963_CMD_GET_LCD_GEN1',['../group__ssd1963__commands.html#ga86c5362994c14c377065c2b6210291fd',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5flcd_5fgen2_25',['SSD1963_CMD_GET_LCD_GEN2',['../group__ssd1963__commands.html#gaa96e1b3b954d5ac9879cbd964feb7a4f',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5flcd_5fgen3_26',['SSD1963_CMD_GET_LCD_GEN3',['../group__ssd1963__commands.html#ga0ab64e469bb8413a5e1875a27a2932a7',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5flcd_5fmode_27',['SSD1963_CMD_GET_LCD_MODE',['../group__ssd1963__commands.html#gac18865e8dc952594c67102f1ef2afe53',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5flshift_5ffreq_28',['SSD1963_CMD_GET_LSHIFT_FREQ',['../group__ssd1963__commands.html#gadcfa2a415d5348aa35b4b19dfb9f6eb6',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fpixel_5fdata_5finterface_29',['SSD1963_CMD_GET_PIXEL_DATA_INTERFACE',['../group__ssd1963__commands.html#ga7726be95b20a924b19a0e6955469e1e7',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fpll_5fmn_30',['SSD1963_CMD_GET_PLL_MN',['../group__ssd1963__commands.html#ga452389c04cfc2b314b88c9edddebcb62',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fpll_5fstatus_31',['SSD1963_CMD_GET_PLL_STATUS',['../group__ssd1963__commands.html#gaf58c392bf4c166587b6948480f173a2c',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fpost_5fproc_32',['SSD1963_CMD_GET_POST_PROC',['../group__ssd1963__commands.html#ga64ada6fc3b175c02e1319d5119164262',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fpower_5fmode_33',['SSD1963_CMD_GET_POWER_MODE',['../group__ssd1963__commands.html#gac1c7af6f3dce9128cdaab9990fc32f09',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fpwm_5fconf_34',['SSD1963_CMD_GET_PWM_CONF',['../group__ssd1963__commands.html#gac0e4ee0f4b8e5f5f05d37e5aed2523c7',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fscanline_35',['SSD1963_CMD_GET_SCANLINE',['../group__ssd1963__commands.html#ga2f50f4608a9c41f105e0a4d42af40ed5',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5ftear_5feffect_5fstatus_36',['SSD1963_CMD_GET_TEAR_EFFECT_status',['../group__ssd1963__commands.html#gaa4913969868da689f455fcf456206a5e',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fget_5fvert_5fperiod_37',['SSD1963_CMD_GET_VERT_PERIOD',['../group__ssd1963__commands.html#ga6c2790c8fa45e2e094c89f45c168d26f',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fnop_38',['SSD1963_CMD_NOP',['../group__ssd1963__commands.html#ga28b4566c03c70de69ee814631f672842',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fread_5fddb_39',['SSD1963_CMD_READ_DDB',['../group__ssd1963__commands.html#gaaedc464117fa45bd9283173ca1d2a897',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fread_5fmemory_5fcontinue_40',['SSD1963_CMD_READ_MEMORY_CONTINUE',['../group__ssd1963__commands.html#gad34eb3ea10479cc6ab5af8a5a6bb0dfd',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fread_5fmemory_5fstart_41',['SSD1963_CMD_READ_MEMORY_START',['../group__ssd1963__commands.html#ga09abb8af35157af765ab4a972f865a6f',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5faddress_5fmode_42',['SSD1963_CMD_SET_ADDRESS_MODE',['../group__ssd1963__commands.html#ga4f4ea542149405e8341080302b240b5e',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fcolumn_5faddress_43',['SSD1963_CMD_SET_COLUMN_ADDRESS',['../group__ssd1963__commands.html#ga5a1cae235fccf498a81b2b3e945c8989',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fdbc_5fconf_44',['SSD1963_CMD_SET_DBC_CONF',['../group__ssd1963__commands.html#gae0cc4e550c8f289531569b18900ab479',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fdbc_5fth_45',['SSD1963_CMD_SET_DBC_TH',['../group__ssd1963__commands.html#gab880422087fa233dac130499eddd745b',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fdeep_5fsleep_46',['SSD1963_CMD_SET_DEEP_SLEEP',['../group__ssd1963__commands.html#gae1c08119d3b54b1fa2767fbedc64bbba',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fdisplay_5foff_47',['SSD1963_CMD_SET_DISPLAY_OFF',['../group__ssd1963__commands.html#gaa5b5f8e3e870b003f0a426bad9f4083b',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fdisplay_5fon_48',['SSD1963_CMD_SET_DISPLAY_ON',['../group__ssd1963__commands.html#ga4463a1fb31c546d71caa80020829e854',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fgamma_5fcurve_49',['SSD1963_CMD_SET_GAMMA_CURVE',['../group__ssd1963__commands.html#gab63ccdc0c4a636955a482ece8c1c338f',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fgpio0_5frop_50',['SSD1963_CMD_SET_GPIO0_ROP',['../group__ssd1963__commands.html#gafe20d4df7574c312a770a84289f1ea31',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fgpio1_5frop_51',['SSD1963_CMD_SET_GPIO1_ROP',['../group__ssd1963__commands.html#ga24842b33d29ee77390ec364acff5e033',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fgpio2_5frop_52',['SSD1963_CMD_SET_GPIO2_ROP',['../group__ssd1963__commands.html#ga1f493f024a6892586370401b74f2152f',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fgpio3_5frop_53',['SSD1963_CMD_SET_GPIO3_ROP',['../group__ssd1963__commands.html#gaedf50ae86e165d62f4ff9a2c7ccc6faf',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fgpio_5fconf_54',['SSD1963_CMD_SET_GPIO_CONF',['../group__ssd1963__commands.html#gad8064a7e326d276d5ad49c68ead48afa',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fgpio_5fvalue_55',['SSD1963_CMD_SET_GPIO_VALUE',['../group__ssd1963__commands.html#ga9697b3d019345aabf27adf5501609163',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fhori_5fperiod_56',['SSD1963_CMD_SET_HORI_PERIOD',['../group__ssd1963__commands.html#ga6367813627ea227531d633a5f0d1cf8f',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5flcd_5fgen0_57',['SSD1963_CMD_SET_LCD_GEN0',['../group__ssd1963__commands.html#ga43f14eb9831663fed17738178bffaff9',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5flcd_5fgen1_58',['SSD1963_CMD_SET_LCD_GEN1',['../group__ssd1963__commands.html#ga5754f5b87f11b802041cd4a7cf7f8922',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5flcd_5fgen2_59',['SSD1963_CMD_SET_LCD_GEN2',['../group__ssd1963__commands.html#ga9669e3da7b2ca47f751e4fc0c2aace06',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5flcd_5fgen3_60',['SSD1963_CMD_SET_LCD_GEN3',['../group__ssd1963__commands.html#gaa8777a327daab166449381aa3c40b1ac',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5flcd_5fmode_61',['SSD1963_CMD_SET_LCD_MODE',['../group__ssd1963__commands.html#ga0d62b888ba9ada391b383e86bc49a5a2',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5flshift_5ffreq_62',['SSD1963_CMD_SET_LSHIFT_FREQ',['../group__ssd1963__commands.html#ga58e1f6409589e8268258fd7642e3962a',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fpage_5faddress_63',['SSD1963_CMD_SET_PAGE_ADDRESS',['../group__ssd1963__commands.html#gaad5ab15a32df657361120395eaabdd3e',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fpartial_5farea_64',['SSD1963_CMD_SET_PARTIAL_AREA',['../group__ssd1963__commands.html#ga7d3fcb40193974cf24104a4d6f8f0ae5',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fpixel_5fdata_5finterface_65',['SSD1963_CMD_SET_PIXEL_DATA_INTERFACE',['../group__ssd1963__commands.html#gab88b4b7bc3e2b686f8b6f53a29a55adc',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fpll_66',['SSD1963_CMD_SET_PLL',['../group__ssd1963__commands.html#ga023ad024f7deb2cf1f307ef80b14e28f',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fpll_5fmn_67',['SSD1963_CMD_SET_PLL_MN',['../group__ssd1963__commands.html#ga70769caa2f1f173abfd8cc9dd1a9f002',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fpost_5fproc_68',['SSD1963_CMD_SET_POST_PROC',['../group__ssd1963__commands.html#ga6a60f92bf8f4023465bf6c2227c0e0a5',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fpwm_5fconf_69',['SSD1963_CMD_SET_PWM_CONF',['../group__ssd1963__commands.html#gaba8e814d8c960e0aca41ca5b25e13468',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fscroll_5farea_70',['SSD1963_CMD_SET_SCROLL_AREA',['../group__ssd1963__commands.html#gabd078989b795403b6dc307a878dfc927',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fscroll_5fstart_71',['SSD1963_CMD_SET_SCROLL_START',['../group__ssd1963__commands.html#ga8ee0f5e72f381433746c9da694b3dd24',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5ftear_5foff_72',['SSD1963_CMD_SET_TEAR_OFF',['../group__ssd1963__commands.html#ga47ea759448957805d185e7e1889545e8',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5ftear_5fon_73',['SSD1963_CMD_SET_TEAR_ON',['../group__ssd1963__commands.html#ga6c683379f8bcad6af9360954dccfc1a2',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5ftear_5fscanline_74',['SSD1963_CMD_SET_TEAR_SCANLINE',['../group__ssd1963__commands.html#ga0fe83402a486a6588ac4dfa5675452ea',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fset_5fvert_5fperiod_75',['SSD1963_CMD_SET_VERT_PERIOD',['../group__ssd1963__commands.html#gac80b8a67c25324b986682404759215a3',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fsoft_5freset_76',['SSD1963_CMD_SOFT_RESET',['../group__ssd1963__commands.html#gad70cf894e51f94804bb8cb3297be2f43',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fwrite_5fmemory_5fcontinue_77',['SSD1963_CMD_WRITE_MEMORY_CONTINUE',['../group__ssd1963__commands.html#ga2d20a8ba4032ec59f6f9b9bf2a06fe10',1,'ssd1963_cmd.h']]], + ['ssd1963_5fcmd_5fwrite_5fmemory_5fstart_78',['SSD1963_CMD_WRITE_MEMORY_START',['../group__ssd1963__commands.html#ga163e3b56e45c90da14417449d4aaea7b',1,'ssd1963_cmd.h']]], + ['status_79',['status',['../unioneusart1__status__t.html#aaf5f21152e8c11a388b2661446a9fad4',1,'eusart1_status_t']]], + ['system_5finitialize_80',['SYSTEM_Initialize',['../mcc_8c.html#a5e8391114a0cf91ac20002be25e3d352',1,'SYSTEM_Initialize(void): mcc.c'],['../mcc_8h.html#a5e8391114a0cf91ac20002be25e3d352',1,'SYSTEM_Initialize(void): mcc.c']]] +]; diff --git a/html/search/classes_0.js b/html/search/classes_0.js new file mode 100644 index 0000000..4dd03e8 --- /dev/null +++ b/html/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['adc_5fsync_5fdouble_5fresult_5ft_0',['adc_sync_double_result_t',['../structadc__sync__double__result__t.html',1,'']]] +]; diff --git a/html/search/classes_1.js b/html/search/classes_1.js new file mode 100644 index 0000000..a0089a5 --- /dev/null +++ b/html/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eusart1_5fstatus_5ft_0',['eusart1_status_t',['../unioneusart1__status__t.html',1,'']]] +]; diff --git a/html/search/classes_2.js b/html/search/classes_2.js new file mode 100644 index 0000000..765c0c5 --- /dev/null +++ b/html/search/classes_2.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['ft5xx6_5fcfg_5ft_0',['ft5xx6_cfg_t',['../structft5xx6__cfg__t.html',1,'']]], + ['ft5xx6_5fcontroller_5ft_1',['ft5xx6_controller_t',['../structft5xx6__controller__t.html',1,'']]], + ['ft5xx6_5fgest_5fitem_5ft_2',['ft5xx6_gest_item_t',['../structft5xx6__gest__item__t.html',1,'']]], + ['ft5xx6_5ft_3',['ft5xx6_t',['../structft5xx6__t.html',1,'']]] +]; diff --git a/html/search/close.svg b/html/search/close.svg new file mode 100644 index 0000000..a933eea --- /dev/null +++ b/html/search/close.svg @@ -0,0 +1,31 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/html/search/defines_0.js b/html/search/defines_0.js new file mode 100644 index 0000000..e51707b --- /dev/null +++ b/html/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_5fxtal_5ffreq_0',['_XTAL_FREQ',['../device__config_8h.html#a024148e99a7143db044a48216664d03d',1,'_XTAL_FREQ(): device_config.h'],['../lcd_8c.html#a024148e99a7143db044a48216664d03d',1,'_XTAL_FREQ(): lcd.c']]] +]; diff --git a/html/search/defines_1.js b/html/search/defines_1.js new file mode 100644 index 0000000..2d38082 --- /dev/null +++ b/html/search/defines_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['adc_5frefh_0',['ADC_REFH',['../measure_8c.html#a0d196150332c5bf12bb9684b0f1cc975',1,'measure.c']]], + ['adc_5fresolution_1',['ADC_RESOLUTION',['../measure_8c.html#a00978ca9e8220475258dcbbbb7d29129',1,'measure.c']]], + ['analog_2',['ANALOG',['../pin__manager_8h.html#ad42aa2404559d4a465d5d45e857f2881',1,'pin_manager.h']]], + ['average_5fsamples_3',['AVERAGE_SAMPLES',['../measure_8c.html#a0772f4f0c5e19d53263d12a0c0b296ae',1,'measure.c']]] +]; diff --git a/html/search/defines_2.js b/html/search/defines_2.js new file mode 100644 index 0000000..2cd5d25 --- /dev/null +++ b/html/search/defines_2.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['current_5fans_0',['current_ANS',['../pin__manager_8h.html#ae420d51b624ff55a8852fc997333a818',1,'pin_manager.h']]], + ['current_5fchannel_1',['CURRENT_CHANNEL',['../measure_8c.html#a501e37e951966e98511c9c1eb0c7d397',1,'measure.c']]], + ['current_5fgetvalue_2',['current_GetValue',['../pin__manager_8h.html#aae40640212c4ea50ea6652b4eadf66a9',1,'pin_manager.h']]], + ['current_5flat_3',['current_LAT',['../pin__manager_8h.html#a34f33f39f1021e79ec6381b078967a65',1,'pin_manager.h']]], + ['current_5fport_4',['current_PORT',['../pin__manager_8h.html#a363c936a9450bcfc3a4c207d91fa8141',1,'pin_manager.h']]], + ['current_5fsetanalogmode_5',['current_SetAnalogMode',['../pin__manager_8h.html#a2657cd34f8719213e1dea19c91fdb00b',1,'pin_manager.h']]], + ['current_5fsetdigitalinput_6',['current_SetDigitalInput',['../pin__manager_8h.html#a0d5c61def0910839db51c4f597cd15d1',1,'pin_manager.h']]], + ['current_5fsetdigitalmode_7',['current_SetDigitalMode',['../pin__manager_8h.html#a665b890f11e57bb6d9aaca8283a66be6',1,'pin_manager.h']]], + ['current_5fsetdigitaloutput_8',['current_SetDigitalOutput',['../pin__manager_8h.html#ae46b1f6ff49f798e11bde41a3a330d7f',1,'pin_manager.h']]], + ['current_5fsethigh_9',['current_SetHigh',['../pin__manager_8h.html#a4d2780c35d54736b364e6a28bdac2d80',1,'pin_manager.h']]], + ['current_5fsetlow_10',['current_SetLow',['../pin__manager_8h.html#a44aad0bc0e5c86c4a107eda2dd1238bf',1,'pin_manager.h']]], + ['current_5ftoggle_11',['current_Toggle',['../pin__manager_8h.html#a5c167a84f1bc1c9e797d0014dec67ee6',1,'pin_manager.h']]], + ['current_5ftris_12',['current_TRIS',['../pin__manager_8h.html#a2d0fea51f26d75e76c065199dce050bc',1,'pin_manager.h']]] +]; diff --git a/html/search/defines_3.js b/html/search/defines_3.js new file mode 100644 index 0000000..070820f --- /dev/null +++ b/html/search/defines_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['digital_0',['DIGITAL',['../pin__manager_8h.html#a5e3f0ed2799c1275891b863e4b8c89eb',1,'pin_manager.h']]], + ['dir_5flcd_5fcs_1',['DIR_LCD_CS',['../lcd_8h.html#a314008d0ad63ceef2e7944aaa5432d42',1,'lcd.h']]], + ['dir_5flcd_5frs_2',['DIR_LCD_RS',['../lcd_8h.html#a079bc2fad0a364982e2e3ec0205e065e',1,'lcd.h']]] +]; diff --git a/html/search/defines_4.js b/html/search/defines_4.js new file mode 100644 index 0000000..d708b85 --- /dev/null +++ b/html/search/defines_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['eusart1_5fdataready_0',['EUSART1_DataReady',['../eusart1_8h.html#ac49a88a0f8634c24cc1f7e2743c3fbd0',1,'eusart1.h']]], + ['eusart1_5frx_5fbuffer_5fsize_1',['EUSART1_RX_BUFFER_SIZE',['../eusart1_8c.html#a642958f0262c1fa43f73055039f9e69c',1,'eusart1.c']]], + ['eusart1_5ftx_5fbuffer_5fsize_2',['EUSART1_TX_BUFFER_SIZE',['../eusart1_8c.html#a1c74f6788eacb6fb0fe6c604f395a8ab',1,'eusart1.c']]] +]; diff --git a/html/search/defines_5.js b/html/search/defines_5.js new file mode 100644 index 0000000..c0160ca --- /dev/null +++ b/html/search/defines_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['gain_0',['GAIN',['../measure_8c.html#a8c8f27b35dfa40ccf31c1ee31479a31c',1,'measure.c']]] +]; diff --git a/html/search/defines_6.js b/html/search/defines_6.js new file mode 100644 index 0000000..1bf813c --- /dev/null +++ b/html/search/defines_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['high_0',['HIGH',['../pin__manager_8h.html#a5bb885982ff66a2e0a0a45a8ee9c35e2',1,'pin_manager.h']]] +]; diff --git a/html/search/defines_7.js b/html/search/defines_7.js new file mode 100644 index 0000000..559bdfd --- /dev/null +++ b/html/search/defines_7.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['illegal_5fdata_5faddress_0',['ILLEGAL_DATA_ADDRESS',['../modbus_8c.html#ad36357dad4ceb8b0ecb0f5f53eee1502',1,'modbus.c']]], + ['illegal_5fdata_5fvalue_1',['ILLEGAL_DATA_VALUE',['../modbus_8c.html#a2a9c40f66b96eb93a9dbb17d1f79443d',1,'modbus.c']]], + ['illegal_5ffunction_2',['ILLEGAL_FUNCTION',['../modbus_8c.html#a262addcd07ad5759dbeca3efe5d808d3',1,'modbus.c']]], + ['input_3',['INPUT',['../pin__manager_8h.html#a1bb283bd7893b9855e2f23013891fc82',1,'pin_manager.h']]], + ['interrupt_5fglobalinterruptdisable_4',['INTERRUPT_GlobalInterruptDisable',['../interrupt__manager_8h.html#a5dfc9352c85bc78d317b8327ae7e6450',1,'interrupt_manager.h']]], + ['interrupt_5fglobalinterruptenable_5',['INTERRUPT_GlobalInterruptEnable',['../interrupt__manager_8h.html#ab801e88ce18e2d200429ffbaa67dbf2b',1,'interrupt_manager.h']]], + ['interrupt_5fperipheralinterruptdisable_6',['INTERRUPT_PeripheralInterruptDisable',['../interrupt__manager_8h.html#a99647ba59dd01ba1dc3a6f0ca263ab8d',1,'interrupt_manager.h']]], + ['interrupt_5fperipheralinterruptenable_7',['INTERRUPT_PeripheralInterruptEnable',['../interrupt__manager_8h.html#a35865b73bdecc073d43ad4e0c62187ea',1,'interrupt_manager.h']]] +]; diff --git a/html/search/defines_8.js b/html/search/defines_8.js new file mode 100644 index 0000000..eefcf5c --- /dev/null +++ b/html/search/defines_8.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['lcd_5fcs_0',['LCD_CS',['../lcd_8h.html#a71d24cab0e16b054de228f29139f1b79',1,'lcd.h']]], + ['lcd_5fdata_5fl_1',['LCD_DATA_L',['../lcd_8h.html#ac44fcb5a86292cb589248b2ffa2fc960',1,'lcd.h']]], + ['lcd_5fdata_5fl_5fdir_2',['LCD_DATA_L_DIR',['../lcd_8h.html#a041f6b842c82805221a92a6a626c1c52',1,'lcd.h']]], + ['lcd_5frs_3',['LCD_RS',['../lcd_8h.html#a4781e073871c6f27f89b9463ad3a4ed1',1,'lcd.h']]], + ['low_4',['LOW',['../pin__manager_8h.html#ab811d8c6ff3a505312d3276590444289',1,'pin_manager.h']]] +]; diff --git a/html/search/defines_9.js b/html/search/defines_9.js new file mode 100644 index 0000000..c907278 --- /dev/null +++ b/html/search/defines_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['max_5fcol_0',['MAX_COL',['../main_8c.html#a97e80440b5a5ec2ffc172dead9f8d2ec',1,'main.c']]] +]; diff --git a/html/search/defines_a.js b/html/search/defines_a.js new file mode 100644 index 0000000..6e17b8b --- /dev/null +++ b/html/search/defines_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['output_0',['OUTPUT',['../pin__manager_8h.html#a61a3c9a18380aafb6e430e79bf596557',1,'pin_manager.h']]] +]; diff --git a/html/search/defines_b.js b/html/search/defines_b.js new file mode 100644 index 0000000..d469c60 --- /dev/null +++ b/html/search/defines_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['pull_5fup_5fdisabled_0',['PULL_UP_DISABLED',['../pin__manager_8h.html#aa2df433ea6e6c6cd49babd945e27315e',1,'pin_manager.h']]], + ['pull_5fup_5fenabled_1',['PULL_UP_ENABLED',['../pin__manager_8h.html#a2556d56311dd94f5834ef8fb4e6d875d',1,'pin_manager.h']]], + ['pwm1_5finitialize_5fduty_5fvalue_2',['PWM1_INITIALIZE_DUTY_VALUE',['../epwm1_8c.html#a826e981181cbd3e99fa4f7d7072f84c9',1,'epwm1.c']]] +]; diff --git a/html/search/defines_c.js b/html/search/defines_c.js new file mode 100644 index 0000000..9d71e20 --- /dev/null +++ b/html/search/defines_c.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['rc2_5fgetvalue_0',['RC2_GetValue',['../pin__manager_8h.html#affaf9ed86b070edaeb74f56731324f9a',1,'pin_manager.h']]], + ['rc2_5fsetdigitalinput_1',['RC2_SetDigitalInput',['../pin__manager_8h.html#a2853d0aa2258a6b70bfae5b1e3a8e5f5',1,'pin_manager.h']]], + ['rc2_5fsetdigitaloutput_2',['RC2_SetDigitalOutput',['../pin__manager_8h.html#af5c3a99cae06ec6e93326b1c4b375829',1,'pin_manager.h']]], + ['rc2_5fsethigh_3',['RC2_SetHigh',['../pin__manager_8h.html#a13409aed95071c7b459c3e05bfc03ad6',1,'pin_manager.h']]], + ['rc2_5fsetlow_4',['RC2_SetLow',['../pin__manager_8h.html#af79fe0790c400d367d90aca91f1d4ebe',1,'pin_manager.h']]], + ['rc2_5ftoggle_5',['RC2_Toggle',['../pin__manager_8h.html#a8c82f584c1c15d493ea6d9298e3e163b',1,'pin_manager.h']]], + ['rc6_5fgetvalue_6',['RC6_GetValue',['../pin__manager_8h.html#aabc04f997eee87063968bcfe13577f5b',1,'pin_manager.h']]], + ['rc6_5fsetdigitalinput_7',['RC6_SetDigitalInput',['../pin__manager_8h.html#a89bc856d0077a504b2b7b7fae0906980',1,'pin_manager.h']]], + ['rc6_5fsetdigitaloutput_8',['RC6_SetDigitalOutput',['../pin__manager_8h.html#a0bea4d663298f48fb48066417386ae45',1,'pin_manager.h']]], + ['rc6_5fsethigh_9',['RC6_SetHigh',['../pin__manager_8h.html#a67ba466a3baf30d3a707c345f1eff2f9',1,'pin_manager.h']]], + ['rc6_5fsetlow_10',['RC6_SetLow',['../pin__manager_8h.html#af2ee1c24573dd14e8fbcfadbce9267d9',1,'pin_manager.h']]], + ['rc6_5ftoggle_11',['RC6_Toggle',['../pin__manager_8h.html#a6c30c790d388a78216ea6b9cdea4008b',1,'pin_manager.h']]], + ['read_5fholding_5fregisters_12',['READ_HOLDING_REGISTERS',['../modbus_8c.html#a72629c87e1b18706ed17ee3dc768d5d1',1,'modbus.c']]], + ['read_5finput_5fregisters_13',['READ_INPUT_REGISTERS',['../modbus_8c.html#a860e48854b8e16a310dd29fe6e069561',1,'modbus.c']]], + ['resistor_14',['RESISTOR',['../measure_8c.html#a061cddbb720e9fd818a11a141e890f47',1,'measure.c']]] +]; diff --git a/html/search/defines_d.js b/html/search/defines_d.js new file mode 100644 index 0000000..4ab9f62 --- /dev/null +++ b/html/search/defines_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['slave_5fdevice_5ffailure_0',['SLAVE_DEVICE_FAILURE',['../modbus_8c.html#a92cb3f97527a2fbca9881dc0c14d98eb',1,'modbus.c']]] +]; diff --git a/html/search/defines_e.js b/html/search/defines_e.js new file mode 100644 index 0000000..359393d --- /dev/null +++ b/html/search/defines_e.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['voltage_5fans_0',['voltage_ANS',['../pin__manager_8h.html#ae992f842af5f08c312c22ebaaf947836',1,'pin_manager.h']]], + ['voltage_5fchannel_1',['VOLTAGE_CHANNEL',['../measure_8c.html#a3ad11a109af35fa8de5e0b1b3e60142b',1,'measure.c']]], + ['voltage_5fgetvalue_2',['voltage_GetValue',['../pin__manager_8h.html#ad70e7e315d90cb87798d9b6f525fcf3e',1,'pin_manager.h']]], + ['voltage_5flat_3',['voltage_LAT',['../pin__manager_8h.html#a08b61c498053fec7834331b6fdd11322',1,'pin_manager.h']]], + ['voltage_5fport_4',['voltage_PORT',['../pin__manager_8h.html#a033f2bd8f6d2561a2e6b5f9592e0cf2f',1,'pin_manager.h']]], + ['voltage_5fsetanalogmode_5',['voltage_SetAnalogMode',['../pin__manager_8h.html#afed829eb75c303170cd851c1a453b8fc',1,'pin_manager.h']]], + ['voltage_5fsetdigitalinput_6',['voltage_SetDigitalInput',['../pin__manager_8h.html#a323b395df28470c9fbb9b1c413eb9ed3',1,'pin_manager.h']]], + ['voltage_5fsetdigitalmode_7',['voltage_SetDigitalMode',['../pin__manager_8h.html#ac1f5f4e118f4c20b17872847cfe629af',1,'pin_manager.h']]], + ['voltage_5fsetdigitaloutput_8',['voltage_SetDigitalOutput',['../pin__manager_8h.html#a22e8068a7d8857cf5b50b42c5e4d2864',1,'pin_manager.h']]], + ['voltage_5fsethigh_9',['voltage_SetHigh',['../pin__manager_8h.html#aecb75602146d0dd0e89ed98bc3214f7c',1,'pin_manager.h']]], + ['voltage_5fsetlow_10',['voltage_SetLow',['../pin__manager_8h.html#a85c55dcd649c5ed9aac0d4a619689fcd',1,'pin_manager.h']]], + ['voltage_5ftoggle_11',['voltage_Toggle',['../pin__manager_8h.html#ac289a0300c973c6e6c843dc6f9d75e38',1,'pin_manager.h']]], + ['voltage_5ftris_12',['voltage_TRIS',['../pin__manager_8h.html#a07dd1e025132eb2fd63219522a93fa0c',1,'pin_manager.h']]] +]; diff --git a/html/search/defines_f.js b/html/search/defines_f.js new file mode 100644 index 0000000..fc6f1c3 --- /dev/null +++ b/html/search/defines_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['write_5fsingle_5fregister_0',['WRITE_SINGLE_REGISTER',['../modbus_8c.html#ae193fb8e7fb5dafe59b40642c13b4b42',1,'modbus.c']]] +]; diff --git a/html/search/enums_0.js b/html/search/enums_0.js new file mode 100644 index 0000000..370d75c --- /dev/null +++ b/html/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['adc_5fchannel_5ft_0',['adc_channel_t',['../adc_8h.html#aafc4060027875f8fe46242b0656d7814',1,'adc.h']]] +]; diff --git a/html/search/enums_1.js b/html/search/enums_1.js new file mode 100644 index 0000000..b9f5060 --- /dev/null +++ b/html/search/enums_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ft5xx6_5fdev_5fmode_5ft_0',['ft5xx6_dev_mode_t',['../ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471d',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5ft_1',['ft5xx6_run_mode_t',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872d',1,'ft5xx6.h']]] +]; diff --git a/html/search/enumvalues_0.js b/html/search/enumvalues_0.js new file mode 100644 index 0000000..a55569f --- /dev/null +++ b/html/search/enumvalues_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['current_0',['current',['../adc_8h.html#aafc4060027875f8fe46242b0656d7814a8225bfb34b5298eb7529ec580a4d178e',1,'adc.h']]] +]; diff --git a/html/search/enumvalues_1.js b/html/search/enumvalues_1.js new file mode 100644 index 0000000..18b569b --- /dev/null +++ b/html/search/enumvalues_1.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['ft5xx6_5fdev_5fmode_5fnormal_0',['FT5XX6_DEV_MODE_NORMAL',['../ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471dab9617f547a5f9e5d7149a1d56d441b4b',1,'ft5xx6.h']]], + ['ft5xx6_5fdev_5fmode_5fsys_5finfo_1',['FT5XX6_DEV_MODE_SYS_INFO',['../ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471da5c98840643bd2a3533e908104541026c',1,'ft5xx6.h']]], + ['ft5xx6_5fdev_5fmode_5ftest_2',['FT5XX6_DEV_MODE_TEST',['../ft5xx6_8h.html#a8ea77e4f3a5aed6d16e5b3ccc934471dae4752db6e4298e3b2ed60bc72bcb407b',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5fauto_5fcal_3',['FT5XX6_RUN_MODE_AUTO_CAL',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da018c9eada47cdd6e8d5884137dd92b57',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5fcal_4',['FT5XX6_RUN_MODE_CAL',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da58728c858c3a7b64aaf0d01649d94b22',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5fcfg_5',['FT5XX6_RUN_MODE_CFG',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872dadaab43c87f17aae1b5f9b9d476b8f659',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5ffact_6',['FT5XX6_RUN_MODE_FACT',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da7932bc9ccbd47f7afa1bdd659f6a4e0c',1,'ft5xx6.h']]], + ['ft5xx6_5frun_5fmode_5fwork_7',['FT5XX6_RUN_MODE_WORK',['../ft5xx6_8h.html#a0d658e59cb50288d2a7fdb53462b872da46a0c39e02d1928889916183cb6d9607',1,'ft5xx6.h']]] +]; diff --git a/html/search/enumvalues_2.js b/html/search/enumvalues_2.js new file mode 100644 index 0000000..74fd4b3 --- /dev/null +++ b/html/search/enumvalues_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['voltage_0',['voltage',['../adc_8h.html#aafc4060027875f8fe46242b0656d7814a20d31653fb88a46098aad34f773a827c',1,'adc.h']]] +]; diff --git a/html/search/files_0.js b/html/search/files_0.js new file mode 100644 index 0000000..5b420e2 --- /dev/null +++ b/html/search/files_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['adc_2ec_0',['adc.c',['../adc_8c.html',1,'']]], + ['adc_2eh_1',['adc.h',['../adc_8h.html',1,'']]], + ['arialroundedmtbold18ptbitmaps_2ec_2',['arialRoundedMTBold18ptBitmaps.c',['../arial_rounded_m_t_bold18pt_bitmaps_8c.html',1,'']]] +]; diff --git a/html/search/files_1.js b/html/search/files_1.js new file mode 100644 index 0000000..5587aa1 --- /dev/null +++ b/html/search/files_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['crc_2ec_0',['crc.c',['../crc_8c.html',1,'']]], + ['crc_2eh_1',['crc.h',['../crc_8h.html',1,'']]] +]; diff --git a/html/search/files_2.js b/html/search/files_2.js new file mode 100644 index 0000000..65ff6cc --- /dev/null +++ b/html/search/files_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['device_5fconfig_2ec_0',['device_config.c',['../device__config_8c.html',1,'']]], + ['device_5fconfig_2eh_1',['device_config.h',['../device__config_8h.html',1,'']]] +]; diff --git a/html/search/files_3.js b/html/search/files_3.js new file mode 100644 index 0000000..0e26ce4 --- /dev/null +++ b/html/search/files_3.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['epwm1_2ec_0',['epwm1.c',['../epwm1_8c.html',1,'']]], + ['epwm1_2eh_1',['epwm1.h',['../epwm1_8h.html',1,'']]], + ['eusart1_2ec_2',['eusart1.c',['../eusart1_8c.html',1,'']]], + ['eusart1_2eh_3',['eusart1.h',['../eusart1_8h.html',1,'']]] +]; diff --git a/html/search/files_4.js b/html/search/files_4.js new file mode 100644 index 0000000..1544e8e --- /dev/null +++ b/html/search/files_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ft5xx6_2ec_0',['ft5xx6.c',['../ft5xx6_8c.html',1,'']]], + ['ft5xx6_2eh_1',['ft5xx6.h',['../ft5xx6_8h.html',1,'']]] +]; diff --git a/html/search/files_5.js b/html/search/files_5.js new file mode 100644 index 0000000..d211e8c --- /dev/null +++ b/html/search/files_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['interrupt_5fmanager_2ec_0',['interrupt_manager.c',['../interrupt__manager_8c.html',1,'']]], + ['interrupt_5fmanager_2eh_1',['interrupt_manager.h',['../interrupt__manager_8h.html',1,'']]] +]; diff --git a/html/search/files_6.js b/html/search/files_6.js new file mode 100644 index 0000000..540b985 --- /dev/null +++ b/html/search/files_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['lcd_2ec_0',['lcd.c',['../lcd_8c.html',1,'']]], + ['lcd_2eh_1',['lcd.h',['../lcd_8h.html',1,'']]] +]; diff --git a/html/search/files_7.js b/html/search/files_7.js new file mode 100644 index 0000000..10dc04a --- /dev/null +++ b/html/search/files_7.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['main_2ec_0',['main.c',['../main_8c.html',1,'']]], + ['mcc_2ec_1',['mcc.c',['../mcc_8c.html',1,'']]], + ['mcc_2eh_2',['mcc.h',['../mcc_8h.html',1,'']]], + ['measure_2ec_3',['measure.c',['../measure_8c.html',1,'']]], + ['measure_2eh_4',['measure.h',['../measure_8h.html',1,'']]], + ['modbus_2ec_5',['modbus.c',['../modbus_8c.html',1,'']]], + ['modbus_2eh_6',['modbus.h',['../modbus_8h.html',1,'']]] +]; diff --git a/html/search/files_8.js b/html/search/files_8.js new file mode 100644 index 0000000..5563e52 --- /dev/null +++ b/html/search/files_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['pin_5fmanager_2ec_0',['pin_manager.c',['../pin__manager_8c.html',1,'']]], + ['pin_5fmanager_2eh_1',['pin_manager.h',['../pin__manager_8h.html',1,'']]] +]; diff --git a/html/search/files_9.js b/html/search/files_9.js new file mode 100644 index 0000000..702ab18 --- /dev/null +++ b/html/search/files_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ssd1963_5fcmd_2eh_0',['ssd1963_cmd.h',['../ssd1963__cmd_8h.html',1,'']]] +]; diff --git a/html/search/files_a.js b/html/search/files_a.js new file mode 100644 index 0000000..1c47e7e --- /dev/null +++ b/html/search/files_a.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['tmr0_2ec_0',['tmr0.c',['../tmr0_8c.html',1,'']]], + ['tmr0_2eh_1',['tmr0.h',['../tmr0_8h.html',1,'']]], + ['tmr2_2ec_2',['tmr2.c',['../tmr2_8c.html',1,'']]], + ['tmr2_2eh_3',['tmr2.h',['../tmr2_8h.html',1,'']]] +]; diff --git a/html/search/functions_0.js b/html/search/functions_0.js new file mode 100644 index 0000000..aa23ec0 --- /dev/null +++ b/html/search/functions_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_5f_5finterrupt_0',['__interrupt',['../interrupt__manager_8c.html#a703db4fffea50c48ff3c430fb1daa6b7',1,'interrupt_manager.c']]] +]; diff --git a/html/search/functions_1.js b/html/search/functions_1.js new file mode 100644 index 0000000..f44ddaa --- /dev/null +++ b/html/search/functions_1.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['adc_5fgetconversion_0',['ADC_GetConversion',['../adc_8c.html#a81501f9b96aa9bb8dbe63b49d0f8e909',1,'ADC_GetConversion(adc_channel_t channel): adc.c'],['../adc_8h.html#a81501f9b96aa9bb8dbe63b49d0f8e909',1,'ADC_GetConversion(adc_channel_t channel): adc.c']]], + ['adc_5fgetconversionresult_1',['ADC_GetConversionResult',['../adc_8c.html#a9650956bd92194e1b9f0bfd5bb2d73dd',1,'ADC_GetConversionResult(void): adc.c'],['../adc_8h.html#a9650956bd92194e1b9f0bfd5bb2d73dd',1,'ADC_GetConversionResult(void): adc.c']]], + ['adc_5finit_2',['adc_init',['../measure_8c.html#a2b815e6730e8723a6d1d06d9ef8f31c0',1,'adc_init(void): measure.c'],['../measure_8h.html#a2b815e6730e8723a6d1d06d9ef8f31c0',1,'adc_init(void): measure.c']]], + ['adc_5finitialize_3',['ADC_Initialize',['../adc_8c.html#ab0e0ea1662a8e789547210a2d33127e1',1,'ADC_Initialize(void): adc.c'],['../adc_8h.html#ab0e0ea1662a8e789547210a2d33127e1',1,'ADC_Initialize(void): adc.c']]], + ['adc_5fisconversiondone_4',['ADC_IsConversionDone',['../adc_8c.html#ad5c10c1709aeacf08e783c3ea174463b',1,'ADC_IsConversionDone(void): adc.c'],['../adc_8h.html#ad5c10c1709aeacf08e783c3ea174463b',1,'ADC_IsConversionDone(void): adc.c']]], + ['adc_5fselectchannel_5',['ADC_SelectChannel',['../adc_8c.html#a25c0a0a9fe2bdba070f9945ca641b5e0',1,'ADC_SelectChannel(adc_channel_t channel): adc.c'],['../adc_8h.html#a25c0a0a9fe2bdba070f9945ca641b5e0',1,'ADC_SelectChannel(adc_channel_t channel): adc.c']]], + ['adc_5fstartconversion_6',['ADC_StartConversion',['../adc_8c.html#af96ee69b063edcebc656d0ca0450c12c',1,'ADC_StartConversion(void): adc.c'],['../adc_8h.html#af96ee69b063edcebc656d0ca0450c12c',1,'ADC_StartConversion(void): adc.c']]], + ['adc_5ftemperatureacquisitiondelay_7',['ADC_TemperatureAcquisitionDelay',['../adc_8c.html#a46bdd78f96c668432d4ff33115c9dcd9',1,'ADC_TemperatureAcquisitionDelay(void): adc.c'],['../adc_8h.html#a46bdd78f96c668432d4ff33115c9dcd9',1,'ADC_TemperatureAcquisitionDelay(void): adc.c']]] +]; diff --git a/html/search/functions_2.js b/html/search/functions_2.js new file mode 100644 index 0000000..cccbe3c --- /dev/null +++ b/html/search/functions_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['crc16_0',['CRC16',['../crc_8c.html#a0fb245e3321a13b9170f7a948ed08b51',1,'CRC16(const uint8_t *msg, uint16_t length): crc.c'],['../crc_8h.html#a0fb245e3321a13b9170f7a948ed08b51',1,'CRC16(const uint8_t *msg, uint16_t length): crc.c']]] +]; diff --git a/html/search/functions_3.js b/html/search/functions_3.js new file mode 100644 index 0000000..8a478c2 --- /dev/null +++ b/html/search/functions_3.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['epwm1_5finitialize_0',['EPWM1_Initialize',['../epwm1_8c.html#a0087e70977fcfb3d715ab9fec17a6a8d',1,'EPWM1_Initialize(void): epwm1.c'],['../epwm1_8h.html#a0087e70977fcfb3d715ab9fec17a6a8d',1,'EPWM1_Initialize(void): epwm1.c']]], + ['epwm1_5floaddutyvalue_1',['EPWM1_LoadDutyValue',['../epwm1_8c.html#acb3f0021b8789111ae243d1cd4c5942c',1,'EPWM1_LoadDutyValue(uint16_t dutyValue): epwm1.c'],['../epwm1_8h.html#acb3f0021b8789111ae243d1cd4c5942c',1,'EPWM1_LoadDutyValue(uint16_t dutyValue): epwm1.c']]], + ['eusart1_5fdefaulterrorhandler_2',['EUSART1_DefaultErrorHandler',['../eusart1_8c.html#a9c10ba53dd6112ac70e8e82a146dd39b',1,'eusart1.c']]], + ['eusart1_5fdefaultframingerrorhandler_3',['EUSART1_DefaultFramingErrorHandler',['../eusart1_8c.html#ad551fd18f88e50d53d18c345e0819b60',1,'eusart1.c']]], + ['eusart1_5fdefaultoverrunerrorhandler_4',['EUSART1_DefaultOverrunErrorHandler',['../eusart1_8c.html#a3d463ab78d0a1a0346dbb5f5e9a44647',1,'eusart1.c']]], + ['eusart1_5fget_5flast_5fstatus_5',['EUSART1_get_last_status',['../eusart1_8c.html#a3dc796228d84a0c6a57dc207ed14daae',1,'EUSART1_get_last_status(void): eusart1.c'],['../eusart1_8h.html#a3dc796228d84a0c6a57dc207ed14daae',1,'EUSART1_get_last_status(void): eusart1.c']]], + ['eusart1_5finitialize_6',['EUSART1_Initialize',['../eusart1_8c.html#a17236c1d3fc2264f13ed077b4fc6973e',1,'EUSART1_Initialize(void): eusart1.c'],['../eusart1_8h.html#a17236c1d3fc2264f13ed077b4fc6973e',1,'EUSART1_Initialize(void): eusart1.c']]], + ['eusart1_5fis_5frx_5fready_7',['EUSART1_is_rx_ready',['../eusart1_8c.html#a51236ea81a98a25986a6733fbf291621',1,'EUSART1_is_rx_ready(void): eusart1.c'],['../eusart1_8h.html#a51236ea81a98a25986a6733fbf291621',1,'EUSART1_is_rx_ready(void): eusart1.c']]], + ['eusart1_5fis_5ftx_5fdone_8',['EUSART1_is_tx_done',['../eusart1_8c.html#a7b5f2ddacf3a8b27a5edff78996e66f5',1,'EUSART1_is_tx_done(void): eusart1.c'],['../eusart1_8h.html#a7b5f2ddacf3a8b27a5edff78996e66f5',1,'EUSART1_is_tx_done(void): eusart1.c']]], + ['eusart1_5fis_5ftx_5fready_9',['EUSART1_is_tx_ready',['../eusart1_8c.html#a3cc9de3f3d2a8588be3bd85084011a68',1,'EUSART1_is_tx_ready(void): eusart1.c'],['../eusart1_8h.html#a3cc9de3f3d2a8588be3bd85084011a68',1,'EUSART1_is_tx_ready(void): eusart1.c']]], + ['eusart1_5fread_10',['EUSART1_Read',['../eusart1_8c.html#ab4dd58b431d4f59c5b78f909b0b9cb0b',1,'EUSART1_Read(void): eusart1.c'],['../eusart1_8h.html#ab4dd58b431d4f59c5b78f909b0b9cb0b',1,'EUSART1_Read(void): eusart1.c']]], + ['eusart1_5freceive_5fisr_11',['EUSART1_Receive_ISR',['../eusart1_8c.html#af6867c294ab8008a59cdc81a74272669',1,'EUSART1_Receive_ISR(void): eusart1.c'],['../eusart1_8h.html#af6867c294ab8008a59cdc81a74272669',1,'EUSART1_Receive_ISR(void): eusart1.c']]], + ['eusart1_5frxdatahandler_12',['EUSART1_RxDataHandler',['../eusart1_8c.html#a059ef83fc11ba2fbe279fe185b0e3832',1,'EUSART1_RxDataHandler(void): eusart1.c'],['../eusart1_8h.html#a059ef83fc11ba2fbe279fe185b0e3832',1,'EUSART1_RxDataHandler(void): eusart1.c']]], + ['eusart1_5fseterrorhandler_13',['EUSART1_SetErrorHandler',['../eusart1_8c.html#a1ce96cef41cc2e985c8a600873f3d688',1,'EUSART1_SetErrorHandler(void(*interruptHandler)(void)): eusart1.c'],['../eusart1_8h.html#a1ce96cef41cc2e985c8a600873f3d688',1,'EUSART1_SetErrorHandler(void(*interruptHandler)(void)): eusart1.c']]], + ['eusart1_5fsetframingerrorhandler_14',['EUSART1_SetFramingErrorHandler',['../eusart1_8c.html#aa4a8db092efc718cf508792a0a521dba',1,'EUSART1_SetFramingErrorHandler(void(*interruptHandler)(void)): eusart1.c'],['../eusart1_8h.html#aa4a8db092efc718cf508792a0a521dba',1,'EUSART1_SetFramingErrorHandler(void(*interruptHandler)(void)): eusart1.c']]], + ['eusart1_5fsetoverrunerrorhandler_15',['EUSART1_SetOverrunErrorHandler',['../eusart1_8c.html#a8129057b0391bb8de6fa1058057c589e',1,'EUSART1_SetOverrunErrorHandler(void(*interruptHandler)(void)): eusart1.c'],['../eusart1_8h.html#a8129057b0391bb8de6fa1058057c589e',1,'EUSART1_SetOverrunErrorHandler(void(*interruptHandler)(void)): eusart1.c']]], + ['eusart1_5fsetrxinterrupthandler_16',['EUSART1_SetRxInterruptHandler',['../eusart1_8c.html#a66a557ddf06eda003b454c56b5f6fa2b',1,'EUSART1_SetRxInterruptHandler(void(*interruptHandler)(void)): eusart1.c'],['../eusart1_8h.html#a66a557ddf06eda003b454c56b5f6fa2b',1,'EUSART1_SetRxInterruptHandler(void(*interruptHandler)(void)): eusart1.c']]], + ['eusart1_5fwrite_17',['EUSART1_Write',['../eusart1_8c.html#a6acb88a121ac046bf5ae77f9a3521350',1,'EUSART1_Write(uint8_t txData): eusart1.c'],['../eusart1_8h.html#a6acb88a121ac046bf5ae77f9a3521350',1,'EUSART1_Write(uint8_t txData): eusart1.c']]] +]; diff --git a/html/search/functions_4.js b/html/search/functions_4.js new file mode 100644 index 0000000..2505125 --- /dev/null +++ b/html/search/functions_4.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['ft5xx6_5fcfg_5fsetup_0',['ft5xx6_cfg_setup',['../group__ft5xx6.html#ga6fc0a86342900baa3663aba412e2e4b2',1,'ft5xx6_cfg_setup(ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller): ft5xx6.c'],['../group__ft5xx6.html#ga6fc0a86342900baa3663aba412e2e4b2',1,'ft5xx6_cfg_setup(ft5xx6_cfg_t *cfg, const ft5xx6_controller_t *controller): ft5xx6.c']]], + ['ft5xx6_5fdefault_5fcfg_1',['ft5xx6_default_cfg',['../group__ft5xx6.html#gac8898b7e2f9ae2c1eef7614ba35d42a2',1,'ft5xx6_default_cfg(ft5xx6_t *ctx): ft5xx6.c'],['../group__ft5xx6.html#gac8898b7e2f9ae2c1eef7614ba35d42a2',1,'ft5xx6_default_cfg(ft5xx6_t *ctx): ft5xx6.c']]], + ['ft5xx6_5fdev_5fmode_5fsetup_2',['ft5xx6_dev_mode_setup',['../group__ft5xx6.html#ga806e32ed83d7f3e41a3e9084148512b0',1,'ft5xx6_dev_mode_setup(ft5xx6_t *ctx, ft5xx6_dev_mode_t mode): ft5xx6.c'],['../group__ft5xx6.html#ga806e32ed83d7f3e41a3e9084148512b0',1,'ft5xx6_dev_mode_setup(ft5xx6_t *ctx, ft5xx6_dev_mode_t mode): ft5xx6.c']]], + ['ft5xx6_5fgeneric_5fread_5fmultiple_3',['ft5xx6_generic_read_multiple',['../group__ft5xx6.html#gaf98c43602d87923c5820219931906d5c',1,'ft5xx6_generic_read_multiple(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes): ft5xx6.c'],['../group__ft5xx6.html#gaf98c43602d87923c5820219931906d5c',1,'ft5xx6_generic_read_multiple(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t *data_out, uint16_t n_bytes): ft5xx6.c']]], + ['ft5xx6_5fgeneric_5fread_5fsingle_4',['ft5xx6_generic_read_single',['../group__ft5xx6.html#ga22ffcf2f7a0e4bac3fda6a0af97bf4a8',1,'ft5xx6_generic_read_single(ft5xx6_t *ctx, uint8_t reg_addr): ft5xx6.c'],['../group__ft5xx6.html#ga22ffcf2f7a0e4bac3fda6a0af97bf4a8',1,'ft5xx6_generic_read_single(ft5xx6_t *ctx, uint8_t reg_addr): ft5xx6.c']]], + ['ft5xx6_5fgeneric_5fwrite_5',['ft5xx6_generic_write',['../group__ft5xx6.html#gac41bf915d507197704db9dad23977959',1,'ft5xx6_generic_write(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in): ft5xx6.c'],['../group__ft5xx6.html#gac41bf915d507197704db9dad23977959',1,'ft5xx6_generic_write(ft5xx6_t *ctx, uint8_t reg_addr, uint8_t data_in): ft5xx6.c']]], + ['ft5xx6_5fgesture_6',['ft5xx6_gesture',['../group__ft5xx6.html#ga95c5b63b7e75eeb71a9633205bea6a04',1,'ft5xx6_gesture(ft5xx6_t *ctx, tp_event_t *event): ft5xx6.c'],['../group__ft5xx6.html#ga95c5b63b7e75eeb71a9633205bea6a04',1,'ft5xx6_gesture(ft5xx6_t *ctx, tp_event_t *event): ft5xx6.c']]], + ['ft5xx6_5finit_7',['ft5xx6_init',['../group__ft5xx6.html#ga6bc20225d2c49cbddb2f167b7e59633a',1,'ft5xx6_init(ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv): ft5xx6.c'],['../group__ft5xx6.html#ga6bc20225d2c49cbddb2f167b7e59633a',1,'ft5xx6_init(ft5xx6_t *ctx, ft5xx6_cfg_t *cfg, tp_drv_t *drv): ft5xx6.c']]], + ['ft5xx6_5fpress_5fcoordinates_8',['ft5xx6_press_coordinates',['../group__ft5xx6.html#ga652c22955075ea78a37bc3c0b04d03ce',1,'ft5xx6_press_coordinates(ft5xx6_t *ctx, tp_touch_item_t *touch_item): ft5xx6.c'],['../group__ft5xx6.html#ga652c22955075ea78a37bc3c0b04d03ce',1,'ft5xx6_press_coordinates(ft5xx6_t *ctx, tp_touch_item_t *touch_item): ft5xx6.c']]], + ['ft5xx6_5fpress_5fdetect_9',['ft5xx6_press_detect',['../group__ft5xx6.html#ga7bec3e5973ca8b94132ea761deaadeed',1,'ft5xx6_press_detect(ft5xx6_t *ctx): ft5xx6.c'],['../group__ft5xx6.html#ga7bec3e5973ca8b94132ea761deaadeed',1,'ft5xx6_press_detect(ft5xx6_t *ctx): ft5xx6.c']]], + ['ft5xx6_5fprocess_10',['ft5xx6_process',['../group__ft5xx6.html#gadcca9f3cbaca156e26894a63d8f588ee',1,'ft5xx6_process(ft5xx6_t *ctx): ft5xx6.c'],['../group__ft5xx6.html#gadcca9f3cbaca156e26894a63d8f588ee',1,'ft5xx6_process(ft5xx6_t *ctx): ft5xx6.c']]], + ['ft5xx6_5frun_5fmode_5fsetup_11',['ft5xx6_run_mode_setup',['../group__ft5xx6.html#ga0db7f121c8041d18fd70616a74669552',1,'ft5xx6_run_mode_setup(ft5xx6_t *ctx, ft5xx6_run_mode_t mode): ft5xx6.c'],['../group__ft5xx6.html#ga0db7f121c8041d18fd70616a74669552',1,'ft5xx6_run_mode_setup(ft5xx6_t *ctx, ft5xx6_run_mode_t mode): ft5xx6.c']]] +]; diff --git a/html/search/functions_5.js b/html/search/functions_5.js new file mode 100644 index 0000000..2eb490f --- /dev/null +++ b/html/search/functions_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['interrupt_5finitialize_0',['INTERRUPT_Initialize',['../interrupt__manager_8c.html#a5c526129ee879458dff6755f5768a6e3',1,'INTERRUPT_Initialize(void): interrupt_manager.c'],['../interrupt__manager_8h.html#a5c526129ee879458dff6755f5768a6e3',1,'INTERRUPT_Initialize(void): interrupt_manager.c']]] +]; diff --git a/html/search/functions_6.js b/html/search/functions_6.js new file mode 100644 index 0000000..e037fc1 --- /dev/null +++ b/html/search/functions_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['lcd_5f2x16_5fwritecmd_0',['LCD_2x16_WriteCmd',['../lcd_8c.html#a3305f9be08938e31fe3ddb754ffc1c58',1,'LCD_2x16_WriteCmd(uint8_t command): lcd.c'],['../lcd_8h.html#a3305f9be08938e31fe3ddb754ffc1c58',1,'LCD_2x16_WriteCmd(uint8_t command): lcd.c']]], + ['lcd_5f2x16_5fwritedata_1',['LCD_2x16_WriteData',['../lcd_8c.html#a045b8ad35250a48c972514c1b8d9ad8a',1,'LCD_2x16_WriteData(uint8_t command): lcd.c'],['../lcd_8h.html#a045b8ad35250a48c972514c1b8d9ad8a',1,'LCD_2x16_WriteData(uint8_t command): lcd.c']]], + ['lcd_5f2x16_5fwritemsg_2',['LCD_2x16_WriteMsg',['../lcd_8c.html#ae82c1ee673779250514a3227235976e4',1,'LCD_2x16_WriteMsg(unsigned char *msg, uint8_t line): lcd.c'],['../lcd_8h.html#ae82c1ee673779250514a3227235976e4',1,'LCD_2x16_WriteMsg(unsigned char *msg, uint8_t line): lcd.c']]], + ['lcd_5finit_3',['Lcd_Init',['../lcd_8c.html#ae3e90a42efbeab0e5b0c6478e01e80ba',1,'Lcd_Init(void): lcd.c'],['../lcd_8h.html#ae3e90a42efbeab0e5b0c6478e01e80ba',1,'Lcd_Init(void): lcd.c']]] +]; diff --git a/html/search/functions_7.js b/html/search/functions_7.js new file mode 100644 index 0000000..1073912 --- /dev/null +++ b/html/search/functions_7.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['main_0',['main',['../main_8c.html#a6288eba0f8e8ad3ab1544ad731eb7667',1,'main.c']]], + ['measure_5fcurrent_1',['measure_current',['../measure_8c.html#ad77a3b79bc20b11c0d5462cc0b7134b3',1,'measure_current(uint16_t offset): measure.c'],['../measure_8h.html#ad77a3b79bc20b11c0d5462cc0b7134b3',1,'measure_current(uint16_t offset): measure.c']]], + ['measure_5fvoltage_2',['measure_voltage',['../measure_8c.html#a104c0f284978c4cc8d34d36677a97e72',1,'measure_voltage(): measure.c'],['../measure_8h.html#ad6d7d2ebed0e9762bc0e5e05619f87e1',1,'measure_voltage(void): measure.c'],['../modbus_8c.html#a104c0f284978c4cc8d34d36677a97e72',1,'measure_voltage(): measure.c']]], + ['modbus_5fanalyse_5fand_5fanswer_3',['modbus_analyse_and_answer',['../modbus_8c.html#a6ae3279c3dcad4aa532eb07689f242e1',1,'modbus_analyse_and_answer(void): modbus.c'],['../modbus_8h.html#a6ae3279c3dcad4aa532eb07689f242e1',1,'modbus_analyse_and_answer(void): modbus.c']]], + ['modbus_5fchar_5frecvd_4',['modbus_char_recvd',['../modbus_8c.html#aacb32a5aea357fae4e7fde574f95bfb9',1,'modbus_char_recvd(void): modbus.c'],['../modbus_8h.html#aacb32a5aea357fae4e7fde574f95bfb9',1,'modbus_char_recvd(void): modbus.c']]], + ['modbus_5finit_5',['modbus_init',['../modbus_8c.html#a67d9839b8e221bcb53bbbb2ba59ff618',1,'modbus_init(uint8_t address): modbus.c'],['../modbus_8h.html#a67d9839b8e221bcb53bbbb2ba59ff618',1,'modbus_init(uint8_t address): modbus.c']]], + ['modbus_5fsend_6',['modbus_send',['../modbus_8c.html#af1b0553ef81d80e21233e23c3253ae61',1,'modbus_send(uint8_t length): modbus.c'],['../modbus_8h.html#af1b0553ef81d80e21233e23c3253ae61',1,'modbus_send(uint8_t length): modbus.c']]], + ['modbus_5ftimer_7',['modbus_timer',['../modbus_8c.html#add3e4a272cc65130d4e9f9c53caa61db',1,'modbus_timer(void): modbus.c'],['../modbus_8h.html#add3e4a272cc65130d4e9f9c53caa61db',1,'modbus_timer(void): modbus.c']]] +]; diff --git a/html/search/functions_8.js b/html/search/functions_8.js new file mode 100644 index 0000000..7525106 --- /dev/null +++ b/html/search/functions_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['oscillator_5finitialize_0',['OSCILLATOR_Initialize',['../mcc_8c.html#a4777dd92514a7e4ef803f9e869006f5d',1,'OSCILLATOR_Initialize(void): mcc.c'],['../mcc_8h.html#a4777dd92514a7e4ef803f9e869006f5d',1,'OSCILLATOR_Initialize(void): mcc.c']]] +]; diff --git a/html/search/functions_9.js b/html/search/functions_9.js new file mode 100644 index 0000000..d32328d --- /dev/null +++ b/html/search/functions_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['pin_5fmanager_5finitialize_0',['PIN_MANAGER_Initialize',['../pin__manager_8c.html#a50357774183a136d9490f64ad0d5c6cb',1,'PIN_MANAGER_Initialize(void): pin_manager.c'],['../pin__manager_8h.html#a50357774183a136d9490f64ad0d5c6cb',1,'PIN_MANAGER_Initialize(void): pin_manager.c']]], + ['pin_5fmanager_5fioc_1',['PIN_MANAGER_IOC',['../pin__manager_8c.html#a6ff320d017cf9b99ba9045f24d7ec896',1,'PIN_MANAGER_IOC(void): pin_manager.c'],['../pin__manager_8h.html#a6ff320d017cf9b99ba9045f24d7ec896',1,'PIN_MANAGER_IOC(void): pin_manager.c']]] +]; diff --git a/html/search/functions_a.js b/html/search/functions_a.js new file mode 100644 index 0000000..62e9e8c --- /dev/null +++ b/html/search/functions_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['system_5finitialize_0',['SYSTEM_Initialize',['../mcc_8c.html#a5e8391114a0cf91ac20002be25e3d352',1,'SYSTEM_Initialize(void): mcc.c'],['../mcc_8h.html#a5e8391114a0cf91ac20002be25e3d352',1,'SYSTEM_Initialize(void): mcc.c']]] +]; diff --git a/html/search/functions_b.js b/html/search/functions_b.js new file mode 100644 index 0000000..ec252e6 --- /dev/null +++ b/html/search/functions_b.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['tmr0_5fdefaultinterrupthandler_0',['TMR0_DefaultInterruptHandler',['../tmr0_8c.html#aab6153f25bf68ecb07d33a269e5b8dc4',1,'TMR0_DefaultInterruptHandler(void): tmr0.c'],['../tmr0_8h.html#aab6153f25bf68ecb07d33a269e5b8dc4',1,'TMR0_DefaultInterruptHandler(void): tmr0.c']]], + ['tmr0_5finitialize_1',['TMR0_Initialize',['../tmr0_8c.html#a73398a18b711af030af4db3c4c6c15e1',1,'TMR0_Initialize(void): tmr0.c'],['../tmr0_8h.html#a73398a18b711af030af4db3c4c6c15e1',1,'TMR0_Initialize(void): tmr0.c']]], + ['tmr0_5fisr_2',['TMR0_ISR',['../tmr0_8c.html#a8a465e070e24fe06a488f952b089886d',1,'TMR0_ISR(void): tmr0.c'],['../tmr0_8h.html#a8a465e070e24fe06a488f952b089886d',1,'TMR0_ISR(void): tmr0.c']]], + ['tmr0_5freadtimer_3',['TMR0_ReadTimer',['../tmr0_8c.html#abc520383c193d0d597a40bfa9de2a250',1,'TMR0_ReadTimer(void): tmr0.c'],['../tmr0_8h.html#abc520383c193d0d597a40bfa9de2a250',1,'TMR0_ReadTimer(void): tmr0.c']]], + ['tmr0_5freload_4',['TMR0_Reload',['../tmr0_8c.html#a61659c2dc0ff29595abe23b24cf81d14',1,'TMR0_Reload(void): tmr0.c'],['../tmr0_8h.html#a61659c2dc0ff29595abe23b24cf81d14',1,'TMR0_Reload(void): tmr0.c']]], + ['tmr0_5fsetinterrupthandler_5',['TMR0_SetInterruptHandler',['../tmr0_8c.html#a1b6adc623040b0e791871a0f9652a67f',1,'TMR0_SetInterruptHandler(void(*InterruptHandler)(void)): tmr0.c'],['../tmr0_8h.html#a1b6adc623040b0e791871a0f9652a67f',1,'TMR0_SetInterruptHandler(void(*InterruptHandler)(void)): tmr0.c']]], + ['tmr0_5fstarttimer_6',['TMR0_StartTimer',['../tmr0_8c.html#a3e1b5e411afd874143ff241d08e52e07',1,'TMR0_StartTimer(void): tmr0.c'],['../tmr0_8h.html#a3e1b5e411afd874143ff241d08e52e07',1,'TMR0_StartTimer(void): tmr0.c']]], + ['tmr0_5fstoptimer_7',['TMR0_StopTimer',['../tmr0_8c.html#afeaf0b9a17eeabda5d079bf63ed2b545',1,'TMR0_StopTimer(void): tmr0.c'],['../tmr0_8h.html#afeaf0b9a17eeabda5d079bf63ed2b545',1,'TMR0_StopTimer(void): tmr0.c']]], + ['tmr0_5fwritetimer_8',['TMR0_WriteTimer',['../tmr0_8c.html#a7842dca344326cf264fa7026d34256d5',1,'TMR0_WriteTimer(uint16_t timerVal): tmr0.c'],['../tmr0_8h.html#a7842dca344326cf264fa7026d34256d5',1,'TMR0_WriteTimer(uint16_t timerVal): tmr0.c']]], + ['tmr2_5fhasoverflowoccured_9',['TMR2_HasOverflowOccured',['../tmr2_8c.html#ab0b9dbd90bacc904f311d71fbcccd038',1,'TMR2_HasOverflowOccured(void): tmr2.c'],['../tmr2_8h.html#ab0b9dbd90bacc904f311d71fbcccd038',1,'TMR2_HasOverflowOccured(void): tmr2.c']]], + ['tmr2_5finitialize_10',['TMR2_Initialize',['../tmr2_8c.html#a46c13c9255379e99c10240229a145d37',1,'TMR2_Initialize(void): tmr2.c'],['../tmr2_8h.html#a46c13c9255379e99c10240229a145d37',1,'TMR2_Initialize(void): tmr2.c']]], + ['tmr2_5floadperiodregister_11',['TMR2_LoadPeriodRegister',['../tmr2_8c.html#a5490961ba3ba77d10896e320ab840a74',1,'TMR2_LoadPeriodRegister(uint8_t periodVal): tmr2.c'],['../tmr2_8h.html#a5490961ba3ba77d10896e320ab840a74',1,'TMR2_LoadPeriodRegister(uint8_t periodVal): tmr2.c']]], + ['tmr2_5freadtimer_12',['TMR2_ReadTimer',['../tmr2_8c.html#a4acc1f7c8c2dbd46424dad273cdb9cb1',1,'TMR2_ReadTimer(void): tmr2.c'],['../tmr2_8h.html#a4acc1f7c8c2dbd46424dad273cdb9cb1',1,'TMR2_ReadTimer(void): tmr2.c']]], + ['tmr2_5fstarttimer_13',['TMR2_StartTimer',['../tmr2_8c.html#afb37b846db811f973b4009215d59f91a',1,'TMR2_StartTimer(void): tmr2.c'],['../tmr2_8h.html#afb37b846db811f973b4009215d59f91a',1,'TMR2_StartTimer(void): tmr2.c']]], + ['tmr2_5fstoptimer_14',['TMR2_StopTimer',['../tmr2_8c.html#a36d7e6eab8b279863c83a32fb41adb02',1,'TMR2_StopTimer(void): tmr2.c'],['../tmr2_8h.html#a36d7e6eab8b279863c83a32fb41adb02',1,'TMR2_StopTimer(void): tmr2.c']]], + ['tmr2_5fwritetimer_15',['TMR2_WriteTimer',['../tmr2_8c.html#acb2fbe8254fcc8c01b9784b028a7eac6',1,'TMR2_WriteTimer(uint8_t timerVal): tmr2.c'],['../tmr2_8h.html#acb2fbe8254fcc8c01b9784b028a7eac6',1,'TMR2_WriteTimer(uint8_t timerVal): tmr2.c']]] +]; diff --git a/html/search/groups_0.js b/html/search/groups_0.js new file mode 100644 index 0000000..0ad0abb --- /dev/null +++ b/html/search/groups_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['ft5xx6_20masks_0',['FT5xx6 Masks',['../group__ft5xx6__masks.html',1,'']]], + ['ft5xx6_20offsets_1',['FT5xx6 Offsets',['../group__ft5xx6__offsets.html',1,'']]], + ['ft5xx6_20registers_2',['FT5xx6 Registers',['../group__ft5xx6__registers.html',1,'']]], + ['ft5xx6_20settings_3',['FT5xx6 Settings',['../group__ft5xx6__settings.html',1,'']]], + ['ft5xx6_20touch_20controllers_20driver_4',['FT5xx6 Touch Controllers Driver',['../group__ft5xx6.html',1,'']]] +]; diff --git a/html/search/groups_1.js b/html/search/groups_1.js new file mode 100644 index 0000000..5bc76bb --- /dev/null +++ b/html/search/groups_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['middleware_0',['Middleware',['../group__middlewaregroup.html',1,'']]] +]; diff --git a/html/search/groups_2.js b/html/search/groups_2.js new file mode 100644 index 0000000..4aa0159 --- /dev/null +++ b/html/search/groups_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ssd1963_20display_20controller_20commands_0',['SSD1963 Display Controller Commands',['../group__ssd1963__commands.html',1,'']]], + ['ssd1963_20display_20controller_20driver_1',['SSD1963 Display Controller Driver',['../group__ssd1963.html',1,'']]] +]; diff --git a/html/search/mag.svg b/html/search/mag.svg new file mode 100644 index 0000000..9f46b30 --- /dev/null +++ b/html/search/mag.svg @@ -0,0 +1,37 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/html/search/mag_d.svg b/html/search/mag_d.svg new file mode 100644 index 0000000..b9a814c --- /dev/null +++ b/html/search/mag_d.svg @@ -0,0 +1,37 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/html/search/mag_sel.svg b/html/search/mag_sel.svg new file mode 100644 index 0000000..03626f6 --- /dev/null +++ b/html/search/mag_sel.svg @@ -0,0 +1,74 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/html/search/mag_seld.svg b/html/search/mag_seld.svg new file mode 100644 index 0000000..6e720dc --- /dev/null +++ b/html/search/mag_seld.svg @@ -0,0 +1,74 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/html/search/search.css b/html/search/search.css new file mode 100644 index 0000000..19f76f9 --- /dev/null +++ b/html/search/search.css @@ -0,0 +1,291 @@ +/*---------------- Search Box positioning */ + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search box styling */ + +.SRPage * { + font-weight: normal; + line-height: normal; +} + +dark-mode-toggle { + margin-left: 5px; + display: flex; + float: right; +} + +#MSearchBox { + display: inline-block; + white-space : nowrap; + background: var(--search-background-color); + border-radius: 0.65em; + box-shadow: var(--search-box-shadow); + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + width: 20px; + height: 19px; + background-image: var(--search-magnification-select-image); + margin: 0 0 0 0.3em; + padding: 0; +} + +#MSearchSelectExt { + display: inline-block; + vertical-align: middle; + width: 10px; + height: 19px; + background-image: var(--search-magnification-image); + margin: 0 0 0 0.5em; + padding: 0; +} + + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 19px; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: var(--search-foreground-color); + outline: none; + font-family: var(--font-family-search); + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + +@media(hover: none) { + /* to avoid zooming on iOS */ + #MSearchField { + font-size: 16px; + } +} + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: var(--search-active-color); +} + + + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-filter-border-color); + background-color: var(--search-filter-background-color); + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt var(--font-family-search); + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: var(--font-family-monospace); + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: var(--search-filter-foreground-color); + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: var(--search-filter-foreground-color); + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: var(--search-filter-highlight-text-color); + background-color: var(--search-filter-highlight-bg-color); + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + /*width: 60ex;*/ + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-results-border-color); + background-color: var(--search-results-background-color); + z-index:10000; + width: 300px; + height: 400px; + overflow: auto; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +div.SRPage { + margin: 5px 2px; + background-color: var(--search-results-background-color); +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + font-size: 8pt; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: var(--font-family-search); +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: var(--font-family-search); +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: var(--nav-gradient-active-image-parent); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/html/search/search.js b/html/search/search.js new file mode 100644 index 0000000..e103a26 --- /dev/null +++ b/html/search/search.js @@ -0,0 +1,816 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var jsFile; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; + } + + var loadJS = function(url, impl, loc){ + var scriptTag = document.createElement('script'); + scriptTag.src = url; + scriptTag.onload = impl; + scriptTag.onreadystatechange = impl; + loc.appendChild(scriptTag); + } + + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + var domSearchBox = this.DOMSearchBox(); + var domPopupSearchResults = this.DOMPopupSearchResults(); + var domSearchClose = this.DOMSearchClose(); + var resultsPath = this.resultsPath; + + var handleResults = function() { + document.getElementById("Loading").style.display="none"; + if (typeof searchData !== 'undefined') { + createResults(resultsPath); + document.getElementById("NoMatches").style.display="none"; + } + + searchResults.Search(searchValue); + + if (domPopupSearchResultsWindow.style.display!='block') + { + domSearchClose.style.display = 'inline-block'; + var left = getXPos(domSearchBox) + 150; + var top = getYPos(domSearchBox) + 20; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + var maxWidth = document.body.clientWidth; + var maxHeight = document.body.clientHeight; + var width = 300; + if (left<10) left=10; + if (width+left+8>maxWidth) width=maxWidth-left-8; + var height = 400; + if (height+top+8>maxHeight) height=maxHeight-top-8; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResultsWindow.style.height = height + 'px'; + } + } + + if (jsFile) { + loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); + } else { + handleResults(); + } + + this.lastSearchValue = searchValue; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + this.searchActive = true; + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + this.DOMSearchField().value = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults(resultsPath) +{ + var results = document.getElementById("SRResults"); + results.innerHTML = ''; + for (var e=0; e-{AmhX=Jf@Vhid_N$B5fBR zb0{?_%kjHhtWDk`?Q7JekR*`qa5z5avfYn&-0jkO zdw64PZ0sukKfBtTuK(V)vherEi)Y>4**6Hg&RE0|ERxuzlB{Z{MY$CIy@ue1CA-{AmhX=Jf@Vh8#|{4O1NHp zYR})67@+pibuy=$T2fM4R+dgg<4=)<6jruv35L_21WSAnQBeE6>Akp)pJ4d$pZ{Jy zU%y;@ec$fSlV3}RFK7PdF1SqNkcjJyMI6B*iCs!Qfi0R{2Cg^+U&K#%T=W0U!`n~e z_Wv%}x&Qa!<7a>O=kKere>ZRc-;ba7ug$Z!jR{*meZ746kJZGR3sHIeJNH^6waLnx SGSYxPW$<+Mb6Mw<&;$UOZE%|a literal 0 HcmV?d00001 diff --git a/html/ssd1963__cmd_8h.html b/html/ssd1963__cmd_8h.html new file mode 100644 index 0000000..ade0250 --- /dev/null +++ b/html/ssd1963__cmd_8h.html @@ -0,0 +1,345 @@ + + + + + + + +Solar panel: lcd/ssd1963_cmd.h File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    ssd1963_cmd.h File Reference
    +
    +
    + +

    SSD1963 Display Controller Commands. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define SSD1963_CMD_NOP   0X00
     No operation.
     
    #define SSD1963_CMD_SOFT_RESET   0x01
     Software Reset.
     
    #define SSD1963_CMD_GET_POWER_MODE   0x0A
     Get the current power mode.
     
    #define SSD1963_CMD_GET_ADDRESS_MODE   0x0B
     Get the frame buffer to the display panel read order.
     
    #define SSD1963_CMD_GET_DISPLAY_MODE   0x0D
     The SSD1963 returns the Display Image Mode.
     
    #define SSD1963_CMD_GET_TEAR_EFFECT_status   0x0E
     Get the Tear Effect status.
     
    #define SSD1963_CMD_ENTER_SLEEP_MODE   0x10
     Turn off the panel. This command will pull high the GPIO0. If GPIO0 is configured as normal GPIO or LCD miscellaneous signal with command set_gpio_conf, this command will be ignored.
     
    #define SSD1963_CMD_EXIT_SLEEP_MODE   0x11
     Turn on the panel. This command will pull low the GPIO0. If GPIO0 is configured as normal GPIO or LCD miscellaneous signal with command set_gpio_conf, this command will be ignored.
     
    #define SSD1963_CMD_ENTER_PARTIAL_MODE   0x12
     Part of the display area is used for image display.
     
    #define SSD1963_CMD_ENTER_NORMAL_MODE   0x13
     The whole display area is used for image display.
     
    #define SSD1963_CMD_EXIT_INVERT_MODE   0x20
     Displayed image colors are not inverted.
     
    #define SSD1963_CMD_ENTER_INVERT_MODE   0x21
     Displayed image colors are inverted.
     
    #define SSD1963_CMD_SET_GAMMA_CURVE   0x26
     Selects the gamma curve used by the display panel.
     
    #define SSD1963_CMD_SET_DISPLAY_OFF   0x28
     Blanks the display panel.
     
    #define SSD1963_CMD_SET_DISPLAY_ON   0x29
     Show the image on the display panel.
     
    #define SSD1963_CMD_SET_COLUMN_ADDRESS   0x2A
     Set the column address.
     
    #define SSD1963_CMD_SET_PAGE_ADDRESS   0x2B
     Set the page address.
     
    #define SSD1963_CMD_WRITE_MEMORY_START   0x2C
     Transfer image information from the host processor interface to the SSD1963 starting at the location provided by set_column_address and set_page_address.
     
    #define SSD1963_CMD_READ_MEMORY_START   0x2E
     Transfer image data from the SSD1963 to the host processor interface starting at the location provided by set_column_address and set_page_address.
     
    #define SSD1963_CMD_SET_PARTIAL_AREA   0x30
     Defines the partial display area on the display panel.
     
    #define SSD1963_CMD_SET_SCROLL_AREA   0x33
     Defines the vertical scrolling and fixed area on display area.
     
    #define SSD1963_CMD_SET_TEAR_OFF   0x34
     Synchronization information is not sent from the SSD1963 to the host processor.
     
    #define SSD1963_CMD_SET_TEAR_ON   0x35
     Synchronization information is sent from the SSD1963 to the host processor at the start of VFP.
     
    #define SSD1963_CMD_SET_ADDRESS_MODE   0x36
     Set the read order from frame buffer to the display panel.
     
    #define SSD1963_CMD_SET_SCROLL_START   0x37
     Defines the vertical scrolling starting point.
     
    #define SSD1963_CMD_EXIT_IDLE_MODE   0x38
     Full color depth is used for the display panel.
     
    #define SSD1963_CMD_ENTER_IDLE_MODE   0x39
     Reduce color depth is used on the display panel.
     
    #define SSD1963_CMD_WRITE_MEMORY_CONTINUE   0x3C
     Transfer image information from the host processor interface to the SSD1963 from the last written location.
     
    #define SSD1963_CMD_READ_MEMORY_CONTINUE   0x3E
     Read image data from the SSD1963 continuing after the last read_memory_continue or read_memory_start.
     
    #define SSD1963_CMD_SET_TEAR_SCANLINE   0x44
     Synchronization information is sent from the SSD1963 to the host processor when the display panel refresh reaches the provided scan line.
     
    #define SSD1963_CMD_GET_SCANLINE   0x45
     Get the current scan line.
     
    #define SSD1963_CMD_READ_DDB   0xA1
     Read the DDB from the provided location.
     
    #define SSD1963_CMD_SET_LCD_MODE   0xB0
     Set the LCD panel mode and resolution.
     
    #define SSD1963_CMD_GET_LCD_MODE   0xB1
     Get the current LCD panel mode, pad strength and resolution.
     
    #define SSD1963_CMD_SET_HORI_PERIOD   0xB4
     Set front porch.
     
    #define SSD1963_CMD_GET_HORI_PERIOD   0xB5
     Get current front porch settings.
     
    #define SSD1963_CMD_SET_VERT_PERIOD   0xB6
     Set the vertical blanking interval between last scan line and next LFRAME pulse.
     
    #define SSD1963_CMD_GET_VERT_PERIOD   0xB7
     Get the vertical blanking interval between last scan line and next LFRAME pulse.
     
    #define SSD1963_CMD_SET_GPIO_CONF   0xB8
     Set the GPIO configuration. If the GPIO is not used for LCD, set the direction. Otherwise, they are toggled with LCD signals.
     
    #define SSD1963_CMD_GET_GPIO_CONF   0xB9
     Get the current GPIO configuration.
     
    #define SSD1963_CMD_SET_GPIO_VALUE   0xBA
     Set GPIO value for GPIO configured as output.
     
    #define SSD1963_CMD_GET_GPIO_STATUS   0xBB
     Read current GPIO status. If the individual GPIO was configured as input, the value is the status of the corresponding pin. Otherwise, it is the programmed value.
     
    #define SSD1963_CMD_SET_POST_PROC   0xBC
     Set the image post processor.
     
    #define SSD1963_CMD_GET_POST_PROC   0xBD
     Get the image post processor.
     
    #define SSD1963_CMD_SET_PWM_CONF   0xBE
     Set the image post processor.
     
    #define SSD1963_CMD_GET_PWM_CONF   0xBF
     Get the image post processor.
     
    #define SSD1963_CMD_SET_LCD_GEN0   0xC0
     Set the rise, fall, period and toggling properties of LCD signal generator 0.
     
    #define SSD1963_CMD_GET_LCD_GEN0   0xC1
     Get the current settings of LCD signal generator 0.
     
    #define SSD1963_CMD_SET_LCD_GEN1   0xC2
     Set the rise, fall, period and toggling properties of LCD signal generator 1.
     
    #define SSD1963_CMD_GET_LCD_GEN1   0xC3
     Get the current settings of LCD signal generator 1.
     
    #define SSD1963_CMD_SET_LCD_GEN2   0xC4
     Set the rise, fall, period and toggling properties of LCD signal generator 2.
     
    #define SSD1963_CMD_GET_LCD_GEN2   0xC5
     Get the current settings of LCD signal generator 2.
     
    #define SSD1963_CMD_SET_LCD_GEN3   0xC6
     Set the rise, fall, period and toggling properties of LCD signal generator 3.
     
    #define SSD1963_CMD_GET_LCD_GEN3   0xC7
     Get the current settings of LCD signal generator 3.
     
    #define SSD1963_CMD_SET_GPIO0_ROP   0xC8
     Set the GPIO0 with respect to the LCD signal generators using ROP operation. No effect if the GPIO0 is configured as general GPIO.
     
    #define SSD1963_CMD_GET_GPIO0_ROP   0xC9
     Get the GPIO0 properties with respect to the LCD signal generators.
     
    #define SSD1963_CMD_SET_GPIO1_ROP   0xCA
     Set the GPIO1 with respect to the LCD signal generators using ROP operation. No effect if the GPIO1 is configured as general GPIO.
     
    #define SSD1963_CMD_GET_GPIO1_ROP   0xCB
     Get the GPIO1 properties with respect to the LCD signal generators.
     
    #define SSD1963_CMD_SET_GPIO2_ROP   0xCC
     Set the GPIO2 with respect to the LCD signal generators using ROP operation. No effect if the GPIO2 is configured as general GPIO.
     
    #define SSD1963_CMD_GET_GPIO2_ROP   0xCD
     Get the GPIO2 properties with respect to the LCD signal generators.
     
    #define SSD1963_CMD_SET_GPIO3_ROP   0xCE
     Set the GPIO3 with respect to the LCD signal generators using ROP operation. No effect if the GPIO3 is configured as general GPIO.
     
    #define SSD1963_CMD_GET_GPIO3_ROP   0xCF
     Get the GPIO3 properties with respect to the LCD signal generators.
     
    #define SSD1963_CMD_SET_DBC_CONF   0xD0
     Set the dynamic back light configuration.
     
    #define SSD1963_CMD_GET_DBC_CONF   0xD
     Get the current dynamic back light configuration.
     
    #define SSD1963_CMD_SET_DBC_TH   0xD4
     Set the threshold for each level of power saving.
     
    #define SSD1963_CMD_GET_DBC_TH   0xD5
     Get the threshold for each level of power saving.
     
    #define SSD1963_CMD_SET_PLL   0xE0
     Start the PLL. Before the start, the system was operated with the crystal oscillator or clock input.
     
    #define SSD1963_CMD_SET_PLL_MN   0xE2
     Set the PLL.
     
    #define SSD1963_CMD_GET_PLL_MN   0xE3
     Get the PLL settings.
     
    #define SSD1963_CMD_GET_PLL_STATUS   0xE4
     Get the current PLL status.
     
    #define SSD1963_CMD_SET_DEEP_SLEEP   0xE5
     Set deep sleep mode.
     
    #define SSD1963_CMD_SET_LSHIFT_FREQ   0xE6
     Set the LSHIFT (pixel clock) frequency.
     
    #define SSD1963_CMD_GET_LSHIFT_FREQ   0xE7
     Get current LSHIFT (pixel clock) frequency setting.
     
    #define SSD1963_CMD_SET_PIXEL_DATA_INTERFACE   0xF0
     Set the pixel data format of the parallel host processor interface.
     
    #define SSD1963_CMD_GET_PIXEL_DATA_INTERFACE   0xF1
     Get the current pixel data format settings.
     
    +

    Detailed Description

    +

    SSD1963 Display Controller Commands.

    + +

    Definition in file ssd1963_cmd.h.

    +
    +
    + + + + diff --git a/html/ssd1963__cmd_8h.js b/html/ssd1963__cmd_8h.js new file mode 100644 index 0000000..4b5b2b3 --- /dev/null +++ b/html/ssd1963__cmd_8h.js @@ -0,0 +1,78 @@ +var ssd1963__cmd_8h = +[ + [ "SSD1963_CMD_ENTER_IDLE_MODE", "group__ssd1963__commands.html#ga2c5dea1a840e735bf752cfd4161dbdbf", null ], + [ "SSD1963_CMD_ENTER_INVERT_MODE", "group__ssd1963__commands.html#gae755a0ff04d2374221a02b25461b3e48", null ], + [ "SSD1963_CMD_ENTER_NORMAL_MODE", "group__ssd1963__commands.html#gaf6c4502730577691abd838bc54a61999", null ], + [ "SSD1963_CMD_ENTER_PARTIAL_MODE", "group__ssd1963__commands.html#ga99fbffbdf19523bd314cb976b68eb6b6", null ], + [ "SSD1963_CMD_ENTER_SLEEP_MODE", "group__ssd1963__commands.html#ga57289edf862630f53d68e669085ea7a3", null ], + [ "SSD1963_CMD_EXIT_IDLE_MODE", "group__ssd1963__commands.html#ga6282d916f4fc2f3e4e1bc8907b931aba", null ], + [ "SSD1963_CMD_EXIT_INVERT_MODE", "group__ssd1963__commands.html#ga5a10c822d01def2612fe279a48cd3225", null ], + [ "SSD1963_CMD_EXIT_SLEEP_MODE", "group__ssd1963__commands.html#gaebaeaa16b7ce448deac22b383aea3465", null ], + [ "SSD1963_CMD_GET_ADDRESS_MODE", "group__ssd1963__commands.html#ga55f2a8be9c7f29ea5767daebde88e0e1", null ], + [ "SSD1963_CMD_GET_DBC_CONF", "group__ssd1963__commands.html#gaf16b32838833eb19f100be9bf84757fa", null ], + [ "SSD1963_CMD_GET_DBC_TH", "group__ssd1963__commands.html#gab7ba37ba8593da2ce5c91cf0b845358a", null ], + [ "SSD1963_CMD_GET_DISPLAY_MODE", "group__ssd1963__commands.html#ga47c1a96472e2a02872475fe71beefefc", null ], + [ "SSD1963_CMD_GET_GPIO0_ROP", "group__ssd1963__commands.html#gaec878e56db9f968cce0365d2d9c2e33e", null ], + [ "SSD1963_CMD_GET_GPIO1_ROP", "group__ssd1963__commands.html#ga17d2f3d0dd63cdb4f7efa570190696ea", null ], + [ "SSD1963_CMD_GET_GPIO2_ROP", "group__ssd1963__commands.html#ga78599bdb89609e17337e977a8bb65253", null ], + [ "SSD1963_CMD_GET_GPIO3_ROP", "group__ssd1963__commands.html#ga6668c18c3d023db129da7e5287cfb780", null ], + [ "SSD1963_CMD_GET_GPIO_CONF", "group__ssd1963__commands.html#gaa88506d0e3a8c0405dadcc5759650198", null ], + [ "SSD1963_CMD_GET_GPIO_STATUS", "group__ssd1963__commands.html#ga6e06f86b0e4fc11bcce1966bf959d9bd", null ], + [ "SSD1963_CMD_GET_HORI_PERIOD", "group__ssd1963__commands.html#ga7f4ef2eed395b52590f72f9d4dc6b03d", null ], + [ "SSD1963_CMD_GET_LCD_GEN0", "group__ssd1963__commands.html#gaf57d35bb34a2f9e93bf394ad375a57f4", null ], + [ "SSD1963_CMD_GET_LCD_GEN1", "group__ssd1963__commands.html#ga86c5362994c14c377065c2b6210291fd", null ], + [ "SSD1963_CMD_GET_LCD_GEN2", "group__ssd1963__commands.html#gaa96e1b3b954d5ac9879cbd964feb7a4f", null ], + [ "SSD1963_CMD_GET_LCD_GEN3", "group__ssd1963__commands.html#ga0ab64e469bb8413a5e1875a27a2932a7", null ], + [ "SSD1963_CMD_GET_LCD_MODE", "group__ssd1963__commands.html#gac18865e8dc952594c67102f1ef2afe53", null ], + [ "SSD1963_CMD_GET_LSHIFT_FREQ", "group__ssd1963__commands.html#gadcfa2a415d5348aa35b4b19dfb9f6eb6", null ], + [ "SSD1963_CMD_GET_PIXEL_DATA_INTERFACE", "group__ssd1963__commands.html#ga7726be95b20a924b19a0e6955469e1e7", null ], + [ "SSD1963_CMD_GET_PLL_MN", "group__ssd1963__commands.html#ga452389c04cfc2b314b88c9edddebcb62", null ], + [ "SSD1963_CMD_GET_PLL_STATUS", "group__ssd1963__commands.html#gaf58c392bf4c166587b6948480f173a2c", null ], + [ "SSD1963_CMD_GET_POST_PROC", "group__ssd1963__commands.html#ga64ada6fc3b175c02e1319d5119164262", null ], + [ "SSD1963_CMD_GET_POWER_MODE", "group__ssd1963__commands.html#gac1c7af6f3dce9128cdaab9990fc32f09", null ], + [ "SSD1963_CMD_GET_PWM_CONF", "group__ssd1963__commands.html#gac0e4ee0f4b8e5f5f05d37e5aed2523c7", null ], + [ "SSD1963_CMD_GET_SCANLINE", "group__ssd1963__commands.html#ga2f50f4608a9c41f105e0a4d42af40ed5", null ], + [ "SSD1963_CMD_GET_TEAR_EFFECT_status", "group__ssd1963__commands.html#gaa4913969868da689f455fcf456206a5e", null ], + [ "SSD1963_CMD_GET_VERT_PERIOD", "group__ssd1963__commands.html#ga6c2790c8fa45e2e094c89f45c168d26f", null ], + [ "SSD1963_CMD_NOP", "group__ssd1963__commands.html#ga28b4566c03c70de69ee814631f672842", null ], + [ "SSD1963_CMD_READ_DDB", "group__ssd1963__commands.html#gaaedc464117fa45bd9283173ca1d2a897", null ], + [ "SSD1963_CMD_READ_MEMORY_CONTINUE", "group__ssd1963__commands.html#gad34eb3ea10479cc6ab5af8a5a6bb0dfd", null ], + [ "SSD1963_CMD_READ_MEMORY_START", "group__ssd1963__commands.html#ga09abb8af35157af765ab4a972f865a6f", null ], + [ "SSD1963_CMD_SET_ADDRESS_MODE", "group__ssd1963__commands.html#ga4f4ea542149405e8341080302b240b5e", null ], + [ "SSD1963_CMD_SET_COLUMN_ADDRESS", "group__ssd1963__commands.html#ga5a1cae235fccf498a81b2b3e945c8989", null ], + [ "SSD1963_CMD_SET_DBC_CONF", "group__ssd1963__commands.html#gae0cc4e550c8f289531569b18900ab479", null ], + [ "SSD1963_CMD_SET_DBC_TH", "group__ssd1963__commands.html#gab880422087fa233dac130499eddd745b", null ], + [ "SSD1963_CMD_SET_DEEP_SLEEP", "group__ssd1963__commands.html#gae1c08119d3b54b1fa2767fbedc64bbba", null ], + [ "SSD1963_CMD_SET_DISPLAY_OFF", "group__ssd1963__commands.html#gaa5b5f8e3e870b003f0a426bad9f4083b", null ], + [ "SSD1963_CMD_SET_DISPLAY_ON", "group__ssd1963__commands.html#ga4463a1fb31c546d71caa80020829e854", null ], + [ "SSD1963_CMD_SET_GAMMA_CURVE", "group__ssd1963__commands.html#gab63ccdc0c4a636955a482ece8c1c338f", null ], + [ "SSD1963_CMD_SET_GPIO0_ROP", "group__ssd1963__commands.html#gafe20d4df7574c312a770a84289f1ea31", null ], + [ "SSD1963_CMD_SET_GPIO1_ROP", "group__ssd1963__commands.html#ga24842b33d29ee77390ec364acff5e033", null ], + [ "SSD1963_CMD_SET_GPIO2_ROP", "group__ssd1963__commands.html#ga1f493f024a6892586370401b74f2152f", null ], + [ "SSD1963_CMD_SET_GPIO3_ROP", "group__ssd1963__commands.html#gaedf50ae86e165d62f4ff9a2c7ccc6faf", null ], + [ "SSD1963_CMD_SET_GPIO_CONF", "group__ssd1963__commands.html#gad8064a7e326d276d5ad49c68ead48afa", null ], + [ "SSD1963_CMD_SET_GPIO_VALUE", "group__ssd1963__commands.html#ga9697b3d019345aabf27adf5501609163", null ], + [ "SSD1963_CMD_SET_HORI_PERIOD", "group__ssd1963__commands.html#ga6367813627ea227531d633a5f0d1cf8f", null ], + [ "SSD1963_CMD_SET_LCD_GEN0", "group__ssd1963__commands.html#ga43f14eb9831663fed17738178bffaff9", null ], + [ "SSD1963_CMD_SET_LCD_GEN1", "group__ssd1963__commands.html#ga5754f5b87f11b802041cd4a7cf7f8922", null ], + [ "SSD1963_CMD_SET_LCD_GEN2", "group__ssd1963__commands.html#ga9669e3da7b2ca47f751e4fc0c2aace06", null ], + [ "SSD1963_CMD_SET_LCD_GEN3", "group__ssd1963__commands.html#gaa8777a327daab166449381aa3c40b1ac", null ], + [ "SSD1963_CMD_SET_LCD_MODE", "group__ssd1963__commands.html#ga0d62b888ba9ada391b383e86bc49a5a2", null ], + [ "SSD1963_CMD_SET_LSHIFT_FREQ", "group__ssd1963__commands.html#ga58e1f6409589e8268258fd7642e3962a", null ], + [ "SSD1963_CMD_SET_PAGE_ADDRESS", "group__ssd1963__commands.html#gaad5ab15a32df657361120395eaabdd3e", null ], + [ "SSD1963_CMD_SET_PARTIAL_AREA", "group__ssd1963__commands.html#ga7d3fcb40193974cf24104a4d6f8f0ae5", null ], + [ "SSD1963_CMD_SET_PIXEL_DATA_INTERFACE", "group__ssd1963__commands.html#gab88b4b7bc3e2b686f8b6f53a29a55adc", null ], + [ "SSD1963_CMD_SET_PLL", "group__ssd1963__commands.html#ga023ad024f7deb2cf1f307ef80b14e28f", null ], + [ "SSD1963_CMD_SET_PLL_MN", "group__ssd1963__commands.html#ga70769caa2f1f173abfd8cc9dd1a9f002", null ], + [ "SSD1963_CMD_SET_POST_PROC", "group__ssd1963__commands.html#ga6a60f92bf8f4023465bf6c2227c0e0a5", null ], + [ "SSD1963_CMD_SET_PWM_CONF", "group__ssd1963__commands.html#gaba8e814d8c960e0aca41ca5b25e13468", null ], + [ "SSD1963_CMD_SET_SCROLL_AREA", "group__ssd1963__commands.html#gabd078989b795403b6dc307a878dfc927", null ], + [ "SSD1963_CMD_SET_SCROLL_START", "group__ssd1963__commands.html#ga8ee0f5e72f381433746c9da694b3dd24", null ], + [ "SSD1963_CMD_SET_TEAR_OFF", "group__ssd1963__commands.html#ga47ea759448957805d185e7e1889545e8", null ], + [ "SSD1963_CMD_SET_TEAR_ON", "group__ssd1963__commands.html#ga6c683379f8bcad6af9360954dccfc1a2", null ], + [ "SSD1963_CMD_SET_TEAR_SCANLINE", "group__ssd1963__commands.html#ga0fe83402a486a6588ac4dfa5675452ea", null ], + [ "SSD1963_CMD_SET_VERT_PERIOD", "group__ssd1963__commands.html#gac80b8a67c25324b986682404759215a3", null ], + [ "SSD1963_CMD_SOFT_RESET", "group__ssd1963__commands.html#gad70cf894e51f94804bb8cb3297be2f43", null ], + [ "SSD1963_CMD_WRITE_MEMORY_CONTINUE", "group__ssd1963__commands.html#ga2d20a8ba4032ec59f6f9b9bf2a06fe10", null ], + [ "SSD1963_CMD_WRITE_MEMORY_START", "group__ssd1963__commands.html#ga163e3b56e45c90da14417449d4aaea7b", null ] +]; \ No newline at end of file diff --git a/html/ssd1963__cmd_8h_source.html b/html/ssd1963__cmd_8h_source.html new file mode 100644 index 0000000..a710b79 --- /dev/null +++ b/html/ssd1963__cmd_8h_source.html @@ -0,0 +1,312 @@ + + + + + + + +Solar panel: lcd/ssd1963_cmd.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ssd1963_cmd.h
    +
    +
    +Go to the documentation of this file.
    1/****************************************************************************
    +
    2**
    +
    3** Copyright (C) 2020 MikroElektronika d.o.o.
    +
    4** Contact: https://www.mikroe.com/contact
    +
    5**
    +
    6** This file is part of the mikroSDK package
    +
    7**
    +
    8** Commercial License Usage
    +
    9**
    +
    10** Licensees holding valid commercial NECTO compilers AI licenses may use this
    +
    11** file in accordance with the commercial license agreement provided with the
    +
    12** Software or, alternatively, in accordance with the terms contained in
    +
    13** a written agreement between you and The mikroElektronika Company.
    +
    14** For licensing terms and conditions see
    +
    15** https://www.mikroe.com/legal/software-license-agreement.
    +
    16** For further information use the contact form at
    +
    17** https://www.mikroe.com/contact.
    +
    18**
    +
    19**
    +
    20** GNU Lesser General Public License Usage
    +
    21**
    +
    22** Alternatively, this file may be used for
    +
    23** non-commercial projects under the terms of the GNU Lesser
    +
    24** General Public License version 3 as published by the Free Software
    +
    25** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html.
    +
    26**
    +
    27** The above copyright notice and this permission notice shall be
    +
    28** included in all copies or substantial portions of the Software.
    +
    29**
    +
    30** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +
    31** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
    +
    32** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    +
    33** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
    +
    34** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
    +
    35** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
    +
    36** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    37**
    +
    38****************************************************************************/
    +
    60#ifndef SSD1963_CMD_H
    +
    61#define SSD1963_CMD_H
    +
    62
    +
    66#define SSD1963_CMD_NOP 0X00
    +
    67
    +
    71#define SSD1963_CMD_SOFT_RESET 0x01
    +
    72
    +
    76#define SSD1963_CMD_GET_POWER_MODE 0x0A
    +
    77
    +
    81#define SSD1963_CMD_GET_ADDRESS_MODE 0x0B
    +
    82
    +
    83// #define SSD1963_CMD_RESERVED 0X0C
    +
    84
    +
    88#define SSD1963_CMD_GET_DISPLAY_MODE 0x0D
    +
    89
    +
    93#define SSD1963_CMD_GET_TEAR_EFFECT_status 0x0E
    +
    94
    +
    95//#define SSD1963_CMD_RESERVED 0X0F
    +
    96
    +
    100#define SSD1963_CMD_ENTER_SLEEP_MODE 0x10
    +
    101
    +
    105#define SSD1963_CMD_EXIT_SLEEP_MODE 0x11
    +
    106
    +
    110#define SSD1963_CMD_ENTER_PARTIAL_MODE 0x12
    +
    111
    +
    115#define SSD1963_CMD_ENTER_NORMAL_MODE 0x13
    +
    116
    +
    120#define SSD1963_CMD_EXIT_INVERT_MODE 0x20
    +
    121
    +
    125#define SSD1963_CMD_ENTER_INVERT_MODE 0x21
    +
    126
    +
    130#define SSD1963_CMD_SET_GAMMA_CURVE 0x26
    +
    131
    +
    135#define SSD1963_CMD_SET_DISPLAY_OFF 0x28
    +
    136
    +
    140#define SSD1963_CMD_SET_DISPLAY_ON 0x29
    +
    141
    +
    145#define SSD1963_CMD_SET_COLUMN_ADDRESS 0x2A
    +
    146
    +
    150#define SSD1963_CMD_SET_PAGE_ADDRESS 0x2B
    +
    151
    +
    155#define SSD1963_CMD_WRITE_MEMORY_START 0x2C
    +
    156
    +
    160#define SSD1963_CMD_READ_MEMORY_START 0x2E
    +
    161
    +
    165#define SSD1963_CMD_SET_PARTIAL_AREA 0x30
    +
    166
    +
    170#define SSD1963_CMD_SET_SCROLL_AREA 0x33
    +
    171
    +
    175#define SSD1963_CMD_SET_TEAR_OFF 0x34
    +
    176
    +
    180#define SSD1963_CMD_SET_TEAR_ON 0x35
    +
    181
    +
    185#define SSD1963_CMD_SET_ADDRESS_MODE 0x36
    +
    186
    +
    190#define SSD1963_CMD_SET_SCROLL_START 0x37
    +
    191
    +
    195#define SSD1963_CMD_EXIT_IDLE_MODE 0x38
    +
    196
    +
    200#define SSD1963_CMD_ENTER_IDLE_MODE 0x39
    +
    201
    +
    202// #define SSD1963_CMD_RESERVED 0X3A
    +
    203
    +
    207#define SSD1963_CMD_WRITE_MEMORY_CONTINUE 0x3C
    +
    208
    +
    212#define SSD1963_CMD_READ_MEMORY_CONTINUE 0x3E
    +
    213
    +
    217#define SSD1963_CMD_SET_TEAR_SCANLINE 0x44
    +
    218
    +
    222#define SSD1963_CMD_GET_SCANLINE 0x45
    +
    223
    +
    227#define SSD1963_CMD_READ_DDB 0xA1
    +
    228
    +
    229// #define SSD1963_CMD_RESERVED 0xA8
    +
    230
    +
    234#define SSD1963_CMD_SET_LCD_MODE 0xB0
    +
    235
    +
    239#define SSD1963_CMD_GET_LCD_MODE 0xB1
    +
    240
    +
    244#define SSD1963_CMD_SET_HORI_PERIOD 0xB4
    +
    245
    +
    249#define SSD1963_CMD_GET_HORI_PERIOD 0xB5
    +
    250
    +
    254#define SSD1963_CMD_SET_VERT_PERIOD 0xB6
    +
    255
    +
    259#define SSD1963_CMD_GET_VERT_PERIOD 0xB7
    +
    260
    +
    264#define SSD1963_CMD_SET_GPIO_CONF 0xB8
    +
    265
    +
    269#define SSD1963_CMD_GET_GPIO_CONF 0xB9
    +
    270
    +
    274#define SSD1963_CMD_SET_GPIO_VALUE 0xBA
    +
    275
    +
    279#define SSD1963_CMD_GET_GPIO_STATUS 0xBB
    +
    280
    +
    284#define SSD1963_CMD_SET_POST_PROC 0xBC
    +
    285
    +
    289#define SSD1963_CMD_GET_POST_PROC 0xBD
    +
    290
    +
    294#define SSD1963_CMD_SET_PWM_CONF 0xBE
    +
    295
    +
    299#define SSD1963_CMD_GET_PWM_CONF 0xBF
    +
    300
    +
    304#define SSD1963_CMD_SET_LCD_GEN0 0xC0
    +
    305
    +
    309#define SSD1963_CMD_GET_LCD_GEN0 0xC1
    +
    310
    +
    314#define SSD1963_CMD_SET_LCD_GEN1 0xC2
    +
    315
    +
    319#define SSD1963_CMD_GET_LCD_GEN1 0xC3
    +
    320
    +
    324#define SSD1963_CMD_SET_LCD_GEN2 0xC4
    +
    325
    +
    329#define SSD1963_CMD_GET_LCD_GEN2 0xC5
    +
    330
    +
    334#define SSD1963_CMD_SET_LCD_GEN3 0xC6
    +
    335
    +
    339#define SSD1963_CMD_GET_LCD_GEN3 0xC7
    +
    340
    +
    344#define SSD1963_CMD_SET_GPIO0_ROP 0xC8
    +
    345
    +
    349#define SSD1963_CMD_GET_GPIO0_ROP 0xC9
    +
    350
    +
    354#define SSD1963_CMD_SET_GPIO1_ROP 0xCA
    +
    355
    +
    359#define SSD1963_CMD_GET_GPIO1_ROP 0xCB
    +
    360
    +
    364#define SSD1963_CMD_SET_GPIO2_ROP 0xCC
    +
    365
    +
    369#define SSD1963_CMD_GET_GPIO2_ROP 0xCD
    +
    370
    +
    374#define SSD1963_CMD_SET_GPIO3_ROP 0xCE
    +
    375
    +
    379#define SSD1963_CMD_GET_GPIO3_ROP 0xCF
    +
    380
    +
    384#define SSD1963_CMD_SET_DBC_CONF 0xD0
    +
    385
    +
    389#define SSD1963_CMD_GET_DBC_CONF 0xD
    +
    390
    +
    394#define SSD1963_CMD_SET_DBC_TH 0xD4
    +
    395
    +
    399#define SSD1963_CMD_GET_DBC_TH 0xD5
    +
    400
    +
    404#define SSD1963_CMD_SET_PLL 0xE0
    +
    405
    +
    409#define SSD1963_CMD_SET_PLL_MN 0xE2
    +
    410
    +
    414#define SSD1963_CMD_GET_PLL_MN 0xE3
    +
    415
    +
    419#define SSD1963_CMD_GET_PLL_STATUS 0xE4
    +
    420
    +
    424#define SSD1963_CMD_SET_DEEP_SLEEP 0xE5
    +
    425
    +
    429#define SSD1963_CMD_SET_LSHIFT_FREQ 0xE6
    +
    430
    +
    434#define SSD1963_CMD_GET_LSHIFT_FREQ 0xE7
    +
    435
    +
    436// #define SSD1963_CMD_RESERVED 0xE8
    +
    437// #define SSD1963_CMD_RESERVED 0xE9
    +
    438
    +
    442#define SSD1963_CMD_SET_PIXEL_DATA_INTERFACE 0xF0
    +
    443
    +
    447#define SSD1963_CMD_GET_PIXEL_DATA_INTERFACE 0xF1
    +
    448
    +
    449// #define SSD1963_CMD_RESERVED 0xFF
    +
    450 // ssd1963 // ssd1963 // mwgroup
    +
    454
    +
    455#endif // SSD1963_CMD_H
    +
    456// ------------------------------------------------------------------------- END
    +
    +
    + + + + diff --git a/html/structadc__sync__double__result__t-members.html b/html/structadc__sync__double__result__t-members.html new file mode 100644 index 0000000..87f942a --- /dev/null +++ b/html/structadc__sync__double__result__t-members.html @@ -0,0 +1,109 @@ + + + + + + + +Solar panel: Member List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    adc_sync_double_result_t Member List
    +
    +
    + +

    This is the complete list of members for adc_sync_double_result_t, including all inherited members.

    + + + +
    adcResult1adc_sync_double_result_t
    adcResult2adc_sync_double_result_t
    +
    + + + + diff --git a/html/structadc__sync__double__result__t.html b/html/structadc__sync__double__result__t.html new file mode 100644 index 0000000..ab6457d --- /dev/null +++ b/html/structadc__sync__double__result__t.html @@ -0,0 +1,158 @@ + + + + + + + +Solar panel: adc_sync_double_result_t Struct Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    adc_sync_double_result_t Struct Reference
    +
    +
    + +

    #include <adc.h>

    + + + + + + +

    +Public Attributes

    adc_result_t adcResult1
     
    adc_result_t adcResult2
     
    +

    Detailed Description

    +

    result type of a Double ADC conversion

    + +

    Definition at line 77 of file adc.h.

    +

    Member Data Documentation

    + +

    ◆ adcResult1

    + +
    +
    + + + + +
    adc_result_t adc_sync_double_result_t::adcResult1
    +
    + +

    Definition at line 79 of file adc.h.

    + +
    +
    + +

    ◆ adcResult2

    + +
    +
    + + + + +
    adc_result_t adc_sync_double_result_t::adcResult2
    +
    + +

    Definition at line 80 of file adc.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file:
      +
    • mcc_generated_files/adc.h
    • +
    +
    +
    + + + + diff --git a/html/structadc__sync__double__result__t.js b/html/structadc__sync__double__result__t.js new file mode 100644 index 0000000..34ebc0b --- /dev/null +++ b/html/structadc__sync__double__result__t.js @@ -0,0 +1,5 @@ +var structadc__sync__double__result__t = +[ + [ "adcResult1", "structadc__sync__double__result__t.html#af8e1cac59f7562513545cc68e1e10386", null ], + [ "adcResult2", "structadc__sync__double__result__t.html#a816f0d43b8ee50c539734d97ff87e394", null ] +]; \ No newline at end of file diff --git a/html/structft5xx6__cfg__t-members.html b/html/structft5xx6__cfg__t-members.html new file mode 100644 index 0000000..12aaef5 --- /dev/null +++ b/html/structft5xx6__cfg__t-members.html @@ -0,0 +1,110 @@ + + + + + + + +Solar panel: Member List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ft5xx6_cfg_t Member List
    +
    +
    + +

    This is the complete list of members for ft5xx6_cfg_t, including all inherited members.

    + + + + +
    controllerft5xx6_cfg_t
    i2c_cfgft5xx6_cfg_t
    int_pinft5xx6_cfg_t
    +
    + + + + diff --git a/html/structft5xx6__cfg__t.html b/html/structft5xx6__cfg__t.html new file mode 100644 index 0000000..77d4af3 --- /dev/null +++ b/html/structft5xx6__cfg__t.html @@ -0,0 +1,183 @@ + + + + + + + +Solar panel: ft5xx6_cfg_t Struct Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    ft5xx6_cfg_t Struct Reference
    +
    +
    + +

    FT5xx6 Configuration Object. + More...

    + +

    #include <ft5xx6.h>

    + + + + + + + + +

    +Public Attributes

    pin_name_t int_pin
     
    i2c_master_config_t i2c_cfg
     
    const ft5xx6_controller_tcontroller
     
    +

    Detailed Description

    +

    FT5xx6 Configuration Object.

    +

    Configuration object definition for FT5xx6 series touch controllers.

    + +

    Definition at line 570 of file ft5xx6.h.

    +

    Member Data Documentation

    + +

    ◆ controller

    + +
    +
    + + + + +
    const ft5xx6_controller_t* ft5xx6_cfg_t::controller
    +
    +

    Touch controller descriptor.

    + +

    Definition at line 576 of file ft5xx6.h.

    + +
    +
    + +

    ◆ i2c_cfg

    + +
    +
    + + + + +
    i2c_master_config_t ft5xx6_cfg_t::i2c_cfg
    +
    +

    Configuration of communication module.

    + +

    Definition at line 574 of file ft5xx6.h.

    + +
    +
    + +

    ◆ int_pin

    + +
    +
    + + + + +
    pin_name_t ft5xx6_cfg_t::int_pin
    +
    +

    Interrupt pin.

    + +

    Definition at line 572 of file ft5xx6.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/html/structft5xx6__cfg__t.js b/html/structft5xx6__cfg__t.js new file mode 100644 index 0000000..bf192a1 --- /dev/null +++ b/html/structft5xx6__cfg__t.js @@ -0,0 +1,6 @@ +var structft5xx6__cfg__t = +[ + [ "controller", "structft5xx6__cfg__t.html#a6dad220d9241b8c0681dc4fd243f63c2", null ], + [ "i2c_cfg", "structft5xx6__cfg__t.html#ab61093a22dc5dd8b9afb0d9e0fd3a333", null ], + [ "int_pin", "structft5xx6__cfg__t.html#ae39a804199260e4bb0eb502f11bb9475", null ] +]; \ No newline at end of file diff --git a/html/structft5xx6__controller__t-members.html b/html/structft5xx6__controller__t-members.html new file mode 100644 index 0000000..a4f9de1 --- /dev/null +++ b/html/structft5xx6__controller__t-members.html @@ -0,0 +1,108 @@ + + + + + + + +Solar panel: Member List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ft5xx6_controller_t Member List
    +
    +
    + +

    This is the complete list of members for ft5xx6_controller_t, including all inherited members.

    + + +
    gest_itemsft5xx6_controller_t
    +
    + + + + diff --git a/html/structft5xx6__controller__t.html b/html/structft5xx6__controller__t.html new file mode 100644 index 0000000..b1ee072 --- /dev/null +++ b/html/structft5xx6__controller__t.html @@ -0,0 +1,144 @@ + + + + + + + +Solar panel: ft5xx6_controller_t Struct Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    ft5xx6_controller_t Struct Reference
    +
    +
    + +

    FT5xx6 Gesture Items. + More...

    + +

    #include <ft5xx6.h>

    + + + + +

    +Public Attributes

    ft5xx6_gest_item_t gest_items [FT5XX6_GESTURE_ITEMS_MAX]
     
    +

    Detailed Description

    +

    FT5xx6 Gesture Items.

    +

    Gesture items for FT5xx6 series touch controllers.

    + +

    Definition at line 560 of file ft5xx6.h.

    +

    Member Data Documentation

    + +

    ◆ gest_items

    + +
    +
    + + + + +
    ft5xx6_gest_item_t ft5xx6_controller_t::gest_items[FT5XX6_GESTURE_ITEMS_MAX]
    +
    + +

    Definition at line 562 of file ft5xx6.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/html/structft5xx6__controller__t.js b/html/structft5xx6__controller__t.js new file mode 100644 index 0000000..acc3f7b --- /dev/null +++ b/html/structft5xx6__controller__t.js @@ -0,0 +1,4 @@ +var structft5xx6__controller__t = +[ + [ "gest_items", "structft5xx6__controller__t.html#a9e0bb5e288f91add858195ebde223dd6", null ] +]; \ No newline at end of file diff --git a/html/structft5xx6__gest__item__t-members.html b/html/structft5xx6__gest__item__t-members.html new file mode 100644 index 0000000..02b4075 --- /dev/null +++ b/html/structft5xx6__gest__item__t-members.html @@ -0,0 +1,109 @@ + + + + + + + +Solar panel: Member List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ft5xx6_gest_item_t Member List
    +
    +
    + +

    This is the complete list of members for ft5xx6_gest_item_t, including all inherited members.

    + + + +
    keyft5xx6_gest_item_t
    valueft5xx6_gest_item_t
    +
    + + + + diff --git a/html/structft5xx6__gest__item__t.html b/html/structft5xx6__gest__item__t.html new file mode 100644 index 0000000..05b54f1 --- /dev/null +++ b/html/structft5xx6__gest__item__t.html @@ -0,0 +1,164 @@ + + + + + + + +Solar panel: ft5xx6_gest_item_t Struct Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    ft5xx6_gest_item_t Struct Reference
    +
    +
    + +

    FT5xx6 Gesture Item Definition. + More...

    + +

    #include <ft5xx6.h>

    + + + + + + +

    +Public Attributes

    uint8_t key
     
    tp_event_t value
     
    +

    Detailed Description

    +

    FT5xx6 Gesture Item Definition.

    +

    Gesture item definition for FT5xx6 series touch controllers.

    + +

    Definition at line 549 of file ft5xx6.h.

    +

    Member Data Documentation

    + +

    ◆ key

    + +
    +
    + + + + +
    uint8_t ft5xx6_gest_item_t::key
    +
    +

    Gesture key.

    + +

    Definition at line 551 of file ft5xx6.h.

    + +
    +
    + +

    ◆ value

    + +
    +
    + + + + +
    tp_event_t ft5xx6_gest_item_t::value
    +
    +

    Gesture event value.

    + +

    Definition at line 552 of file ft5xx6.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/html/structft5xx6__gest__item__t.js b/html/structft5xx6__gest__item__t.js new file mode 100644 index 0000000..d078036 --- /dev/null +++ b/html/structft5xx6__gest__item__t.js @@ -0,0 +1,5 @@ +var structft5xx6__gest__item__t = +[ + [ "key", "structft5xx6__gest__item__t.html#a51a08fdbfd3344e99744fa9754c0d115", null ], + [ "value", "structft5xx6__gest__item__t.html#a4b626c0f794b0b9274bbbdbad3482ef5", null ] +]; \ No newline at end of file diff --git a/html/structft5xx6__t-members.html b/html/structft5xx6__t-members.html new file mode 100644 index 0000000..c01cead --- /dev/null +++ b/html/structft5xx6__t-members.html @@ -0,0 +1,113 @@ + + + + + + + +Solar panel: Member List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    ft5xx6_t Member List
    +
    +
    + +

    This is the complete list of members for ft5xx6_t, including all inherited members.

    + + + + + + + +
    controllerft5xx6_t
    gestureft5xx6_t
    i2cft5xx6_t
    int_pinft5xx6_t
    press_detft5xx6_t
    touchft5xx6_t
    +
    + + + + diff --git a/html/structft5xx6__t.html b/html/structft5xx6__t.html new file mode 100644 index 0000000..70a8f6c --- /dev/null +++ b/html/structft5xx6__t.html @@ -0,0 +1,240 @@ + + + + + + + +Solar panel: ft5xx6_t Struct Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    ft5xx6_t Struct Reference
    +
    +
    + +

    FT5xx6 Context Object. + More...

    + +

    #include <ft5xx6.h>

    + + + + + + + + + + + + + + +

    +Public Attributes

    i2c_master_t i2c
     
    digital_in_t int_pin
     
    const ft5xx6_controller_tcontroller
     
    tp_event_t press_det
     
    tp_touch_item_t touch
     
    tp_event_t gesture
     
    +

    Detailed Description

    +

    FT5xx6 Context Object.

    +

    Context object definition for FT5xx6 series touch controllers.

    + +

    Definition at line 584 of file ft5xx6.h.

    +

    Member Data Documentation

    + +

    ◆ controller

    + +
    +
    + + + + +
    const ft5xx6_controller_t* ft5xx6_t::controller
    +
    +

    Touch controller descriptor.

    + +

    Definition at line 590 of file ft5xx6.h.

    + +
    +
    + +

    ◆ gesture

    + +
    +
    + + + + +
    tp_event_t ft5xx6_t::gesture
    +
    +

    Gesture event.

    + +

    Definition at line 594 of file ft5xx6.h.

    + +
    +
    + +

    ◆ i2c

    + +
    +
    + + + + +
    i2c_master_t ft5xx6_t::i2c
    +
    +

    Communication module object.

    + +

    Definition at line 586 of file ft5xx6.h.

    + +
    +
    + +

    ◆ int_pin

    + +
    +
    + + + + +
    digital_in_t ft5xx6_t::int_pin
    +
    +

    Interrupt pin object.

    + +

    Definition at line 588 of file ft5xx6.h.

    + +
    +
    + +

    ◆ press_det

    + +
    +
    + + + + +
    tp_event_t ft5xx6_t::press_det
    +
    +

    Touch pressure event.

    + +

    Definition at line 592 of file ft5xx6.h.

    + +
    +
    + +

    ◆ touch

    + +
    +
    + + + + +
    tp_touch_item_t ft5xx6_t::touch
    +
    +

    Touch item.

    + +

    Definition at line 593 of file ft5xx6.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/html/structft5xx6__t.js b/html/structft5xx6__t.js new file mode 100644 index 0000000..694e4b3 --- /dev/null +++ b/html/structft5xx6__t.js @@ -0,0 +1,9 @@ +var structft5xx6__t = +[ + [ "controller", "structft5xx6__t.html#a73359d33368c8ab7ae32558a1b7dcfad", null ], + [ "gesture", "structft5xx6__t.html#a6849bc0e9b77554bd0fbd8bb3d269777", null ], + [ "i2c", "structft5xx6__t.html#a4be2bf697619ecbf257bb107dec16311", null ], + [ "int_pin", "structft5xx6__t.html#ab58ae0aafb3cce13098c49c9fef04d0e", null ], + [ "press_det", "structft5xx6__t.html#a86e59479d8fcedc39c5ee3b9bc2f4346", null ], + [ "touch", "structft5xx6__t.html#a68e0f932baefb8f042dda26716985093", null ] +]; \ No newline at end of file diff --git a/html/sync_off.png b/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..9b747291a3fb4c6c12160101c803f5e2fe22a263 GIT binary patch literal 842 zcmV-Q1GW5#P)OAb>@D6ML;L}v+&Z4pj%i5V5i9I1IUTtDgnqvsnDyxs6a&64UmO=`lcbAY>(u1 zLNws!yNwZy65VHjELw#%DzL@AG{rLOzF3&f8n@%ke=`6%8BZkHB@-Bog;*NMxw>sC z&}4m6yEMSHSb&y_Vt@tFP*%v*Mn4-Px|KktZBc;+bJViDoWV_gR+nZDQfsA)L(xjU zuB%F6+L34#2Uld4rn0zzfltfmSfiIcb97apTzft1!}Qhr@H(@v#^#`l!z)WUAkH?( zOik-r>0xI$dw&WY1}E2gIUB2fWp1{5Gqks?#D3=hve|a?kJQr|34opQBFDehT=Y<$ zt97tUH6-Qfa~ec_nW)rGk517u^uioIQ-PnPv%`GT zR2}4O)JMoQ8_`$y;{5nXlP5qntI7lX-n3*k<0WS3x*wwYlFx%*=P|D(QY3BNW5Qc-pePjGL{T>4BvDxk|VB)GGZl*h;Ux{tX1_uF{| zj(+T+V>r&_#5jPR4Q4&iBsZ6!=B&Vp$Ky#%#V2wmK*KHjm6&E`dTvjxc0-GmDNrK} z3uOR{z;yZo-!ado9*=zhi^MT?Zm(#U^g^cdIlzbVy>N2An%p6LtH&JRJioxfSq5`6Vp2dWLmBWtoDhpU1%0U=|ZA{ueDkUx6)2i>kVM%9V%R^ Uzn=X^$N&HU07*qoM6N<$f^Alb_y7O^ literal 0 HcmV?d00001 diff --git a/html/sync_on.png b/html/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..89be9414fd51f69c97ef3bf767d93f7c67c0a253 GIT binary patch literal 834 zcmV-I1HJr-P)Fu#fG7@B`b(5W3j(ri(zZsGtZhx~Pjnx^Sb|6aKoH@MD z`~BW(!Jel8*~G+Nv0K!L65$rFM8CK%?ue|FXju}3M4LFA`VNrIr1)7}6hnX`bbvGs z;+m)cSOP<|i2dS>xM}~>1=!<=_y8qIB2;ZfNb(byLwF}h>D{C3uvyyceN3YL>E?88SwJ` z&M2Bk%`w0NO=62m(3ojx@}$+>brDxfxtI4dvj7fb@dSq?@vXWL#eu9Ndsro?2OP1v zIKZEE0rr*T0W7MvAcsG86|ys`rV+rQQLUI-`;&bYVXkcV;nS@J)>N8H%u|Z4X>-35 z(xIrw`oA>K&96HOIOo&pdNkr#y6Ua4IceY2MCh*eJ1SRYPcWCW8}d1`-k8(6!Qf!T zIWIXbjgGB8I_qNS`TjTNWUHEz&2sCM*;)m#65%y2NyaDpS@c*wzc3%1*j7UOW*=b1 z^T{|bKPKjPWkUFMjY@wGV8zv;NxpsfAG7gk^U<(M@QZvoV1Kbb7NoP%PbfE8<>`S5 zete=1P^)YT2Y66llsxU?v$PIQ(DUpy;D~-T$-U_bdWT18_%K6Pm7i*9rPrMtMaKyz zJurLM(l^e)h&k+l6}_qlYIyz;UceD9!_N;@Yx(Q#G}i|mtApxwMYL@+INmqG|Kno- znS5#92kMZUKcE0B+MRA0ALkNr8e;2 z=E8U(P6Diw^Q!Xn8|^2xDO2Y;z)D>a9gE$`$Hir})B%=3O~wU#<@O85Uj9v8J^^*y zX1G=X(%nuqOzkPaicCGQm+hiiG>A~@B2fw7soP52OI12I-T>)71Bp4Nu>X^CM*si- M07*qoM6N<$g5;8zZU6uP literal 0 HcmV?d00001 diff --git a/html/tab_a.png b/html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..6250493a5f312670fd0693dde2f84f3dd6d42c5d GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qo)`sjv*C{Z(|Ml8XS0-s*asK zVqvj!=db_wS8gdkmOdpw;|p)bb5-5hTjZaG&Pj6=%5dRuXuP;eH!rUCe>pL4ZEb;56{AlEb3MaLFOV$^p00i_>zopr0FP}oMF0Q* literal 0 HcmV?d00001 diff --git a/html/tab_ad.png b/html/tab_ad.png new file mode 100644 index 0000000000000000000000000000000000000000..53efabe18d77b189033356a51fdfdee53adce842 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QeK`ejv*C{Z|5@d9WdZvV%)Cd zef`V-{jyQNd4wM|{$O9w{$60e>b-u4C?TaM!JS6w)9$UaNL{w>@8WZO^Y^EzT%Q(m gb55*+#j@Bx?(qz7ze#Lu0Gi6+>FVdQ&MBb@02t|h?wdIE_XTI7`&Lw{pp8L$UbJ4uCOYpj;-v0?JLjUN!ll>ns zt$y$QeOtfrtVlI(%K7z0?o+7AN>0^V2D>Ju|9H!|JW6uDe#K)V<`UHx3vIVCg! E0Jfk!TmS$7 literal 0 HcmV?d00001 diff --git a/html/tab_h.png b/html/tab_h.png new file mode 100644 index 0000000000000000000000000000000000000000..03ae938f318d019a057795748575b48c4c383da3 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qk9-Ajv*C{Z|6Gl9Sjh0y5xN`cv8X@G1JQx_l@2j;j4)kFDg2>clCsCe>a{ykRvnYudV%bht*aJS?+ujTcWwr?mnl(9eD{RPPU|rqJK?Z>+U@DJ3psuRiAp{^}h_= XHzk%{H+*#$Xg!0ctDnm{r-UW|MLk4_ literal 0 HcmV?d00001 diff --git a/html/tab_s.png b/html/tab_s.png new file mode 100644 index 0000000000000000000000000000000000000000..6df51a689a8d491a77186bc7fd15e67e0eb082d7 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QeB=djv*C{Z|~mcI#?jW{^9cb z>aD7Uj+3Tnc=~c3%`RwNn|b5L)S|lmo7ulA>HUrLoA>0ioJzlXSY_kW&<#68>WfWJ zvjm%ZvO2yJn8TWEYGujO&sS^ep;OiA{5|1fVD8l}$+I^W2}WK~cGFD>IlMb5^P~3tb3Tpx@~8hPZgC4xE&0876}-2<@6*#T_v0lyZ|!qW>zShb`84YcAqC?DMNE3zb$0XY S_ErGe%;4$j=d#Wzp$Pz%kU>rW literal 0 HcmV?d00001 diff --git a/html/tabs.css b/html/tabs.css new file mode 100644 index 0000000..71c8a47 --- /dev/null +++ b/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file diff --git a/html/tmr0_8c.html b/html/tmr0_8c.html new file mode 100644 index 0000000..371c4e6 --- /dev/null +++ b/html/tmr0_8c.html @@ -0,0 +1,423 @@ + + + + + + + +Solar panel: mcc_generated_files/tmr0.c File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    tmr0.c File Reference
    +
    +
    +
    #include <xc.h>
    +#include "tmr0.h"
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void TMR0_Initialize (void)
     
    void TMR0_StartTimer (void)
     
    void TMR0_StopTimer (void)
     
    uint16_t TMR0_ReadTimer (void)
     
    void TMR0_WriteTimer (uint16_t timerVal)
     
    void TMR0_Reload (void)
     
    void TMR0_ISR (void)
     
    void TMR0_SetInterruptHandler (void(*InterruptHandler)(void))
     
    void TMR0_DefaultInterruptHandler (void)
     
    + + + + + +

    +Variables

    void(* TMR0_InterruptHandler )(void)
     
    volatile uint16_t timer0ReloadVal
     
    +

    Function Documentation

    + +

    ◆ TMR0_DefaultInterruptHandler()

    + +
    +
    + + + + + + + + +
    void TMR0_DefaultInterruptHandler (void )
    +
    +

    @Summary Default Timer Interrupt Handler

    +

    @Description This is the default Interrupt Handler function

    +

    @Preconditions Initialize the TMR0 module with interrupt before calling this isr.

    +

    @Param None

    +

    @Returns None

    + +

    Definition at line 160 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_Initialize()

    + +
    +
    + + + + + + + + +
    void TMR0_Initialize (void )
    +
    +

    Section: TMR0 APIs

    + +

    Definition at line 67 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_ISR()

    + +
    +
    + + + + + + + + +
    void TMR0_ISR (void )
    +
    +

    @Summary Timer Interrupt Service Routine

    +

    @Description Timer Interrupt Service Routine is called by the Interrupt Manager.

    +

    @Preconditions Initialize the TMR0 module with interrupt before calling this isr.

    +

    @Param None

    +

    @Returns None

    + +

    Definition at line 136 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_ReadTimer()

    + +
    +
    + + + + + + + + +
    uint16_t TMR0_ReadTimer (void )
    +
    +

    @Summary Reads the 16 bits TMR0 register value.

    +

    @Description This function reads the 16 bits TMR0 register value and return it.

    +

    @Preconditions Initialize the TMR0 before calling this function.

    +

    @Param None

    +

    @Returns This function returns the 16 bits value of TMR0 register.

    +

    @Example Initialize TMR0 module

    +

    Start TMR0 TMR0_StartTimer();

    +

    Read the current value of TMR0 if(0 == TMR0_ReadTimer()) { Do something else...

    +

    Reload the TMR value TMR0_Reload(); }

    + +

    Definition at line 109 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_Reload()

    + +
    +
    + + + + + + + + +
    void TMR0_Reload (void )
    +
    +

    @Summary Reload the 16 bits value to TMR0 register.

    +

    @Description This function reloads the 16 bit value to TMR0 register. This function must be called to write initial value into TMR0 register.

    +

    @Preconditions Initialize the TMR0 before calling this function.

    +

    @Param None

    +

    @Returns None

    +

    @Example while(1) { if(TMR0IF) { Do something else...

    +

    clear the TMR0 interrupt flag TMR0IF = 0;

    +

    Reload the initial value of TMR0 TMR0_Reload(); } }

    + +

    Definition at line 129 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_SetInterruptHandler()

    + +
    +
    + + + + + + + + +
    void TMR0_SetInterruptHandler (void(*)(void) InterruptHandler)
    +
    +

    @Summary Set Timer Interrupt Handler

    +

    @Description This sets the function to be called during the ISR

    +

    @Preconditions Initialize the TMR0 module with interrupt before calling this.

    +

    @Param Address of function to be set

    +

    @Returns None

    + +

    Definition at line 156 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_StartTimer()

    + +
    +
    + + + + + + + + +
    void TMR0_StartTimer (void )
    +
    +

    @Summary This function starts the TMR0.

    +

    @Description This function starts the TMR0 operation. This function must be called after the initialization of TMR0.

    +

    @Preconditions Initialize the TMR0 before calling this function.

    +

    @Param None

    +

    @Returns None

    +

    @Example Initialize TMR0 module

    +

    Start TMR0 TMR0_StartTimer();

    +

    Do something else...

    + +

    Definition at line 97 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_StopTimer()

    + +
    +
    + + + + + + + + +
    void TMR0_StopTimer (void )
    +
    +

    @Summary This function stops the TMR0.

    +

    @Description This function stops the TMR0 operation. This function must be called after the start of TMR0.

    +

    @Preconditions Initialize the TMR0 before calling this function.

    +

    @Param None

    +

    @Returns None

    +

    @Example Initialize TMR0 module

    +

    Start TMR0 TMR0_StartTimer();

    +

    Do something else...

    +

    Stop TMR0; TMR0_StopTimer();

    + +

    Definition at line 103 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_WriteTimer()

    + +
    +
    + + + + + + + + +
    void TMR0_WriteTimer (uint16_t timerVal)
    +
    +

    @Summary Writes the 16 bits value to TMR0 register.

    +

    @Description This function writes the 16 bits value to TMR0 register. This function must be called after the initialization of TMR0.

    +

    @Preconditions Initialize the TMR0 before calling this function.

    +

    @Param timerVal - Value to write into TMR0 register.

    +

    @Returns None

    +

    @Example #define PERIOD 0x8000 #define ZERO 0x0000

    +

    while(1) { Read the TMR0 register if(ZERO == TMR0_ReadTimer()) { Do something else...

    +

    Write the TMR0 register TMR0_WriteTimer(PERIOD); }

    +

    Do something else... }

    + +

    Definition at line 122 of file tmr0.c.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ timer0ReloadVal

    + +
    +
    + + + + +
    volatile uint16_t timer0ReloadVal
    +
    + +

    Definition at line 60 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_InterruptHandler

    + +
    +
    + + + + + + + + +
    void(* TMR0_InterruptHandler) (void) (void )
    +
    +

    TMR0 Generated Driver File

    +

    @Company Microchip Technology Inc.

    +

    @File Name tmr0.c

    +

    @Summary This is the generated driver implementation file for the TMR0 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

    +

    @Description This source file provides APIs for TMR0. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.01 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: Global Variables Definitions

    + +

    Definition at line 58 of file tmr0.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/tmr0_8c.js b/html/tmr0_8c.js new file mode 100644 index 0000000..cd6aaa3 --- /dev/null +++ b/html/tmr0_8c.js @@ -0,0 +1,14 @@ +var tmr0_8c = +[ + [ "TMR0_DefaultInterruptHandler", "tmr0_8c.html#aab6153f25bf68ecb07d33a269e5b8dc4", null ], + [ "TMR0_Initialize", "tmr0_8c.html#a73398a18b711af030af4db3c4c6c15e1", null ], + [ "TMR0_ISR", "tmr0_8c.html#a8a465e070e24fe06a488f952b089886d", null ], + [ "TMR0_ReadTimer", "tmr0_8c.html#abc520383c193d0d597a40bfa9de2a250", null ], + [ "TMR0_Reload", "tmr0_8c.html#a61659c2dc0ff29595abe23b24cf81d14", null ], + [ "TMR0_SetInterruptHandler", "tmr0_8c.html#a1b6adc623040b0e791871a0f9652a67f", null ], + [ "TMR0_StartTimer", "tmr0_8c.html#a3e1b5e411afd874143ff241d08e52e07", null ], + [ "TMR0_StopTimer", "tmr0_8c.html#afeaf0b9a17eeabda5d079bf63ed2b545", null ], + [ "TMR0_WriteTimer", "tmr0_8c.html#a7842dca344326cf264fa7026d34256d5", null ], + [ "timer0ReloadVal", "tmr0_8c.html#afefa19b0b4ed96c0c664ab681aa60b3c", null ], + [ "TMR0_InterruptHandler", "tmr0_8c.html#a809211677d0753d6397e04afdbb945a3", null ] +]; \ No newline at end of file diff --git a/html/tmr0_8c_source.html b/html/tmr0_8c_source.html new file mode 100644 index 0000000..e50cc64 --- /dev/null +++ b/html/tmr0_8c_source.html @@ -0,0 +1,246 @@ + + + + + + + +Solar panel: mcc_generated_files/tmr0.c Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tmr0.c
    +
    +
    +Go to the documentation of this file.
    1
    +
    24/*
    +
    25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
    +
    26
    +
    27 Subject to your compliance with these terms, you may use Microchip software and any
    +
    28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
    +
    29 license terms applicable to your use of third party software (including open source software) that
    +
    30 may accompany Microchip software.
    +
    31
    +
    32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
    +
    33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
    +
    34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
    +
    35 FOR A PARTICULAR PURPOSE.
    +
    36
    +
    37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
    +
    38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
    +
    39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
    +
    40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
    +
    41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
    +
    42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
    +
    43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
    +
    44 SOFTWARE.
    +
    45*/
    +
    46
    +
    51#include <xc.h>
    +
    52#include "tmr0.h"
    +
    53
    + +
    59
    +
    60volatile uint16_t timer0ReloadVal;
    +
    61
    + +
    68{
    +
    69 // Set TMR0 to the options selected in the User Interface
    +
    70
    +
    71 //Enable 16bit timer mode before assigning value to TMR0H
    +
    72 T0CONbits.T08BIT = 0;
    +
    73
    +
    74 // TMR0H 158;
    +
    75 TMR0H = 0x9E;
    +
    76
    +
    77 // TMR0L 87;
    +
    78 TMR0L = 0x57;
    +
    79
    +
    80
    +
    81 // Load TMR0 value to the 16-bit reload variable
    +
    82 timer0ReloadVal = (uint16_t)((TMR0H << 8) | TMR0L);
    +
    83
    +
    84 // Clear Interrupt flag before enabling the interrupt
    +
    85 INTCONbits.TMR0IF = 0;
    +
    86
    +
    87 // Enabling TMR0 interrupt.
    +
    88 INTCONbits.TMR0IE = 1;
    +
    89
    +
    90 // Set Default Interrupt Handler
    + +
    92
    +
    93 // T0PS 1:2; T08BIT 16-bit; T0SE Increment_hi_lo; T0CS FOSC/4; TMR0ON disabled; PSA not_assigned;
    +
    94 T0CON = 0x18;
    +
    95}
    +
    96
    + +
    98{
    +
    99 // Start the Timer by writing to TMR0ON bit
    +
    100 T0CONbits.TMR0ON = 1;
    +
    101}
    +
    102
    + +
    104{
    +
    105 // Stop the Timer by writing to TMR0ON bit
    +
    106 T0CONbits.TMR0ON = 0;
    +
    107}
    +
    108
    +
    109uint16_t TMR0_ReadTimer(void)
    +
    110{
    +
    111 uint16_t readVal;
    +
    112 uint8_t readValLow;
    +
    113 uint8_t readValHigh;
    +
    114
    +
    115 readValLow = TMR0L;
    +
    116 readValHigh = TMR0H;
    +
    117 readVal = ((uint16_t)readValHigh << 8) + readValLow;
    +
    118
    +
    119 return readVal;
    +
    120}
    +
    121
    +
    122void TMR0_WriteTimer(uint16_t timerVal)
    +
    123{
    +
    124 // Write to the Timer0 register
    +
    125 TMR0H = timerVal >> 8;
    +
    126 TMR0L = (uint8_t) timerVal;
    +
    127}
    +
    128
    +
    129void TMR0_Reload(void)
    +
    130{
    +
    131 // Write to the Timer0 register
    +
    132 TMR0H = timer0ReloadVal >> 8;
    +
    133 TMR0L = (uint8_t) timer0ReloadVal;
    +
    134}
    +
    135
    +
    136void TMR0_ISR(void)
    +
    137{
    +
    138
    +
    139 // clear the TMR0 interrupt flag
    +
    140 INTCONbits.TMR0IF = 0;
    +
    141
    +
    142 // reload TMR0
    +
    143 // Write to the Timer0 register
    +
    144 TMR0H = timer0ReloadVal >> 8;
    +
    145 TMR0L = (uint8_t) timer0ReloadVal;
    +
    146
    + +
    148 {
    + +
    150 }
    +
    151
    +
    152 // add your TMR0 interrupt custom code
    +
    153}
    +
    154
    +
    155
    +
    156void TMR0_SetInterruptHandler(void (* InterruptHandler)(void)){
    +
    157 TMR0_InterruptHandler = InterruptHandler;
    +
    158}
    +
    159
    + +
    161 // add your TMR0 interrupt custom code
    +
    162 // or set custom function using TMR0_SetInterruptHandler()
    +
    163}
    +
    164
    +
    void TMR0_SetInterruptHandler(void(*InterruptHandler)(void))
    Definition: tmr0.c:156
    +
    void TMR0_StartTimer(void)
    Definition: tmr0.c:97
    +
    void TMR0_Reload(void)
    Definition: tmr0.c:129
    +
    void TMR0_Initialize(void)
    Definition: tmr0.c:67
    +
    void TMR0_WriteTimer(uint16_t timerVal)
    Definition: tmr0.c:122
    +
    void(* TMR0_InterruptHandler)(void)
    Definition: tmr0.c:58
    +
    void TMR0_ISR(void)
    Definition: tmr0.c:136
    +
    void TMR0_DefaultInterruptHandler(void)
    Definition: tmr0.c:160
    +
    uint16_t TMR0_ReadTimer(void)
    Definition: tmr0.c:109
    +
    void TMR0_StopTimer(void)
    Definition: tmr0.c:103
    +
    volatile uint16_t timer0ReloadVal
    Definition: tmr0.c:60
    + +
    +
    + + + + diff --git a/html/tmr0_8h.html b/html/tmr0_8h.html new file mode 100644 index 0000000..589fe94 --- /dev/null +++ b/html/tmr0_8h.html @@ -0,0 +1,430 @@ + + + + + + + +Solar panel: mcc_generated_files/tmr0.h File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    tmr0.h File Reference
    +
    +
    +
    #include <stdint.h>
    +#include <stdbool.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void TMR0_Initialize (void)
     
    void TMR0_StartTimer (void)
     
    void TMR0_StopTimer (void)
     
    uint16_t TMR0_ReadTimer (void)
     
    void TMR0_WriteTimer (uint16_t timerVal)
     
    void TMR0_Reload (void)
     
    void TMR0_ISR (void)
     
    void TMR0_SetInterruptHandler (void(*InterruptHandler)(void))
     
    void TMR0_DefaultInterruptHandler (void)
     
    + + + +

    +Variables

    void(* TMR0_InterruptHandler )(void)
     
    +

    Function Documentation

    + +

    ◆ TMR0_DefaultInterruptHandler()

    + +
    +
    + + + + + + + + +
    void TMR0_DefaultInterruptHandler (void )
    +
    +

    @Summary Default Timer Interrupt Handler

    +

    @Description This is the default Interrupt Handler function

    +

    @Preconditions Initialize the TMR0 module with interrupt before calling this isr.

    +

    @Param None

    +

    @Returns None

    + +

    Definition at line 160 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_Initialize()

    + +
    +
    + + + + + + + + +
    void TMR0_Initialize (void )
    +
    +

    TMR0 Generated Driver API Header File

    +

    @Company Microchip Technology Inc.

    +

    @File Name tmr0.h

    +

    @Summary This is the generated header file for the TMR0 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

    +

    @Description This header file provides APIs for TMR0. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.01 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: TMR0 APIs @Summary Initializes the TMR0.

    +

    @Description This function initializes the TMR0 Registers. This function must be called before any other TMR0 function is called.

    +

    @Preconditions None

    +

    @Param None

    +

    @Returns None

    +

    @Comment

    +

    @Example main() { Initialize TMR0 module TMR0_Initialize();

    +

    Do something else... }

    +

    Section: TMR0 APIs

    + +

    Definition at line 67 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_ISR()

    + +
    +
    + + + + + + + + +
    void TMR0_ISR (void )
    +
    +

    @Summary Timer Interrupt Service Routine

    +

    @Description Timer Interrupt Service Routine is called by the Interrupt Manager.

    +

    @Preconditions Initialize the TMR0 module with interrupt before calling this isr.

    +

    @Param None

    +

    @Returns None

    + +

    Definition at line 136 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_ReadTimer()

    + +
    +
    + + + + + + + + +
    uint16_t TMR0_ReadTimer (void )
    +
    +

    @Summary Reads the 16 bits TMR0 register value.

    +

    @Description This function reads the 16 bits TMR0 register value and return it.

    +

    @Preconditions Initialize the TMR0 before calling this function.

    +

    @Param None

    +

    @Returns This function returns the 16 bits value of TMR0 register.

    +

    @Example Initialize TMR0 module

    +

    Start TMR0 TMR0_StartTimer();

    +

    Read the current value of TMR0 if(0 == TMR0_ReadTimer()) { Do something else...

    +

    Reload the TMR value TMR0_Reload(); }

    + +

    Definition at line 109 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_Reload()

    + +
    +
    + + + + + + + + +
    void TMR0_Reload (void )
    +
    +

    @Summary Reload the 16 bits value to TMR0 register.

    +

    @Description This function reloads the 16 bit value to TMR0 register. This function must be called to write initial value into TMR0 register.

    +

    @Preconditions Initialize the TMR0 before calling this function.

    +

    @Param None

    +

    @Returns None

    +

    @Example while(1) { if(TMR0IF) { Do something else...

    +

    clear the TMR0 interrupt flag TMR0IF = 0;

    +

    Reload the initial value of TMR0 TMR0_Reload(); } }

    + +

    Definition at line 129 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_SetInterruptHandler()

    + +
    +
    + + + + + + + + +
    void TMR0_SetInterruptHandler (void(*)(void) InterruptHandler)
    +
    +

    @Summary Set Timer Interrupt Handler

    +

    @Description This sets the function to be called during the ISR

    +

    @Preconditions Initialize the TMR0 module with interrupt before calling this.

    +

    @Param Address of function to be set

    +

    @Returns None

    + +

    Definition at line 156 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_StartTimer()

    + +
    +
    + + + + + + + + +
    void TMR0_StartTimer (void )
    +
    +

    @Summary This function starts the TMR0.

    +

    @Description This function starts the TMR0 operation. This function must be called after the initialization of TMR0.

    +

    @Preconditions Initialize the TMR0 before calling this function.

    +

    @Param None

    +

    @Returns None

    +

    @Example Initialize TMR0 module

    +

    Start TMR0 TMR0_StartTimer();

    +

    Do something else...

    + +

    Definition at line 97 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_StopTimer()

    + +
    +
    + + + + + + + + +
    void TMR0_StopTimer (void )
    +
    +

    @Summary This function stops the TMR0.

    +

    @Description This function stops the TMR0 operation. This function must be called after the start of TMR0.

    +

    @Preconditions Initialize the TMR0 before calling this function.

    +

    @Param None

    +

    @Returns None

    +

    @Example Initialize TMR0 module

    +

    Start TMR0 TMR0_StartTimer();

    +

    Do something else...

    +

    Stop TMR0; TMR0_StopTimer();

    + +

    Definition at line 103 of file tmr0.c.

    + +
    +
    + +

    ◆ TMR0_WriteTimer()

    + +
    +
    + + + + + + + + +
    void TMR0_WriteTimer (uint16_t timerVal)
    +
    +

    @Summary Writes the 16 bits value to TMR0 register.

    +

    @Description This function writes the 16 bits value to TMR0 register. This function must be called after the initialization of TMR0.

    +

    @Preconditions Initialize the TMR0 before calling this function.

    +

    @Param timerVal - Value to write into TMR0 register.

    +

    @Returns None

    +

    @Example #define PERIOD 0x8000 #define ZERO 0x0000

    +

    while(1) { Read the TMR0 register if(ZERO == TMR0_ReadTimer()) { Do something else...

    +

    Write the TMR0 register TMR0_WriteTimer(PERIOD); }

    +

    Do something else... }

    + +

    Definition at line 122 of file tmr0.c.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ TMR0_InterruptHandler

    + +
    +
    + + + + + +
    + + + + + + + + +
    void(* TMR0_InterruptHandler) (void) (void )
    +
    +extern
    +
    +

    @Summary Timer Interrupt Handler

    +

    @Description This is a function pointer to the function that will be called during the ISR

    +

    @Preconditions Initialize the TMR0 module with interrupt before calling this isr.

    +

    @Param None

    +

    @Returns None

    +

    TMR0 Generated Driver File

    +

    @Company Microchip Technology Inc.

    +

    @File Name tmr0.c

    +

    @Summary This is the generated driver implementation file for the TMR0 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

    +

    @Description This source file provides APIs for TMR0. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.01 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: Global Variables Definitions

    + +

    Definition at line 58 of file tmr0.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/tmr0_8h.js b/html/tmr0_8h.js new file mode 100644 index 0000000..9ef357e --- /dev/null +++ b/html/tmr0_8h.js @@ -0,0 +1,13 @@ +var tmr0_8h = +[ + [ "TMR0_DefaultInterruptHandler", "tmr0_8h.html#aab6153f25bf68ecb07d33a269e5b8dc4", null ], + [ "TMR0_Initialize", "tmr0_8h.html#a73398a18b711af030af4db3c4c6c15e1", null ], + [ "TMR0_ISR", "tmr0_8h.html#a8a465e070e24fe06a488f952b089886d", null ], + [ "TMR0_ReadTimer", "tmr0_8h.html#abc520383c193d0d597a40bfa9de2a250", null ], + [ "TMR0_Reload", "tmr0_8h.html#a61659c2dc0ff29595abe23b24cf81d14", null ], + [ "TMR0_SetInterruptHandler", "tmr0_8h.html#a1b6adc623040b0e791871a0f9652a67f", null ], + [ "TMR0_StartTimer", "tmr0_8h.html#a3e1b5e411afd874143ff241d08e52e07", null ], + [ "TMR0_StopTimer", "tmr0_8h.html#afeaf0b9a17eeabda5d079bf63ed2b545", null ], + [ "TMR0_WriteTimer", "tmr0_8h.html#a7842dca344326cf264fa7026d34256d5", null ], + [ "TMR0_InterruptHandler", "tmr0_8h.html#a809211677d0753d6397e04afdbb945a3", null ] +]; \ No newline at end of file diff --git a/html/tmr0_8h_source.html b/html/tmr0_8h_source.html new file mode 100644 index 0000000..7caa88f --- /dev/null +++ b/html/tmr0_8h_source.html @@ -0,0 +1,182 @@ + + + + + + + +Solar panel: mcc_generated_files/tmr0.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tmr0.h
    +
    +
    +Go to the documentation of this file.
    1
    +
    24/*
    +
    25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
    +
    26
    +
    27 Subject to your compliance with these terms, you may use Microchip software and any
    +
    28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
    +
    29 license terms applicable to your use of third party software (including open source software) that
    +
    30 may accompany Microchip software.
    +
    31
    +
    32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
    +
    33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
    +
    34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
    +
    35 FOR A PARTICULAR PURPOSE.
    +
    36
    +
    37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
    +
    38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
    +
    39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
    +
    40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
    +
    41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
    +
    42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
    +
    43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
    +
    44 SOFTWARE.
    +
    45*/
    +
    46
    +
    47#ifndef TMR0_H
    +
    48#define TMR0_H
    +
    49
    +
    54#include <stdint.h>
    +
    55#include <stdbool.h>
    +
    56
    +
    57#ifdef __cplusplus // Provide C++ Compatibility
    +
    58
    +
    59 extern "C" {
    +
    60
    +
    61#endif
    +
    62
    +
    63
    +
    64
    +
    100void TMR0_Initialize(void);
    +
    101
    +
    129void TMR0_StartTimer(void);
    +
    130
    +
    161void TMR0_StopTimer(void);
    +
    162
    +
    163
    +
    197uint16_t TMR0_ReadTimer(void);
    +
    198
    +
    236void TMR0_WriteTimer(uint16_t timerVal);
    +
    237
    +
    272void TMR0_Reload(void);
    +
    273
    +
    290void TMR0_ISR(void);
    +
    291
    +
    292
    +
    309 void TMR0_SetInterruptHandler(void (* InterruptHandler)(void));
    +
    310
    +
    327extern void (*TMR0_InterruptHandler)(void);
    +
    328
    + +
    346
    +
    347#ifdef __cplusplus // Provide C++ Compatibility
    +
    348
    +
    349 }
    +
    350
    +
    351#endif
    +
    352
    +
    353#endif // TMR0_H
    +
    void TMR0_SetInterruptHandler(void(*InterruptHandler)(void))
    Definition: tmr0.c:156
    +
    void TMR0_StartTimer(void)
    Definition: tmr0.c:97
    +
    void TMR0_Reload(void)
    Definition: tmr0.c:129
    +
    void TMR0_Initialize(void)
    Definition: tmr0.c:67
    +
    void TMR0_WriteTimer(uint16_t timerVal)
    Definition: tmr0.c:122
    +
    void(* TMR0_InterruptHandler)(void)
    Definition: tmr0.c:58
    +
    void TMR0_ISR(void)
    Definition: tmr0.c:136
    +
    void TMR0_DefaultInterruptHandler(void)
    Definition: tmr0.c:160
    +
    uint16_t TMR0_ReadTimer(void)
    Definition: tmr0.c:109
    +
    void TMR0_StopTimer(void)
    Definition: tmr0.c:103
    +
    +
    + + + + diff --git a/html/tmr2_8c.html b/html/tmr2_8c.html new file mode 100644 index 0000000..5c5a096 --- /dev/null +++ b/html/tmr2_8c.html @@ -0,0 +1,329 @@ + + + + + + + +Solar panel: mcc_generated_files/tmr2.c File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    tmr2.c File Reference
    +
    +
    +
    #include <xc.h>
    +#include "tmr2.h"
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + +

    +Functions

    void TMR2_Initialize (void)
     
    void TMR2_StartTimer (void)
     
    void TMR2_StopTimer (void)
     
    uint8_t TMR2_ReadTimer (void)
     
    void TMR2_WriteTimer (uint8_t timerVal)
     
    void TMR2_LoadPeriodRegister (uint8_t periodVal)
     
    bool TMR2_HasOverflowOccured (void)
     
    +

    Function Documentation

    + +

    ◆ TMR2_HasOverflowOccured()

    + +
    +
    + + + + + + + + +
    bool TMR2_HasOverflowOccured (void )
    +
    +

    @Summary Boolean routine to poll or to check for the match flag on the fly.

    +

    @Description This function is called to check for the timer match flag. This function is used in timer polling method.

    +

    @Preconditions Initialize the TMR2 module before calling this routine.

    +

    @Param None

    +

    @Returns true - timer match has occurred. false - timer match has not occurred.

    +

    @Example while(1) { check the match flag if(TMR2_HasOverflowOccured()) { Do something else...

    +

    Reload the TMR2 value TMR2_Reload(); } }

    + +

    Definition at line 111 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_Initialize()

    + +
    +
    + + + + + + + + +
    void TMR2_Initialize (void )
    +
    +

    TMR2 Generated Driver File

    +

    @Company Microchip Technology Inc.

    +

    @File Name tmr2.c

    +

    @Summary This is the generated driver implementation file for the TMR2 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

    +

    @Description This source file provides APIs for TMR2. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.01 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: Global Variables Definitions Section: TMR2 APIs

    + +

    Definition at line 62 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_LoadPeriodRegister()

    + +
    +
    + + + + + + + + +
    void TMR2_LoadPeriodRegister (uint8_t periodVal)
    +
    +

    @Summary Load value to Period Register.

    +

    @Description This function writes the value to PR2 register. This function must be called after the initialization of TMR2.

    +

    @Preconditions Initialize the TMR2 before calling this function.

    +

    @Param periodVal - Value to load into TMR2 register.

    +

    @Returns None

    +

    @Example #define PERIOD1 0x80 #define PERIOD2 0x40 #define ZERO 0x00

    +

    while(1) { Read the TMR2 register if(ZERO == TMR2_ReadTimer()) { Do something else...

            if(flag)
    +        {
    +            flag = 0;
    +

    Load Period 1 value TMR2_LoadPeriodRegister(PERIOD1); } else { flag = 1;

    +

    Load Period 2 value TMR2_LoadPeriodRegister(PERIOD2); } }

    +

    Do something else... }

    + +

    Definition at line 106 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_ReadTimer()

    + +
    +
    + + + + + + + + +
    uint8_t TMR2_ReadTimer (void )
    +
    +

    @Summary Reads the TMR2 register.

    +

    @Description This function reads the TMR2 register value and return it.

    +

    @Preconditions Initialize the TMR2 before calling this function.

    +

    @Param None

    +

    @Returns This function returns the current value of TMR2 register.

    +

    @Example Initialize TMR2 module

    +

    Start TMR2 TMR2_StartTimer();

    +

    Read the current value of TMR2 if(0 == TMR2_ReadTimer()) { Do something else...

    +

    Reload the TMR value TMR2_Reload(); }

    + +

    Definition at line 91 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_StartTimer()

    + +
    +
    + + + + + + + + +
    void TMR2_StartTimer (void )
    +
    +

    @Summary This function starts the TMR2.

    +

    @Description This function starts the TMR2 operation. This function must be called after the initialization of TMR2.

    +

    @Preconditions Initialize the TMR2 before calling this function.

    +

    @Param None

    +

    @Returns None

    +

    @Example Initialize TMR2 module

    +

    Start TMR2 TMR2_StartTimer();

    +

    Do something else...

    + +

    Definition at line 79 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_StopTimer()

    + +
    +
    + + + + + + + + +
    void TMR2_StopTimer (void )
    +
    +

    @Summary This function stops the TMR2.

    +

    @Description This function stops the TMR2 operation. This function must be called after the start of TMR2.

    +

    @Preconditions Initialize the TMR2 before calling this function.

    +

    @Param None

    +

    @Returns None

    +

    @Example Initialize TMR2 module

    +

    Start TMR2 TMR2_StartTimer();

    +

    Do something else...

    +

    Stop TMR2; TMR2_StopTimer();

    + +

    Definition at line 85 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_WriteTimer()

    + +
    +
    + + + + + + + + +
    void TMR2_WriteTimer (uint8_t timerVal)
    +
    +

    @Summary Writes the TMR2 register.

    +

    @Description This function writes the TMR2 register. This function must be called after the initialization of TMR2.

    +

    @Preconditions Initialize the TMR2 before calling this function.

    +

    @Param timerVal - Value to write into TMR2 register.

    +

    @Returns None

    +

    @Example #define PERIOD 0x80 #define ZERO 0x00

    +

    while(1) { Read the TMR2 register if(ZERO == TMR2_ReadTimer()) { Do something else...

    +

    Write the TMR2 register TMR2_WriteTimer(PERIOD); }

    +

    Do something else... }

    + +

    Definition at line 100 of file tmr2.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/tmr2_8c.js b/html/tmr2_8c.js new file mode 100644 index 0000000..d0da064 --- /dev/null +++ b/html/tmr2_8c.js @@ -0,0 +1,10 @@ +var tmr2_8c = +[ + [ "TMR2_HasOverflowOccured", "tmr2_8c.html#ab0b9dbd90bacc904f311d71fbcccd038", null ], + [ "TMR2_Initialize", "tmr2_8c.html#a46c13c9255379e99c10240229a145d37", null ], + [ "TMR2_LoadPeriodRegister", "tmr2_8c.html#a5490961ba3ba77d10896e320ab840a74", null ], + [ "TMR2_ReadTimer", "tmr2_8c.html#a4acc1f7c8c2dbd46424dad273cdb9cb1", null ], + [ "TMR2_StartTimer", "tmr2_8c.html#afb37b846db811f973b4009215d59f91a", null ], + [ "TMR2_StopTimer", "tmr2_8c.html#a36d7e6eab8b279863c83a32fb41adb02", null ], + [ "TMR2_WriteTimer", "tmr2_8c.html#acb2fbe8254fcc8c01b9784b028a7eac6", null ] +]; \ No newline at end of file diff --git a/html/tmr2_8c_source.html b/html/tmr2_8c_source.html new file mode 100644 index 0000000..de06a03 --- /dev/null +++ b/html/tmr2_8c_source.html @@ -0,0 +1,200 @@ + + + + + + + +Solar panel: mcc_generated_files/tmr2.c Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tmr2.c
    +
    +
    +Go to the documentation of this file.
    1
    +
    24/*
    +
    25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
    +
    26
    +
    27 Subject to your compliance with these terms, you may use Microchip software and any
    +
    28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
    +
    29 license terms applicable to your use of third party software (including open source software) that
    +
    30 may accompany Microchip software.
    +
    31
    +
    32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
    +
    33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
    +
    34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
    +
    35 FOR A PARTICULAR PURPOSE.
    +
    36
    +
    37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
    +
    38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
    +
    39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
    +
    40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
    +
    41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
    +
    42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
    +
    43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
    +
    44 SOFTWARE.
    +
    45*/
    +
    46
    +
    51#include <xc.h>
    +
    52#include "tmr2.h"
    +
    53
    + +
    63{
    +
    64 // Set TMR2 to the options selected in the User Interface
    +
    65
    +
    66 // PR2 255;
    +
    67 PR2 = 0xFF;
    +
    68
    +
    69 // TMR2 0;
    +
    70 TMR2 = 0x00;
    +
    71
    +
    72 // Clearing IF flag.
    +
    73 PIR1bits.TMR2IF = 0;
    +
    74
    +
    75 // T2CKPS 1:1; TOUTPS 1:1; TMR2ON on;
    +
    76 T2CON = 0x04;
    +
    77}
    +
    78
    + +
    80{
    +
    81 // Start the Timer by writing to TMRxON bit
    +
    82 T2CONbits.TMR2ON = 1;
    +
    83}
    +
    84
    + +
    86{
    +
    87 // Stop the Timer by writing to TMRxON bit
    +
    88 T2CONbits.TMR2ON = 0;
    +
    89}
    +
    90
    +
    91uint8_t TMR2_ReadTimer(void)
    +
    92{
    +
    93 uint8_t readVal;
    +
    94
    +
    95 readVal = TMR2;
    +
    96
    +
    97 return readVal;
    +
    98}
    +
    99
    +
    100void TMR2_WriteTimer(uint8_t timerVal)
    +
    101{
    +
    102 // Write to the Timer2 register
    +
    103 TMR2 = timerVal;
    +
    104}
    +
    105
    +
    106void TMR2_LoadPeriodRegister(uint8_t periodVal)
    +
    107{
    +
    108 PR2 = periodVal;
    +
    109}
    +
    110
    + +
    112{
    +
    113 // check if overflow has occurred by checking the TMRIF bit
    +
    114 bool status = PIR1bits.TMR2IF;
    +
    115 if(status)
    +
    116 {
    +
    117 // Clearing IF flag.
    +
    118 PIR1bits.TMR2IF = 0;
    +
    119 }
    +
    120 return status;
    +
    121}
    +
    void TMR2_StopTimer(void)
    Definition: tmr2.c:85
    +
    void TMR2_Initialize(void)
    Definition: tmr2.c:62
    +
    uint8_t TMR2_ReadTimer(void)
    Definition: tmr2.c:91
    +
    void TMR2_LoadPeriodRegister(uint8_t periodVal)
    Definition: tmr2.c:106
    +
    bool TMR2_HasOverflowOccured(void)
    Definition: tmr2.c:111
    +
    void TMR2_WriteTimer(uint8_t timerVal)
    Definition: tmr2.c:100
    +
    void TMR2_StartTimer(void)
    Definition: tmr2.c:79
    + +
    +
    + + + + diff --git a/html/tmr2_8h.html b/html/tmr2_8h.html new file mode 100644 index 0000000..51b2ae6 --- /dev/null +++ b/html/tmr2_8h.html @@ -0,0 +1,341 @@ + + + + + + + +Solar panel: mcc_generated_files/tmr2.h File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    tmr2.h File Reference
    +
    +
    +
    #include <stdint.h>
    +#include <stdbool.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + +

    +Functions

    void TMR2_Initialize (void)
     
    void TMR2_StartTimer (void)
     
    void TMR2_StopTimer (void)
     
    uint8_t TMR2_ReadTimer (void)
     
    void TMR2_WriteTimer (uint8_t timerVal)
     
    void TMR2_LoadPeriodRegister (uint8_t periodVal)
     
    bool TMR2_HasOverflowOccured (void)
     
    +

    Function Documentation

    + +

    ◆ TMR2_HasOverflowOccured()

    + +
    +
    + + + + + + + + +
    bool TMR2_HasOverflowOccured (void )
    +
    +

    @Summary Boolean routine to poll or to check for the match flag on the fly.

    +

    @Description This function is called to check for the timer match flag. This function is used in timer polling method.

    +

    @Preconditions Initialize the TMR2 module before calling this routine.

    +

    @Param None

    +

    @Returns true - timer match has occurred. false - timer match has not occurred.

    +

    @Example while(1) { check the match flag if(TMR2_HasOverflowOccured()) { Do something else...

    +

    Reload the TMR2 value TMR2_Reload(); } }

    + +

    Definition at line 111 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_Initialize()

    + +
    +
    + + + + + + + + +
    void TMR2_Initialize (void )
    +
    +

    TMR2 Generated Driver API Header File

    +

    @Company Microchip Technology Inc.

    +

    @File Name tmr2.h

    +

    @Summary This is the generated header file for the TMR2 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

    +

    @Description This header file provides APIs for TMR2. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.01 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: Macro Declarations Section: TMR2 APIs @Summary Initializes the TMR2 module.

    +

    @Description This function initializes the TMR2 Registers. This function must be called before any other TMR2 function is called.

    +

    @Preconditions None

    +

    @Param None

    +

    @Returns None

    +

    @Comment

    +

    @Example main() { Initialize TMR2 module TMR2_Initialize();

    +

    Do something else... }

    +

    TMR2 Generated Driver File

    +

    @Company Microchip Technology Inc.

    +

    @File Name tmr2.c

    +

    @Summary This is the generated driver implementation file for the TMR2 driver using PIC10 / PIC12 / PIC16 / PIC18 MCUs

    +

    @Description This source file provides APIs for TMR2. Generation Information : Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 Device : PIC18F97J60 Driver Version : 2.01 The generated drivers are tested against the following: Compiler : XC8 2.36 and above MPLAB : MPLAB X 6.00 Section: Included Files Section: Global Variables Definitions Section: TMR2 APIs

    + +

    Definition at line 62 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_LoadPeriodRegister()

    + +
    +
    + + + + + + + + +
    void TMR2_LoadPeriodRegister (uint8_t periodVal)
    +
    +

    @Summary Load value to Period Register.

    +

    @Description This function writes the value to PR2 register. This function must be called after the initialization of TMR2.

    +

    @Preconditions Initialize the TMR2 before calling this function.

    +

    @Param periodVal - Value to load into TMR2 register.

    +

    @Returns None

    +

    @Example #define PERIOD1 0x80 #define PERIOD2 0x40 #define ZERO 0x00

    +

    while(1) { Read the TMR2 register if(ZERO == TMR2_ReadTimer()) { Do something else...

            if(flag)
    +        {
    +            flag = 0;
    +

    Load Period 1 value TMR2_LoadPeriodRegister(PERIOD1); } else { flag = 1;

    +

    Load Period 2 value TMR2_LoadPeriodRegister(PERIOD2); } }

    +

    Do something else... }

    + +

    Definition at line 106 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_ReadTimer()

    + +
    +
    + + + + + + + + +
    uint8_t TMR2_ReadTimer (void )
    +
    +

    @Summary Reads the TMR2 register.

    +

    @Description This function reads the TMR2 register value and return it.

    +

    @Preconditions Initialize the TMR2 before calling this function.

    +

    @Param None

    +

    @Returns This function returns the current value of TMR2 register.

    +

    @Example Initialize TMR2 module

    +

    Start TMR2 TMR2_StartTimer();

    +

    Read the current value of TMR2 if(0 == TMR2_ReadTimer()) { Do something else...

    +

    Reload the TMR value TMR2_Reload(); }

    + +

    Definition at line 91 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_StartTimer()

    + +
    +
    + + + + + + + + +
    void TMR2_StartTimer (void )
    +
    +

    @Summary This function starts the TMR2.

    +

    @Description This function starts the TMR2 operation. This function must be called after the initialization of TMR2.

    +

    @Preconditions Initialize the TMR2 before calling this function.

    +

    @Param None

    +

    @Returns None

    +

    @Example Initialize TMR2 module

    +

    Start TMR2 TMR2_StartTimer();

    +

    Do something else...

    + +

    Definition at line 79 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_StopTimer()

    + +
    +
    + + + + + + + + +
    void TMR2_StopTimer (void )
    +
    +

    @Summary This function stops the TMR2.

    +

    @Description This function stops the TMR2 operation. This function must be called after the start of TMR2.

    +

    @Preconditions Initialize the TMR2 before calling this function.

    +

    @Param None

    +

    @Returns None

    +

    @Example Initialize TMR2 module

    +

    Start TMR2 TMR2_StartTimer();

    +

    Do something else...

    +

    Stop TMR2; TMR2_StopTimer();

    + +

    Definition at line 85 of file tmr2.c.

    + +
    +
    + +

    ◆ TMR2_WriteTimer()

    + +
    +
    + + + + + + + + +
    void TMR2_WriteTimer (uint8_t timerVal)
    +
    +

    @Summary Writes the TMR2 register.

    +

    @Description This function writes the TMR2 register. This function must be called after the initialization of TMR2.

    +

    @Preconditions Initialize the TMR2 before calling this function.

    +

    @Param timerVal - Value to write into TMR2 register.

    +

    @Returns None

    +

    @Example #define PERIOD 0x80 #define ZERO 0x00

    +

    while(1) { Read the TMR2 register if(ZERO == TMR2_ReadTimer()) { Do something else...

    +

    Write the TMR2 register TMR2_WriteTimer(PERIOD); }

    +

    Do something else... }

    + +

    Definition at line 100 of file tmr2.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/tmr2_8h.js b/html/tmr2_8h.js new file mode 100644 index 0000000..2fa060a --- /dev/null +++ b/html/tmr2_8h.js @@ -0,0 +1,10 @@ +var tmr2_8h = +[ + [ "TMR2_HasOverflowOccured", "tmr2_8h.html#ab0b9dbd90bacc904f311d71fbcccd038", null ], + [ "TMR2_Initialize", "tmr2_8h.html#a46c13c9255379e99c10240229a145d37", null ], + [ "TMR2_LoadPeriodRegister", "tmr2_8h.html#a5490961ba3ba77d10896e320ab840a74", null ], + [ "TMR2_ReadTimer", "tmr2_8h.html#a4acc1f7c8c2dbd46424dad273cdb9cb1", null ], + [ "TMR2_StartTimer", "tmr2_8h.html#afb37b846db811f973b4009215d59f91a", null ], + [ "TMR2_StopTimer", "tmr2_8h.html#a36d7e6eab8b279863c83a32fb41adb02", null ], + [ "TMR2_WriteTimer", "tmr2_8h.html#acb2fbe8254fcc8c01b9784b028a7eac6", null ] +]; \ No newline at end of file diff --git a/html/tmr2_8h_source.html b/html/tmr2_8h_source.html new file mode 100644 index 0000000..b24bcfd --- /dev/null +++ b/html/tmr2_8h_source.html @@ -0,0 +1,170 @@ + + + + + + + +Solar panel: mcc_generated_files/tmr2.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    tmr2.h
    +
    +
    +Go to the documentation of this file.
    1
    +
    24/*
    +
    25 (c) 2018 Microchip Technology Inc. and its subsidiaries.
    +
    26
    +
    27 Subject to your compliance with these terms, you may use Microchip software and any
    +
    28 derivatives exclusively with Microchip products. It is your responsibility to comply with third party
    +
    29 license terms applicable to your use of third party software (including open source software) that
    +
    30 may accompany Microchip software.
    +
    31
    +
    32 THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
    +
    33 EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY
    +
    34 IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS
    +
    35 FOR A PARTICULAR PURPOSE.
    +
    36
    +
    37 IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
    +
    38 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
    +
    39 WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP
    +
    40 HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO
    +
    41 THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL
    +
    42 CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT
    +
    43 OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS
    +
    44 SOFTWARE.
    +
    45*/
    +
    46
    +
    47#ifndef TMR2_H
    +
    48#define TMR2_H
    +
    49
    +
    54#include <stdint.h>
    +
    55#include <stdbool.h>
    +
    56
    +
    57#ifdef __cplusplus // Provide C++ Compatibility
    +
    58
    +
    59 extern "C" {
    +
    60
    +
    61#endif
    +
    62
    +
    63
    +
    103void TMR2_Initialize(void);
    +
    104
    +
    132void TMR2_StartTimer(void);
    +
    133
    +
    164void TMR2_StopTimer(void);
    +
    165
    +
    199uint8_t TMR2_ReadTimer(void);
    +
    200
    +
    238void TMR2_WriteTimer(uint8_t timerVal);
    +
    239
    +
    290void TMR2_LoadPeriodRegister(uint8_t periodVal);
    +
    291
    +
    325bool TMR2_HasOverflowOccured(void);
    +
    326
    +
    327 #ifdef __cplusplus // Provide C++ Compatibility
    +
    328
    +
    329 }
    +
    330
    +
    331#endif
    +
    332
    +
    333#endif // TMR2_H
    +
    void TMR2_StopTimer(void)
    Definition: tmr2.c:85
    +
    void TMR2_Initialize(void)
    Definition: tmr2.c:62
    +
    uint8_t TMR2_ReadTimer(void)
    Definition: tmr2.c:91
    +
    void TMR2_LoadPeriodRegister(uint8_t periodVal)
    Definition: tmr2.c:106
    +
    bool TMR2_HasOverflowOccured(void)
    Definition: tmr2.c:111
    +
    void TMR2_WriteTimer(uint8_t timerVal)
    Definition: tmr2.c:100
    +
    void TMR2_StartTimer(void)
    Definition: tmr2.c:79
    +
    +
    + + + + diff --git a/html/uart_8c.html b/html/uart_8c.html new file mode 100644 index 0000000..7d37f71 --- /dev/null +++ b/html/uart_8c.html @@ -0,0 +1,147 @@ + + + + + + + +Solar panel: uart.c File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    uart.c File Reference
    +
    +
    +
    #include "uart.h"
    +
    +

    Go to the source code of this file.

    + + + + +

    +Functions

    void uart_send (uint8_t *tx_buf, uint8_t length)
     
    +

    Function Documentation

    + +

    ◆ uart_send()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void uart_send (uint8_t * tx_buf,
    uint8_t length 
    )
    +
    + +

    Definition at line 3 of file uart.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/uart_8c.js b/html/uart_8c.js new file mode 100644 index 0000000..6716bfd --- /dev/null +++ b/html/uart_8c.js @@ -0,0 +1,4 @@ +var uart_8c = +[ + [ "uart_send", "uart_8c.html#a68077e456f70e8daac401f087f781674", null ] +]; \ No newline at end of file diff --git a/html/uart_8c_source.html b/html/uart_8c_source.html new file mode 100644 index 0000000..4376d70 --- /dev/null +++ b/html/uart_8c_source.html @@ -0,0 +1,116 @@ + + + + + + + +Solar panel: uart.c Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    uart.c
    +
    +
    +Go to the documentation of this file.
    1#include "uart.h"
    +
    2
    +
    3void uart_send(uint8_t *tx_buf, uint8_t length){
    +
    4 for (uint8_t i = 0; i < length; i++){
    +
    5 EUSART1_Write(tx_buf[i]);
    +
    6 }
    +
    7}
    +
    uint8_t tx_buf[256]
    Definition: modbus.c:30
    +
    uint16_t i
    Current in microamperes.
    Definition: old_main.c:37
    +
    void uart_send(uint8_t *tx_buf, uint8_t length)
    Definition: uart.c:3
    + +
    +
    + + + + diff --git a/html/uart_8h.html b/html/uart_8h.html new file mode 100644 index 0000000..45bdaa7 --- /dev/null +++ b/html/uart_8h.html @@ -0,0 +1,147 @@ + + + + + + + +Solar panel: uart.h File Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    uart.h File Reference
    +
    +
    +
    #include "mcc_generated_files/mcc.h"
    +
    +

    Go to the source code of this file.

    + + + + +

    +Functions

    void uart_send (uint8_t *tx_buf, uint8_t length)
     
    +

    Function Documentation

    + +

    ◆ uart_send()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void uart_send (uint8_t * tx_buf,
    uint8_t length 
    )
    +
    + +

    Definition at line 3 of file uart.c.

    + +
    +
    +
    +
    + + + + diff --git a/html/uart_8h.js b/html/uart_8h.js new file mode 100644 index 0000000..cf2ed8a --- /dev/null +++ b/html/uart_8h.js @@ -0,0 +1,4 @@ +var uart_8h = +[ + [ "uart_send", "uart_8h.html#a68077e456f70e8daac401f087f781674", null ] +]; \ No newline at end of file diff --git a/html/uart_8h_source.html b/html/uart_8h_source.html new file mode 100644 index 0000000..529d697 --- /dev/null +++ b/html/uart_8h_source.html @@ -0,0 +1,125 @@ + + + + + + + +Solar panel: uart.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    uart.h
    +
    +
    +Go to the documentation of this file.
    1/*
    +
    2 * File: uart.h
    +
    3 * Author: remi
    +
    4 *
    +
    5 * Created on March 3, 2023, 3:23 PM
    +
    6 */
    +
    7
    +
    8#ifndef UART_H
    +
    9#define UART_H
    +
    10
    +
    11#include "mcc_generated_files/mcc.h"
    +
    12
    +
    13void uart_send(uint8_t *tx_buf, uint8_t length);
    +
    14
    +
    15
    +
    16
    +
    17#endif /* UART_H */
    +
    18
    +
    uint8_t tx_buf[256]
    Definition: modbus.c:30
    +
    void uart_send(uint8_t *tx_buf, uint8_t length)
    Definition: uart.c:3
    +
    +
    + + + + diff --git a/html/unioneusart1__status__t-members.html b/html/unioneusart1__status__t-members.html new file mode 100644 index 0000000..e8a1b08 --- /dev/null +++ b/html/unioneusart1__status__t-members.html @@ -0,0 +1,112 @@ + + + + + + + +Solar panel: Member List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    eusart1_status_t Member List
    +
    +
    + +

    This is the complete list of members for eusart1_status_t, including all inherited members.

    + + + + + + +
    ferreusart1_status_t
    oerreusart1_status_t
    perreusart1_status_t
    reservedeusart1_status_t
    statuseusart1_status_t
    +
    + + + + diff --git a/html/unioneusart1__status__t.html b/html/unioneusart1__status__t.html new file mode 100644 index 0000000..bc7eb0b --- /dev/null +++ b/html/unioneusart1__status__t.html @@ -0,0 +1,229 @@ + + + + + + + +Solar panel: eusart1_status_t Union Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Solar panel +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    + +
    eusart1_status_t Union Reference
    +
    +
    + +

    #include <eusart1.h>

    + + + + + + + + + + + + + + + +

    +Public Attributes

    struct {
       unsigned   perr: 1
     
       unsigned   ferr: 1
     
       unsigned   oerr: 1
     
       unsigned   reserved: 5
     
    }; 
     
    uint8_t status
     
    +

    Detailed Description

    +

    Section: Data Type Definitions

    + +

    Definition at line 75 of file eusart1.h.

    +

    Member Data Documentation

    + +

    ◆ 

    + +
    +
    + + + + +
    struct { ... } eusart1_status_t::@1
    +
    + +
    +
    + +

    ◆ ferr

    + +
    +
    + + + + +
    unsigned eusart1_status_t::ferr
    +
    + +

    Definition at line 78 of file eusart1.h.

    + +
    +
    + +

    ◆ oerr

    + +
    +
    + + + + +
    unsigned eusart1_status_t::oerr
    +
    + +

    Definition at line 79 of file eusart1.h.

    + +
    +
    + +

    ◆ perr

    + +
    +
    + + + + +
    unsigned eusart1_status_t::perr
    +
    + +

    Definition at line 77 of file eusart1.h.

    + +
    +
    + +

    ◆ reserved

    + +
    +
    + + + + +
    unsigned eusart1_status_t::reserved
    +
    + +

    Definition at line 80 of file eusart1.h.

    + +
    +
    + +

    ◆ status

    + +
    +
    + + + + +
    uint8_t eusart1_status_t::status
    +
    + +

    Definition at line 82 of file eusart1.h.

    + +
    +
    +
    The documentation for this union was generated from the following file: +
    +
    + + + + diff --git a/html/unioneusart1__status__t.js b/html/unioneusart1__status__t.js new file mode 100644 index 0000000..6821359 --- /dev/null +++ b/html/unioneusart1__status__t.js @@ -0,0 +1,8 @@ +var unioneusart1__status__t = +[ + [ "ferr", "unioneusart1__status__t.html#ace5b8d8da76a41c2d06db932d1f8fcba", null ], + [ "oerr", "unioneusart1__status__t.html#a2adc147f70809e1192027883ea6e4bb6", null ], + [ "perr", "unioneusart1__status__t.html#ae6c7b4fe5cea9d793aa19298e0a39289", null ], + [ "reserved", "unioneusart1__status__t.html#a08cd561c8c1d205b5198a24a24ade1f7", null ], + [ "status", "unioneusart1__status__t.html#aaf5f21152e8c11a388b2661446a9fad4", null ] +]; \ No newline at end of file diff --git a/main.c b/main.c index 2749f6c..e9123c3 100644 --- a/main.c +++ b/main.c @@ -1,108 +1,71 @@ -/** - Generated Main Source File +/*! + * @file main.c + * @authors Simon Donnet-Monay & Remi Heredero + * @date 14 march 2023 + * @brief Main is in two part. + * First for setup everything + * Second for loop on measure and set duty cycle for PWM + */ - Company: - Microchip Technology Inc. - - File Name: - main.c - - Summary: - This is the main file generated using PIC10 / PIC12 / PIC16 / PIC18 MCUs - - Description: - This header file provides implementations for driver APIs for all modules selected in the GUI. - Generation Information : - Product Revision : PIC10 / PIC12 / PIC16 / PIC18 MCUs - 1.81.8 - Device : PIC18F97J60 - Driver Version : 2.00 -*/ - -/* - (c) 2018 Microchip Technology Inc. and its subsidiaries. - - Subject to your compliance with these terms, you may use Microchip software and any - derivatives exclusively with Microchip products. It is your responsibility to comply with third party - license terms applicable to your use of third party software (including open source software) that - may accompany Microchip software. - - THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER - EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY - IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS - FOR A PARTICULAR PURPOSE. - - IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, - INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND - WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP - HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO - THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL - CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT - OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS - SOFTWARE. -*/ #include "mcc_generated_files/mcc.h" #include "lcd/lcd.h" #include "measure.h" #include "modbus.h" -#define MAX_COL 16 -/* - Main application +#define MAX_COL 16 //!< columns for lcd screen (and 2 rows) + +void main(void) { + +/*! + * SETUP FUNCTIONS: */ - -extern uint16_t input_registers[2]; -void main(void) -{ - // Initialize the device + + //! Initialize the system with all mcc default configs SYSTEM_Initialize(); - EPWM1_LoadDutyValue(0); - Lcd_Init(); - adc_init(); - modbus_init(0x80); - uint16_t offsetCurrent = 0; - offsetCurrent = measure_current(offsetCurrent); + Lcd_Init(); //! Initialize lcd screen + adc_init(); //! Initialize adc for measures + modbus_init(0x80); //! Initialize all specific modbus function - // If using interrupts in PIC18 High/Low Priority Mode you need to enable the Global High and Low Interrupts - // If using interrupts in PIC Mid-Range Compatibility Mode you need to enable the Global and Peripheral Interrupts - // Use the following macros to: - - // Enable the Global Interrupts + //! Enable the Global Interrupts INTERRUPT_GlobalInterruptEnable(); - - // Disable the Global Interrupts - //INTERRUPT_GlobalInterruptDisable(); - - // Enable the Peripheral Interrupts + + //! Enable the Peripheral Interrupts INTERRUPT_PeripheralInterruptEnable(); - - // Disable the Peripheral Interrupts - //INTERRUPT_PeripheralInterruptDisable(); + /*! + * Initialize offset current. + * 1. disable load + * 2. Measure current without load + * + * The goal it's to remove the offset due to the electronics parts + */ + EPWM1_LoadDutyValue(0); + const uint16_t offsetCurrent = measure_current(offsetCurrent); - while (1) - { + //! create a char array for display on lcd (with space for '\0') + char msg[MAX_COL+1]; - EPWM1_LoadDutyValue(holding_registers[0]); +/*! + * LOOP MAIN PROGRAM: + */ + + while (1) { + + //! Get the measure and save it and the appropriate register input_registers[0] = measure_voltage(); input_registers[1] = measure_current(offsetCurrent); - uint16_t valueV = input_registers[0]; - uint16_t valueI = input_registers[1]; - char msg[MAX_COL+1]; - //LCD_2x16_WriteCmd(0x01); // clear display - - sprintf(msg, "U = %04d [mV] ", valueV); + //! Print on the first row of the lcd the Voltage + sprintf(msg, "U = %04d [mV] ", input_registers[0]); LCD_2x16_WriteMsg(msg,0); - sprintf(msg, "I = %04d [uA] ", valueI); + //! Print on the second row of the lcd the current + sprintf(msg, "I = %04d [uA] ", input_registers[1]); LCD_2x16_WriteMsg(msg,1); + //! Write the duty cycle for pwm from the appropriate register + EPWM1_LoadDutyValue(holding_registers[0]); } -} - - -/** - End of File -*/ \ No newline at end of file +} \ No newline at end of file diff --git a/modbus.c b/modbus.c index d511ede..1462e7d 100644 --- a/modbus.c +++ b/modbus.c @@ -1,14 +1,17 @@ +/*! + * @file modbus.c + * @authors Simon Donnet-Monay & Remi Heredero + * @date 14 march 2023 + * @biref + */ + #include "modbus.h" #include "crc.h" -#include "uart.h" -#include -#include -#include // Modbus functions -#define READ_INPUT_REGISTERS 0x04 -#define READ_HOLDING_REGISTERS 0x03 -#define WRITE_SINGLE_REGISTER 0x06 +#define READ_INPUT_REGISTERS 0x04 //!< Modbus function for read input register = 04 +#define READ_HOLDING_REGISTERS 0x03 //!< Modbus function for read holding register = 03 +#define WRITE_SINGLE_REGISTER 0x06 //!< Modbus function for write a single register = 06 // Modbus data model uint8_t modbusAddress; @@ -32,13 +35,11 @@ uint8_t tx_buf[256]; // Current position pointer for storing receive position uint8_t recPtr = 0; -void modbus_timer(void) -{ +void modbus_timer(void) { INTCONbits.TMR0IF = 0; recPtr = 0; TMR0_StopTimer(); modbus_analyse_and_answer(); - } extern uint16_t measure_voltage(); uint8_t modbus_analyse_and_answer(void) { diff --git a/modbus.h b/modbus.h index 2c06fd2..221d46e 100644 --- a/modbus.h +++ b/modbus.h @@ -7,6 +7,8 @@ #define MODBUS_H #include +#include +#include extern uint8_t modbusAddress; extern uint16_t input_registers[2]; diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 05cea5c..546a53e 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -3,14 +3,11 @@ - file:/C:/Program%20Files/Microchip/xc8/v2.40/pic/sources/c99/common/doprnt.c - file:/C:/Users/remi/MPLABXProjects/solar_panel/lcd/lcd.c + file:/C:/Users/remi/MPLABXProjects/solar_panel/measure.h file:/C:/Users/remi/MPLABXProjects/solar_panel/modbus.h file:/C:/Users/remi/MPLABXProjects/solar_panel/main.c - file:/C:/Program%20Files/Microchip/xc8/v2.40/pic/sources/c99/common/aomod.c + file:/C:/Users/remi/MPLABXProjects/solar_panel/measure.c file:/C:/Users/remi/MPLABXProjects/solar_panel/modbus.c - file:/C:/Users/remi/MPLABXProjects/solar_panel/crc.c - file:/C:/Users/remi/MPLABXProjects/solar_panel/mcc_generated_files/tmr0.c diff --git a/old_main.c b/old_main.c deleted file mode 100644 index c380adb..0000000 --- a/old_main.c +++ /dev/null @@ -1,55 +0,0 @@ -/************************************************************************//** - * \file main.c - * \brief Program main file for MODBUS controller - ***************************************************************************/ - - -#include -#include -#include -#include - -#include "lcd/lcd.h" -#include "pwm.h" -#include "measure.h" -#include "modbus.h" -#include "uart.h" - -#define _XTAL_FREQ 64000000L -/** - * Initialize clock, buttons, leds and interrupts - */ -void init_hw() -{ - OSCCON3 = 0; // runs at 64MHz - LCD_Init(LCD_2x16); - adc_init(); - modbus_init(0x80); - pwm_init(); - uart_init(); - // Interrupts configuration - PEIE = 1; - GIE = 1; -} - -uint8_t tmpStr[30]; -uint16_t u; ///< Voltage in milliovolts -uint16_t i; ///< Current in microamperes -uint16_t p; ///< Power in microwatts - -uint16_t offset; -uint16_t pwm = 512; - -void main(void) -{ - init_hw(); - - LCD_2x16_WriteMsg((unsigned char *)"Welcome ! ", 0); // display on line 0 - LCD_2x16_WriteMsg((unsigned char *)"*-*-*-*-*-*-*-*-", 1); // display on line 1 - - // TODO -> complete measure of current offset - - while (true) { - // TODO -> complete the main loop - } -} \ No newline at end of file diff --git a/uart.c b/uart.c deleted file mode 100644 index 8d8717e..0000000 --- a/uart.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "uart.h" - -void uart_send(uint8_t *tx_buf, uint8_t length){ - for (uint8_t i = 0; i < length; i++){ - EUSART1_Write(tx_buf[i]); - } -} diff --git a/uart.h b/uart.h deleted file mode 100644 index 57db5f4..0000000 --- a/uart.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * File: uart.h - * Author: remi - * - * Created on March 3, 2023, 3:23 PM - */ - -#ifndef UART_H -#define UART_H - -#include "mcc_generated_files/mcc.h" - -void uart_send(uint8_t *tx_buf, uint8_t length); - - - -#endif /* UART_H */ -