From 80e2fdcd2f314212401bd220dc157ef9b9bb4295 Mon Sep 17 00:00:00 2001 From: William Miceli Date: Tue, 16 Feb 2021 21:28:01 -0500 Subject: [PATCH] Updated Doxygen --- Documentation/html/_9_hardware_8markdown.html | 2 +- Documentation/html/_9_software_8markdown.html | 2 +- .../html/_design_01_choices_8markdown.html | 2 +- .../_device_01_specifications_8markdown.html | 2 +- .../_documentation_01_guide_8markdown.html | 2 +- .../html/_r_e_a_d_m_e_8markdown.html | 2 +- Documentation/html/adc10__a_8c.html | 108 ++ Documentation/html/adc10__a_8c_source.html | 316 +++++ Documentation/html/adc10__a_8h.html | 108 ++ Documentation/html/adc10__a_8h_source.html | 516 ++++++++ Documentation/html/adc12__a_8c.html | 108 ++ Documentation/html/adc12__a_8c_source.html | 347 ++++++ Documentation/html/adc12__a_8h.html | 108 ++ Documentation/html/adc12__a_8h_source.html | 574 +++++++++ Documentation/html/aes_8c.html | 108 ++ Documentation/html/aes_8c_source.html | 452 +++++++ Documentation/html/aes_8h.html | 108 ++ Documentation/html/aes_8h_source.html | 287 +++++ Documentation/html/battbak_8c.html | 108 ++ Documentation/html/battbak_8c_source.html | 184 +++ Documentation/html/battbak_8h.html | 108 ++ Documentation/html/battbak_8h_source.html | 245 ++++ Documentation/html/comp__b_8c.html | 108 ++ Documentation/html/comp__b_8c_source.html | 315 +++++ Documentation/html/comp__b_8h.html | 108 ++ Documentation/html/comp__b_8h_source.html | 422 +++++++ Documentation/html/crc_8c.html | 108 ++ Documentation/html/crc_8c_source.html | 177 +++ Documentation/html/crc_8h.html | 108 ++ Documentation/html/crc_8h_source.html | 200 ++++ Documentation/html/ctsd16_8c.html | 108 ++ Documentation/html/ctsd16_8c_source.html | 386 ++++++ Documentation/html/ctsd16_8h.html | 108 ++ Documentation/html/ctsd16_8h_source.html | 463 ++++++++ Documentation/html/dac12__a_8c.html | 108 ++ Documentation/html/dac12__a_8c_source.html | 317 +++++ Documentation/html/dac12__a_8h.html | 108 ++ Documentation/html/dac12__a_8h_source.html | 405 +++++++ Documentation/html/design_choices.html | 39 +- Documentation/html/device_specifications.html | 43 +- .../dir_0201fb0a75bfb001181cd762468718da.html | 111 ++ .../dir_0201fb0a75bfb001181cd762468718da.js | 4 + .../dir_45fca41ab41fdacd455cd61e009e74cc.html | 113 ++ .../dir_45fca41ab41fdacd455cd61e009e74cc.js | 5 + .../dir_46b95d24c0abe1f4457728e63ee00541.html | 284 +++++ .../dir_46b95d24c0abe1f4457728e63ee00541.js | 89 ++ .../dir_4e9c05acfa2c3671b8618fcb95d57d96.html | 2 +- .../dir_6cc751a9e685a986d41d35de353de328.html | 2 +- .../dir_70428d3c5958c16802133545478a5cfb.html | 2 +- .../dir_7795a02a4813dcd036f04e5f7854f185.html | 2 +- .../dir_c161f571c8319861135bb5a2c903edf9.html | 111 ++ .../dir_c161f571c8319861135bb5a2c903edf9.js | 4 + .../dir_ef94255a62432ae865475b379d8bd501.html | 7 +- .../dir_ef94255a62432ae865475b379d8bd501.js | 2 + Documentation/html/dma_8c.html | 108 ++ Documentation/html/dma_8c_source.html | 267 +++++ Documentation/html/dma_8h.html | 108 ++ Documentation/html/dma_8h_source.html | 412 +++++++ Documentation/html/documentation_guide.html | 12 +- Documentation/html/driverlib_8h.html | 149 +++ Documentation/html/driverlib_8h_source.html | 190 +++ Documentation/html/eusci__a__spi_8c.html | 108 ++ .../html/eusci__a__spi_8c_source.html | 301 +++++ Documentation/html/eusci__a__spi_8h.html | 108 ++ .../html/eusci__a__spi_8h_source.html | 368 ++++++ Documentation/html/eusci__a__uart_8c.html | 108 ++ .../html/eusci__a__uart_8c_source.html | 341 ++++++ Documentation/html/eusci__a__uart_8h.html | 108 ++ .../html/eusci__a__uart_8h_source.html | 396 +++++++ Documentation/html/eusci__b__i2c_8c.html | 108 ++ .../html/eusci__b__i2c_8c_source.html | 685 +++++++++++ Documentation/html/eusci__b__i2c_8h.html | 108 ++ .../html/eusci__b__i2c_8h_source.html | 550 +++++++++ Documentation/html/eusci__b__spi_8c.html | 108 ++ .../html/eusci__b__spi_8c_source.html | 299 +++++ Documentation/html/eusci__b__spi_8h.html | 108 ++ .../html/eusci__b__spi_8h_source.html | 368 ++++++ Documentation/html/files.html | 97 +- Documentation/html/files_dup.js | 2 +- Documentation/html/flashctl_8c.html | 108 ++ Documentation/html/flashctl_8c_source.html | 384 ++++++ Documentation/html/flashctl_8h.html | 108 ++ Documentation/html/flashctl_8h_source.html | 234 ++++ Documentation/html/globals.html | 38 +- Documentation/html/globals_defs.html | 138 +++ Documentation/html/globals_func.html | 2 +- Documentation/html/gpio_8c.html | 108 ++ Documentation/html/gpio_8c_source.html | 554 +++++++++ Documentation/html/gpio_8h.html | 108 ++ Documentation/html/gpio_8h_source.html | 355 ++++++ Documentation/html/group__adc10__a__api.html | 104 ++ Documentation/html/group__adc12__a__api.html | 104 ++ Documentation/html/group__aes__api.html | 104 ++ Documentation/html/group__battbak__api.html | 104 ++ Documentation/html/group__comp__b__api.html | 104 ++ Documentation/html/group__crc__api.html | 104 ++ Documentation/html/group__ctsd16__api.html | 104 ++ Documentation/html/group__dac12__a__api.html | 104 ++ Documentation/html/group__dma__api.html | 104 ++ .../html/group__eusci__a__spi__api.html | 104 ++ .../html/group__eusci__a__uart__api.html | 104 ++ .../html/group__eusci__b__i2c__api.html | 104 ++ .../html/group__eusci__b__spi__api.html | 104 ++ Documentation/html/group__flashctl__api.html | 104 ++ Documentation/html/group__gpio__api.html | 104 ++ Documentation/html/group__lcd__b__api.html | 104 ++ Documentation/html/group__lcd__c__api.html | 104 ++ Documentation/html/group__ldopwr__api.html | 104 ++ Documentation/html/group__mpy32__api.html | 104 ++ Documentation/html/group__oa__api.html | 104 ++ Documentation/html/group__pmap__api.html | 104 ++ Documentation/html/group__pmm__api.html | 104 ++ Documentation/html/group__ram__api.html | 104 ++ Documentation/html/group__ref__api.html | 104 ++ Documentation/html/group__rtc__a__api.html | 104 ++ Documentation/html/group__rtc__b__api.html | 104 ++ Documentation/html/group__rtc__c__api.html | 104 ++ Documentation/html/group__sd24__b__api.html | 104 ++ Documentation/html/group__sfr__api.html | 104 ++ Documentation/html/group__sysctl__api.html | 104 ++ Documentation/html/group__tec__api.html | 104 ++ Documentation/html/group__timer__a__api.html | 104 ++ Documentation/html/group__timer__b__api.html | 104 ++ Documentation/html/group__timer__d__api.html | 104 ++ Documentation/html/group__tlv__api.html | 104 ++ Documentation/html/group__ucs__api.html | 104 ++ .../html/group__usci__a__spi__api.html | 104 ++ .../html/group__usci__a__uart__api.html | 104 ++ .../html/group__usci__b__i2c__api.html | 104 ++ .../html/group__usci__b__spi__api.html | 104 ++ Documentation/html/group__wdt__a__api.html | 104 ++ Documentation/html/hardware.html | 2 +- Documentation/html/hardware.js | 2 +- Documentation/html/hw__memmap_8h.html | 256 ++++ Documentation/html/hw__memmap_8h.js | 10 + Documentation/html/hw__memmap_8h_source.html | 150 +++ Documentation/html/index.html | 12 +- Documentation/html/lcd__b_8c.html | 108 ++ Documentation/html/lcd__b_8c_source.html | 403 +++++++ Documentation/html/lcd__b_8h.html | 108 ++ Documentation/html/lcd__b_8h_source.html | 719 ++++++++++++ Documentation/html/lcd__c_8c.html | 108 ++ Documentation/html/lcd__c_8c_source.html | 513 ++++++++ Documentation/html/lcd__c_8h.html | 108 ++ Documentation/html/lcd__c_8h_source.html | 669 +++++++++++ Documentation/html/ldopwr_8c.html | 108 ++ Documentation/html/ldopwr_8c_source.html | 272 +++++ Documentation/html/ldopwr_8h.html | 108 ++ Documentation/html/ldopwr_8h_source.html | 340 ++++++ Documentation/html/lextab_8py.html | 115 ++ Documentation/html/lextab_8py.js | 12 + Documentation/html/lextab_8py_source.html | 115 ++ Documentation/html/main_8c.html | 2 +- Documentation/html/main_8c_source.html | 2 +- Documentation/html/menudata.js | 6 +- Documentation/html/modules.html | 149 +++ Documentation/html/modules.js | 44 + Documentation/html/mpy32_8c.html | 108 ++ Documentation/html/mpy32_8c_source.html | 250 ++++ Documentation/html/mpy32_8h.html | 108 ++ Documentation/html/mpy32_8h_source.html | 314 +++++ Documentation/html/namespacelextab.html | 105 ++ Documentation/html/namespaces.html | 110 ++ Documentation/html/namespaces_dup.js | 34 + Documentation/html/namespaceyacctab.html | 105 ++ Documentation/html/navtreedata.js | 30 +- Documentation/html/navtreeindex0.js | 272 ++++- Documentation/html/navtreeindex1.js | 66 ++ Documentation/html/oa_8c.html | 108 ++ Documentation/html/oa_8c_source.html | 224 ++++ Documentation/html/oa_8h.html | 108 ++ Documentation/html/oa_8h_source.html | 286 +++++ Documentation/html/pages.html | 2 +- Documentation/html/pmap_8c.html | 108 ++ Documentation/html/pmap_8c_source.html | 161 +++ Documentation/html/pmap_8h.html | 108 ++ Documentation/html/pmap_8h_source.html | 176 +++ Documentation/html/pmm_8c.html | 108 ++ Documentation/html/pmm_8c_source.html | 615 ++++++++++ Documentation/html/pmm_8h.html | 108 ++ Documentation/html/pmm_8h_source.html | 388 ++++++ Documentation/html/ram_8c.html | 108 ++ Documentation/html/ram_8c_source.html | 145 +++ Documentation/html/ram_8h.html | 108 ++ Documentation/html/ram_8h_source.html | 175 +++ Documentation/html/ref_8c.html | 108 ++ Documentation/html/ref_8c_source.html | 198 ++++ Documentation/html/ref_8h.html | 108 ++ Documentation/html/ref_8h_source.html | 252 ++++ Documentation/html/rtc__a_8c.html | 108 ++ Documentation/html/rtc__a_8c_source.html | 383 ++++++ Documentation/html/rtc__a_8h.html | 108 ++ Documentation/html/rtc__a_8h_source.html | 460 ++++++++ Documentation/html/rtc__b_8c.html | 108 ++ Documentation/html/rtc__b_8c_source.html | 342 ++++++ Documentation/html/rtc__b_8h.html | 108 ++ Documentation/html/rtc__b_8h_source.html | 384 ++++++ Documentation/html/rtc__c_8c.html | 108 ++ Documentation/html/rtc__c_8c_source.html | 452 +++++++ Documentation/html/rtc__c_8h.html | 108 ++ Documentation/html/rtc__c_8h_source.html | 491 ++++++++ Documentation/html/sd24__b_8c.html | 108 ++ Documentation/html/sd24__b_8c_source.html | 375 ++++++ Documentation/html/sd24__b_8h.html | 108 ++ Documentation/html/sd24__b_8h_source.html | 552 +++++++++ Documentation/html/search/all_1.js | 7 +- Documentation/html/search/all_10.html | 37 + Documentation/html/search/all_10.js | 15 + Documentation/html/search/all_11.html | 37 + Documentation/html/search/all_11.js | 18 + Documentation/html/search/all_12.html | 37 + Documentation/html/search/all_12.js | 18 + Documentation/html/search/all_13.html | 37 + Documentation/html/search/all_13.js | 4 + Documentation/html/search/all_14.html | 37 + Documentation/html/search/all_14.js | 6 + Documentation/html/search/all_15.html | 37 + Documentation/html/search/all_15.js | 5 + Documentation/html/search/all_2.js | 11 +- Documentation/html/search/all_3.js | 5 +- Documentation/html/search/all_4.js | 10 +- Documentation/html/search/all_5.js | 18 +- Documentation/html/search/all_6.js | 13 +- Documentation/html/search/all_7.html | 37 + Documentation/html/search/all_7.js | 6 + Documentation/html/search/all_8.html | 37 + Documentation/html/search/all_8.js | 7 + Documentation/html/search/all_9.html | 37 + Documentation/html/search/all_9.js | 9 + Documentation/html/search/all_a.html | 37 + Documentation/html/search/all_a.js | 14 + Documentation/html/search/all_b.html | 37 + Documentation/html/search/all_b.js | 8 + Documentation/html/search/all_c.html | 37 + Documentation/html/search/all_c.js | 4 + Documentation/html/search/all_d.html | 37 + Documentation/html/search/all_d.js | 6 + Documentation/html/search/all_e.html | 37 + Documentation/html/search/all_e.js | 9 + Documentation/html/search/all_f.html | 37 + Documentation/html/search/all_f.js | 19 + Documentation/html/search/defines_0.html | 37 + Documentation/html/search/defines_0.js | 4 + Documentation/html/search/defines_1.html | 37 + Documentation/html/search/defines_1.js | 7 + Documentation/html/search/defines_2.html | 37 + Documentation/html/search/defines_2.js | 4 + Documentation/html/search/defines_3.html | 37 + Documentation/html/search/defines_3.js | 6 + Documentation/html/search/defines_4.html | 37 + Documentation/html/search/defines_4.js | 4 + Documentation/html/search/defines_5.html | 37 + Documentation/html/search/defines_5.js | 5 + Documentation/html/search/files_0.js | 4 +- Documentation/html/search/files_1.js | 9 +- Documentation/html/search/files_10.html | 37 + Documentation/html/search/files_10.js | 13 + Documentation/html/search/files_11.html | 37 + Documentation/html/search/files_11.js | 4 + Documentation/html/search/files_12.html | 37 + Documentation/html/search/files_12.js | 5 + Documentation/html/search/files_13.html | 37 + Documentation/html/search/files_13.js | 4 + Documentation/html/search/files_2.js | 3 +- Documentation/html/search/files_3.js | 7 +- Documentation/html/search/files_4.js | 9 +- Documentation/html/search/files_5.html | 37 + Documentation/html/search/files_5.js | 11 + Documentation/html/search/files_6.html | 37 + Documentation/html/search/files_6.js | 5 + Documentation/html/search/files_7.html | 37 + Documentation/html/search/files_7.js | 5 + Documentation/html/search/files_8.html | 37 + Documentation/html/search/files_8.js | 4 + Documentation/html/search/files_9.html | 37 + Documentation/html/search/files_9.js | 10 + Documentation/html/search/files_a.html | 37 + Documentation/html/search/files_a.js | 6 + Documentation/html/search/files_b.html | 37 + Documentation/html/search/files_b.js | 5 + Documentation/html/search/files_c.html | 37 + Documentation/html/search/files_c.js | 7 + Documentation/html/search/files_d.html | 37 + Documentation/html/search/files_d.js | 14 + Documentation/html/search/files_e.html | 37 + Documentation/html/search/files_e.js | 9 + Documentation/html/search/files_f.html | 37 + Documentation/html/search/files_f.js | 13 + Documentation/html/search/functions_0.js | 2 +- Documentation/html/search/groups_0.html | 37 + Documentation/html/search/groups_0.js | 6 + Documentation/html/search/groups_1.html | 37 + Documentation/html/search/groups_1.js | 4 + Documentation/html/search/groups_2.html | 37 + Documentation/html/search/groups_2.js | 6 + Documentation/html/search/groups_3.html | 37 + Documentation/html/search/groups_3.js | 5 + Documentation/html/search/groups_4.html | 37 + Documentation/html/search/groups_4.js | 7 + Documentation/html/search/groups_5.html | 37 + Documentation/html/search/groups_5.js | 4 + Documentation/html/search/groups_6.html | 37 + Documentation/html/search/groups_6.js | 4 + Documentation/html/search/groups_7.html | 37 + Documentation/html/search/groups_7.js | 6 + Documentation/html/search/groups_8.html | 37 + Documentation/html/search/groups_8.js | 4 + Documentation/html/search/groups_9.html | 37 + Documentation/html/search/groups_9.js | 4 + Documentation/html/search/groups_a.html | 37 + Documentation/html/search/groups_a.js | 5 + Documentation/html/search/groups_b.html | 37 + Documentation/html/search/groups_b.js | 8 + Documentation/html/search/groups_c.html | 37 + Documentation/html/search/groups_c.js | 6 + Documentation/html/search/groups_d.html | 37 + Documentation/html/search/groups_d.js | 8 + Documentation/html/search/groups_e.html | 37 + Documentation/html/search/groups_e.js | 8 + Documentation/html/search/groups_f.html | 37 + Documentation/html/search/groups_f.js | 4 + Documentation/html/search/namespaces_0.html | 37 + Documentation/html/search/namespaces_0.js | 4 + Documentation/html/search/namespaces_1.html | 37 + Documentation/html/search/namespaces_1.js | 4 + Documentation/html/search/pages_0.js | 6 +- Documentation/html/search/pages_1.js | 4 +- Documentation/html/search/pages_2.js | 2 +- Documentation/html/search/searchdata.js | 29 +- Documentation/html/sfr_8c.html | 108 ++ Documentation/html/sfr_8c_source.html | 169 +++ Documentation/html/sfr_8h.html | 108 ++ Documentation/html/sfr_8h_source.html | 234 ++++ Documentation/html/software.html | 2 +- Documentation/html/sysctl_8c.html | 108 ++ Documentation/html/sysctl_8c_source.html | 237 ++++ Documentation/html/sysctl_8h.html | 108 ++ Documentation/html/sysctl_8h_source.html | 336 ++++++ Documentation/html/tec_8c.html | 108 ++ Documentation/html/tec_8c_source.html | 255 ++++ Documentation/html/tec_8h.html | 108 ++ Documentation/html/tec_8h_source.html | 374 ++++++ Documentation/html/timer__a_8c.html | 108 ++ Documentation/html/timer__a_8c_source.html | 437 +++++++ Documentation/html/timer__a_8h.html | 108 ++ Documentation/html/timer__a_8h_source.html | 611 ++++++++++ Documentation/html/timer__b_8c.html | 108 ++ Documentation/html/timer__b_8c_source.html | 471 ++++++++ Documentation/html/timer__b_8h.html | 108 ++ Documentation/html/timer__b_8h_source.html | 667 +++++++++++ Documentation/html/timer__d_8c.html | 108 ++ Documentation/html/timer__d_8c_source.html | 659 +++++++++++ Documentation/html/timer__d_8h.html | 108 ++ Documentation/html/timer__d_8h_source.html | 927 +++++++++++++++ Documentation/html/tlv_8c.html | 108 ++ Documentation/html/tlv_8c_source.html | 319 +++++ Documentation/html/tlv_8h.html | 108 ++ Documentation/html/tlv_8h_source.html | 334 ++++++ Documentation/html/ucs_8c.html | 108 ++ Documentation/html/ucs_8c_source.html | 1038 +++++++++++++++++ Documentation/html/ucs_8h.html | 108 ++ Documentation/html/ucs_8h_source.html | 433 +++++++ Documentation/html/usci__a__spi_8c.html | 108 ++ .../html/usci__a__spi_8c_source.html | 303 +++++ Documentation/html/usci__a__spi_8h.html | 108 ++ .../html/usci__a__spi_8h_source.html | 334 ++++++ Documentation/html/usci__a__uart_8c.html | 108 ++ .../html/usci__a__uart_8c_source.html | 331 ++++++ Documentation/html/usci__a__uart_8h.html | 108 ++ .../html/usci__a__uart_8h_source.html | 374 ++++++ Documentation/html/usci__b__i2c_8c.html | 108 ++ .../html/usci__b__i2c_8c_source.html | 699 +++++++++++ Documentation/html/usci__b__i2c_8h.html | 108 ++ .../html/usci__b__i2c_8h_source.html | 476 ++++++++ Documentation/html/usci__b__spi_8c.html | 108 ++ .../html/usci__b__spi_8c_source.html | 300 +++++ Documentation/html/usci__b__spi_8h.html | 108 ++ .../html/usci__b__spi_8h_source.html | 334 ++++++ Documentation/html/version_8h.html | 215 ++++ Documentation/html/version_8h.js | 8 + Documentation/html/version_8h_source.html | 116 ++ Documentation/html/wdt__a_8c.html | 108 ++ Documentation/html/wdt__a_8c_source.html | 175 +++ Documentation/html/wdt__a_8h.html | 108 ++ Documentation/html/wdt__a_8h_source.html | 207 ++++ Documentation/html/yacctab_8py.html | 115 ++ Documentation/html/yacctab_8py.js | 11 + Documentation/html/yacctab_8py_source.html | 405 +++++++ Documentation/latex/adc10__a_8c.tex | 3 + Documentation/latex/adc10__a_8h.tex | 3 + Documentation/latex/adc12__a_8c.tex | 3 + Documentation/latex/adc12__a_8h.tex | 3 + Documentation/latex/aes_8c.tex | 3 + Documentation/latex/aes_8h.tex | 3 + Documentation/latex/battbak_8c.tex | 3 + Documentation/latex/battbak_8h.tex | 3 + Documentation/latex/comp__b_8c.tex | 3 + Documentation/latex/comp__b_8h.tex | 3 + Documentation/latex/crc_8c.tex | 3 + Documentation/latex/crc_8h.tex | 3 + Documentation/latex/ctsd16_8c.tex | 3 + Documentation/latex/ctsd16_8h.tex | 3 + Documentation/latex/dac12__a_8c.tex | 3 + Documentation/latex/dac12__a_8h.tex | 3 + .../dir_0201fb0a75bfb001181cd762468718da.tex | 7 + .../dir_45fca41ab41fdacd455cd61e009e74cc.tex | 9 + .../dir_46b95d24c0abe1f4457728e63ee00541.tex | 180 +++ .../dir_c161f571c8319861135bb5a2c903edf9.tex | 7 + .../dir_ef94255a62432ae865475b379d8bd501.tex | 5 + Documentation/latex/dma_8c.tex | 3 + Documentation/latex/dma_8h.tex | 3 + Documentation/latex/documentation_guide.tex | 10 +- Documentation/latex/driverlib_8h.tex | 44 + Documentation/latex/eusci__a__spi_8c.tex | 3 + Documentation/latex/eusci__a__spi_8h.tex | 3 + Documentation/latex/eusci__a__uart_8c.tex | 3 + Documentation/latex/eusci__a__uart_8h.tex | 3 + Documentation/latex/eusci__b__i2c_8c.tex | 3 + Documentation/latex/eusci__b__i2c_8h.tex | 3 + Documentation/latex/eusci__b__spi_8c.tex | 3 + Documentation/latex/eusci__b__spi_8h.tex | 3 + Documentation/latex/files.tex | 87 ++ Documentation/latex/flashctl_8c.tex | 3 + Documentation/latex/flashctl_8h.tex | 3 + Documentation/latex/gpio_8c.tex | 3 + Documentation/latex/gpio_8h.tex | 3 + Documentation/latex/group__adc10__a__api.tex | 2 + Documentation/latex/group__adc12__a__api.tex | 2 + Documentation/latex/group__aes__api.tex | 2 + Documentation/latex/group__battbak__api.tex | 2 + Documentation/latex/group__comp__b__api.tex | 2 + Documentation/latex/group__crc__api.tex | 2 + Documentation/latex/group__ctsd16__api.tex | 2 + Documentation/latex/group__dac12__a__api.tex | 2 + Documentation/latex/group__dma__api.tex | 2 + .../latex/group__eusci__a__spi__api.tex | 2 + .../latex/group__eusci__a__uart__api.tex | 2 + .../latex/group__eusci__b__i2c__api.tex | 2 + .../latex/group__eusci__b__spi__api.tex | 2 + Documentation/latex/group__flashctl__api.tex | 2 + Documentation/latex/group__gpio__api.tex | 2 + Documentation/latex/group__lcd__b__api.tex | 2 + Documentation/latex/group__lcd__c__api.tex | 2 + Documentation/latex/group__ldopwr__api.tex | 2 + Documentation/latex/group__mpy32__api.tex | 2 + Documentation/latex/group__oa__api.tex | 2 + Documentation/latex/group__pmap__api.tex | 2 + Documentation/latex/group__pmm__api.tex | 2 + Documentation/latex/group__ram__api.tex | 2 + Documentation/latex/group__ref__api.tex | 2 + Documentation/latex/group__rtc__a__api.tex | 2 + Documentation/latex/group__rtc__b__api.tex | 2 + Documentation/latex/group__rtc__c__api.tex | 2 + Documentation/latex/group__sd24__b__api.tex | 2 + Documentation/latex/group__sfr__api.tex | 2 + Documentation/latex/group__sysctl__api.tex | 2 + Documentation/latex/group__tec__api.tex | 2 + Documentation/latex/group__timer__a__api.tex | 2 + Documentation/latex/group__timer__b__api.tex | 2 + Documentation/latex/group__timer__d__api.tex | 2 + Documentation/latex/group__tlv__api.tex | 2 + Documentation/latex/group__ucs__api.tex | 2 + .../latex/group__usci__a__spi__api.tex | 2 + .../latex/group__usci__a__uart__api.tex | 2 + .../latex/group__usci__b__i2c__api.tex | 2 + .../latex/group__usci__b__spi__api.tex | 2 + Documentation/latex/group__wdt__a__api.tex | 2 + Documentation/latex/hardware.tex | 73 +- Documentation/latex/hw__memmap_8h.tex | 96 ++ Documentation/latex/index.tex | 10 +- Documentation/latex/lcd__b_8c.tex | 3 + Documentation/latex/lcd__b_8h.tex | 3 + Documentation/latex/lcd__c_8c.tex | 3 + Documentation/latex/lcd__c_8h.tex | 3 + Documentation/latex/ldopwr_8c.tex | 3 + Documentation/latex/ldopwr_8h.tex | 3 + Documentation/latex/lextab_8py.tex | 7 + Documentation/latex/modules.tex | 44 + Documentation/latex/mpy32_8c.tex | 3 + Documentation/latex/mpy32_8h.tex | 3 + Documentation/latex/namespacelextab.tex | 2 + Documentation/latex/namespaces.tex | 5 + Documentation/latex/namespaceyacctab.tex | 2 + Documentation/latex/oa_8c.tex | 3 + Documentation/latex/oa_8h.tex | 3 + Documentation/latex/pmap_8c.tex | 3 + Documentation/latex/pmap_8h.tex | 3 + Documentation/latex/pmm_8c.tex | 3 + Documentation/latex/pmm_8h.tex | 3 + Documentation/latex/ram_8c.tex | 3 + Documentation/latex/ram_8h.tex | 3 + Documentation/latex/ref_8c.tex | 3 + Documentation/latex/ref_8h.tex | 3 + Documentation/latex/refman.tex | 136 +++ Documentation/latex/rtc__a_8c.tex | 3 + Documentation/latex/rtc__a_8h.tex | 3 + Documentation/latex/rtc__b_8c.tex | 3 + Documentation/latex/rtc__b_8h.tex | 3 + Documentation/latex/rtc__c_8c.tex | 3 + Documentation/latex/rtc__c_8h.tex | 3 + Documentation/latex/sd24__b_8c.tex | 3 + Documentation/latex/sd24__b_8h.tex | 3 + Documentation/latex/sfr_8c.tex | 3 + Documentation/latex/sfr_8h.tex | 3 + Documentation/latex/sysctl_8c.tex | 3 + Documentation/latex/sysctl_8h.tex | 3 + Documentation/latex/tec_8c.tex | 3 + Documentation/latex/tec_8h.tex | 3 + Documentation/latex/timer__a_8c.tex | 3 + Documentation/latex/timer__a_8h.tex | 3 + Documentation/latex/timer__b_8c.tex | 3 + Documentation/latex/timer__b_8h.tex | 3 + Documentation/latex/timer__d_8c.tex | 3 + Documentation/latex/timer__d_8h.tex | 3 + Documentation/latex/tlv_8c.tex | 3 + Documentation/latex/tlv_8h.tex | 3 + Documentation/latex/ucs_8c.tex | 3 + Documentation/latex/ucs_8h.tex | 3 + Documentation/latex/usci__a__spi_8c.tex | 3 + Documentation/latex/usci__a__spi_8h.tex | 3 + Documentation/latex/usci__a__uart_8c.tex | 3 + Documentation/latex/usci__a__uart_8h.tex | 3 + Documentation/latex/usci__b__i2c_8c.tex | 3 + Documentation/latex/usci__b__i2c_8h.tex | 3 + Documentation/latex/usci__b__spi_8c.tex | 3 + Documentation/latex/usci__b__spi_8h.tex | 3 + Documentation/latex/version_8h.tex | 76 ++ Documentation/latex/wdt__a_8c.tex | 3 + Documentation/latex/wdt__a_8h.tex | 3 + Documentation/latex/yacctab_8py.tex | 7 + 530 files changed, 52222 insertions(+), 186 deletions(-) create mode 100644 Documentation/html/adc10__a_8c.html create mode 100644 Documentation/html/adc10__a_8c_source.html create mode 100644 Documentation/html/adc10__a_8h.html create mode 100644 Documentation/html/adc10__a_8h_source.html create mode 100644 Documentation/html/adc12__a_8c.html create mode 100644 Documentation/html/adc12__a_8c_source.html create mode 100644 Documentation/html/adc12__a_8h.html create mode 100644 Documentation/html/adc12__a_8h_source.html create mode 100644 Documentation/html/aes_8c.html create mode 100644 Documentation/html/aes_8c_source.html create mode 100644 Documentation/html/aes_8h.html create mode 100644 Documentation/html/aes_8h_source.html create mode 100644 Documentation/html/battbak_8c.html create mode 100644 Documentation/html/battbak_8c_source.html create mode 100644 Documentation/html/battbak_8h.html create mode 100644 Documentation/html/battbak_8h_source.html create mode 100644 Documentation/html/comp__b_8c.html create mode 100644 Documentation/html/comp__b_8c_source.html create mode 100644 Documentation/html/comp__b_8h.html create mode 100644 Documentation/html/comp__b_8h_source.html create mode 100644 Documentation/html/crc_8c.html create mode 100644 Documentation/html/crc_8c_source.html create mode 100644 Documentation/html/crc_8h.html create mode 100644 Documentation/html/crc_8h_source.html create mode 100644 Documentation/html/ctsd16_8c.html create mode 100644 Documentation/html/ctsd16_8c_source.html create mode 100644 Documentation/html/ctsd16_8h.html create mode 100644 Documentation/html/ctsd16_8h_source.html create mode 100644 Documentation/html/dac12__a_8c.html create mode 100644 Documentation/html/dac12__a_8c_source.html create mode 100644 Documentation/html/dac12__a_8h.html create mode 100644 Documentation/html/dac12__a_8h_source.html create mode 100644 Documentation/html/dir_0201fb0a75bfb001181cd762468718da.html create mode 100644 Documentation/html/dir_0201fb0a75bfb001181cd762468718da.js create mode 100644 Documentation/html/dir_45fca41ab41fdacd455cd61e009e74cc.html create mode 100644 Documentation/html/dir_45fca41ab41fdacd455cd61e009e74cc.js create mode 100644 Documentation/html/dir_46b95d24c0abe1f4457728e63ee00541.html create mode 100644 Documentation/html/dir_46b95d24c0abe1f4457728e63ee00541.js create mode 100644 Documentation/html/dir_c161f571c8319861135bb5a2c903edf9.html create mode 100644 Documentation/html/dir_c161f571c8319861135bb5a2c903edf9.js create mode 100644 Documentation/html/dma_8c.html create mode 100644 Documentation/html/dma_8c_source.html create mode 100644 Documentation/html/dma_8h.html create mode 100644 Documentation/html/dma_8h_source.html create mode 100644 Documentation/html/driverlib_8h.html create mode 100644 Documentation/html/driverlib_8h_source.html create mode 100644 Documentation/html/eusci__a__spi_8c.html create mode 100644 Documentation/html/eusci__a__spi_8c_source.html create mode 100644 Documentation/html/eusci__a__spi_8h.html create mode 100644 Documentation/html/eusci__a__spi_8h_source.html create mode 100644 Documentation/html/eusci__a__uart_8c.html create mode 100644 Documentation/html/eusci__a__uart_8c_source.html create mode 100644 Documentation/html/eusci__a__uart_8h.html create mode 100644 Documentation/html/eusci__a__uart_8h_source.html create mode 100644 Documentation/html/eusci__b__i2c_8c.html create mode 100644 Documentation/html/eusci__b__i2c_8c_source.html create mode 100644 Documentation/html/eusci__b__i2c_8h.html create mode 100644 Documentation/html/eusci__b__i2c_8h_source.html create mode 100644 Documentation/html/eusci__b__spi_8c.html create mode 100644 Documentation/html/eusci__b__spi_8c_source.html create mode 100644 Documentation/html/eusci__b__spi_8h.html create mode 100644 Documentation/html/eusci__b__spi_8h_source.html create mode 100644 Documentation/html/flashctl_8c.html create mode 100644 Documentation/html/flashctl_8c_source.html create mode 100644 Documentation/html/flashctl_8h.html create mode 100644 Documentation/html/flashctl_8h_source.html create mode 100644 Documentation/html/globals_defs.html create mode 100644 Documentation/html/gpio_8c.html create mode 100644 Documentation/html/gpio_8c_source.html create mode 100644 Documentation/html/gpio_8h.html create mode 100644 Documentation/html/gpio_8h_source.html create mode 100644 Documentation/html/group__adc10__a__api.html create mode 100644 Documentation/html/group__adc12__a__api.html create mode 100644 Documentation/html/group__aes__api.html create mode 100644 Documentation/html/group__battbak__api.html create mode 100644 Documentation/html/group__comp__b__api.html create mode 100644 Documentation/html/group__crc__api.html create mode 100644 Documentation/html/group__ctsd16__api.html create mode 100644 Documentation/html/group__dac12__a__api.html create mode 100644 Documentation/html/group__dma__api.html create mode 100644 Documentation/html/group__eusci__a__spi__api.html create mode 100644 Documentation/html/group__eusci__a__uart__api.html create mode 100644 Documentation/html/group__eusci__b__i2c__api.html create mode 100644 Documentation/html/group__eusci__b__spi__api.html create mode 100644 Documentation/html/group__flashctl__api.html create mode 100644 Documentation/html/group__gpio__api.html create mode 100644 Documentation/html/group__lcd__b__api.html create mode 100644 Documentation/html/group__lcd__c__api.html create mode 100644 Documentation/html/group__ldopwr__api.html create mode 100644 Documentation/html/group__mpy32__api.html create mode 100644 Documentation/html/group__oa__api.html create mode 100644 Documentation/html/group__pmap__api.html create mode 100644 Documentation/html/group__pmm__api.html create mode 100644 Documentation/html/group__ram__api.html create mode 100644 Documentation/html/group__ref__api.html create mode 100644 Documentation/html/group__rtc__a__api.html create mode 100644 Documentation/html/group__rtc__b__api.html create mode 100644 Documentation/html/group__rtc__c__api.html create mode 100644 Documentation/html/group__sd24__b__api.html create mode 100644 Documentation/html/group__sfr__api.html create mode 100644 Documentation/html/group__sysctl__api.html create mode 100644 Documentation/html/group__tec__api.html create mode 100644 Documentation/html/group__timer__a__api.html create mode 100644 Documentation/html/group__timer__b__api.html create mode 100644 Documentation/html/group__timer__d__api.html create mode 100644 Documentation/html/group__tlv__api.html create mode 100644 Documentation/html/group__ucs__api.html create mode 100644 Documentation/html/group__usci__a__spi__api.html create mode 100644 Documentation/html/group__usci__a__uart__api.html create mode 100644 Documentation/html/group__usci__b__i2c__api.html create mode 100644 Documentation/html/group__usci__b__spi__api.html create mode 100644 Documentation/html/group__wdt__a__api.html create mode 100644 Documentation/html/hw__memmap_8h.html create mode 100644 Documentation/html/hw__memmap_8h.js create mode 100644 Documentation/html/hw__memmap_8h_source.html create mode 100644 Documentation/html/lcd__b_8c.html create mode 100644 Documentation/html/lcd__b_8c_source.html create mode 100644 Documentation/html/lcd__b_8h.html create mode 100644 Documentation/html/lcd__b_8h_source.html create mode 100644 Documentation/html/lcd__c_8c.html create mode 100644 Documentation/html/lcd__c_8c_source.html create mode 100644 Documentation/html/lcd__c_8h.html create mode 100644 Documentation/html/lcd__c_8h_source.html create mode 100644 Documentation/html/ldopwr_8c.html create mode 100644 Documentation/html/ldopwr_8c_source.html create mode 100644 Documentation/html/ldopwr_8h.html create mode 100644 Documentation/html/ldopwr_8h_source.html create mode 100644 Documentation/html/lextab_8py.html create mode 100644 Documentation/html/lextab_8py.js create mode 100644 Documentation/html/lextab_8py_source.html create mode 100644 Documentation/html/modules.html create mode 100644 Documentation/html/modules.js create mode 100644 Documentation/html/mpy32_8c.html create mode 100644 Documentation/html/mpy32_8c_source.html create mode 100644 Documentation/html/mpy32_8h.html create mode 100644 Documentation/html/mpy32_8h_source.html create mode 100644 Documentation/html/namespacelextab.html create mode 100644 Documentation/html/namespaces.html create mode 100644 Documentation/html/namespaces_dup.js create mode 100644 Documentation/html/namespaceyacctab.html create mode 100644 Documentation/html/navtreeindex1.js create mode 100644 Documentation/html/oa_8c.html create mode 100644 Documentation/html/oa_8c_source.html create mode 100644 Documentation/html/oa_8h.html create mode 100644 Documentation/html/oa_8h_source.html create mode 100644 Documentation/html/pmap_8c.html create mode 100644 Documentation/html/pmap_8c_source.html create mode 100644 Documentation/html/pmap_8h.html create mode 100644 Documentation/html/pmap_8h_source.html create mode 100644 Documentation/html/pmm_8c.html create mode 100644 Documentation/html/pmm_8c_source.html create mode 100644 Documentation/html/pmm_8h.html create mode 100644 Documentation/html/pmm_8h_source.html create mode 100644 Documentation/html/ram_8c.html create mode 100644 Documentation/html/ram_8c_source.html create mode 100644 Documentation/html/ram_8h.html create mode 100644 Documentation/html/ram_8h_source.html create mode 100644 Documentation/html/ref_8c.html create mode 100644 Documentation/html/ref_8c_source.html create mode 100644 Documentation/html/ref_8h.html create mode 100644 Documentation/html/ref_8h_source.html create mode 100644 Documentation/html/rtc__a_8c.html create mode 100644 Documentation/html/rtc__a_8c_source.html create mode 100644 Documentation/html/rtc__a_8h.html create mode 100644 Documentation/html/rtc__a_8h_source.html create mode 100644 Documentation/html/rtc__b_8c.html create mode 100644 Documentation/html/rtc__b_8c_source.html create mode 100644 Documentation/html/rtc__b_8h.html create mode 100644 Documentation/html/rtc__b_8h_source.html create mode 100644 Documentation/html/rtc__c_8c.html create mode 100644 Documentation/html/rtc__c_8c_source.html create mode 100644 Documentation/html/rtc__c_8h.html create mode 100644 Documentation/html/rtc__c_8h_source.html create mode 100644 Documentation/html/sd24__b_8c.html create mode 100644 Documentation/html/sd24__b_8c_source.html create mode 100644 Documentation/html/sd24__b_8h.html create mode 100644 Documentation/html/sd24__b_8h_source.html create mode 100644 Documentation/html/search/all_10.html create mode 100644 Documentation/html/search/all_10.js create mode 100644 Documentation/html/search/all_11.html create mode 100644 Documentation/html/search/all_11.js create mode 100644 Documentation/html/search/all_12.html create mode 100644 Documentation/html/search/all_12.js create mode 100644 Documentation/html/search/all_13.html create mode 100644 Documentation/html/search/all_13.js create mode 100644 Documentation/html/search/all_14.html create mode 100644 Documentation/html/search/all_14.js create mode 100644 Documentation/html/search/all_15.html create mode 100644 Documentation/html/search/all_15.js create mode 100644 Documentation/html/search/all_7.html create mode 100644 Documentation/html/search/all_7.js create mode 100644 Documentation/html/search/all_8.html create mode 100644 Documentation/html/search/all_8.js create mode 100644 Documentation/html/search/all_9.html create mode 100644 Documentation/html/search/all_9.js create mode 100644 Documentation/html/search/all_a.html create mode 100644 Documentation/html/search/all_a.js create mode 100644 Documentation/html/search/all_b.html create mode 100644 Documentation/html/search/all_b.js create mode 100644 Documentation/html/search/all_c.html create mode 100644 Documentation/html/search/all_c.js create mode 100644 Documentation/html/search/all_d.html create mode 100644 Documentation/html/search/all_d.js create mode 100644 Documentation/html/search/all_e.html create mode 100644 Documentation/html/search/all_e.js create mode 100644 Documentation/html/search/all_f.html create mode 100644 Documentation/html/search/all_f.js create mode 100644 Documentation/html/search/defines_0.html create mode 100644 Documentation/html/search/defines_0.js create mode 100644 Documentation/html/search/defines_1.html create mode 100644 Documentation/html/search/defines_1.js create mode 100644 Documentation/html/search/defines_2.html create mode 100644 Documentation/html/search/defines_2.js create mode 100644 Documentation/html/search/defines_3.html create mode 100644 Documentation/html/search/defines_3.js create mode 100644 Documentation/html/search/defines_4.html create mode 100644 Documentation/html/search/defines_4.js create mode 100644 Documentation/html/search/defines_5.html create mode 100644 Documentation/html/search/defines_5.js create mode 100644 Documentation/html/search/files_10.html create mode 100644 Documentation/html/search/files_10.js create mode 100644 Documentation/html/search/files_11.html create mode 100644 Documentation/html/search/files_11.js create mode 100644 Documentation/html/search/files_12.html create mode 100644 Documentation/html/search/files_12.js create mode 100644 Documentation/html/search/files_13.html create mode 100644 Documentation/html/search/files_13.js create mode 100644 Documentation/html/search/files_5.html create mode 100644 Documentation/html/search/files_5.js create mode 100644 Documentation/html/search/files_6.html create mode 100644 Documentation/html/search/files_6.js create mode 100644 Documentation/html/search/files_7.html create mode 100644 Documentation/html/search/files_7.js create mode 100644 Documentation/html/search/files_8.html create mode 100644 Documentation/html/search/files_8.js create mode 100644 Documentation/html/search/files_9.html create mode 100644 Documentation/html/search/files_9.js create mode 100644 Documentation/html/search/files_a.html create mode 100644 Documentation/html/search/files_a.js create mode 100644 Documentation/html/search/files_b.html create mode 100644 Documentation/html/search/files_b.js create mode 100644 Documentation/html/search/files_c.html create mode 100644 Documentation/html/search/files_c.js create mode 100644 Documentation/html/search/files_d.html create mode 100644 Documentation/html/search/files_d.js create mode 100644 Documentation/html/search/files_e.html create mode 100644 Documentation/html/search/files_e.js create mode 100644 Documentation/html/search/files_f.html create mode 100644 Documentation/html/search/files_f.js create mode 100644 Documentation/html/search/groups_0.html create mode 100644 Documentation/html/search/groups_0.js create mode 100644 Documentation/html/search/groups_1.html create mode 100644 Documentation/html/search/groups_1.js create mode 100644 Documentation/html/search/groups_2.html create mode 100644 Documentation/html/search/groups_2.js create mode 100644 Documentation/html/search/groups_3.html create mode 100644 Documentation/html/search/groups_3.js create mode 100644 Documentation/html/search/groups_4.html create mode 100644 Documentation/html/search/groups_4.js create mode 100644 Documentation/html/search/groups_5.html create mode 100644 Documentation/html/search/groups_5.js create mode 100644 Documentation/html/search/groups_6.html create mode 100644 Documentation/html/search/groups_6.js create mode 100644 Documentation/html/search/groups_7.html create mode 100644 Documentation/html/search/groups_7.js create mode 100644 Documentation/html/search/groups_8.html create mode 100644 Documentation/html/search/groups_8.js create mode 100644 Documentation/html/search/groups_9.html create mode 100644 Documentation/html/search/groups_9.js create mode 100644 Documentation/html/search/groups_a.html create mode 100644 Documentation/html/search/groups_a.js create mode 100644 Documentation/html/search/groups_b.html create mode 100644 Documentation/html/search/groups_b.js create mode 100644 Documentation/html/search/groups_c.html create mode 100644 Documentation/html/search/groups_c.js create mode 100644 Documentation/html/search/groups_d.html create mode 100644 Documentation/html/search/groups_d.js create mode 100644 Documentation/html/search/groups_e.html create mode 100644 Documentation/html/search/groups_e.js create mode 100644 Documentation/html/search/groups_f.html create mode 100644 Documentation/html/search/groups_f.js create mode 100644 Documentation/html/search/namespaces_0.html create mode 100644 Documentation/html/search/namespaces_0.js create mode 100644 Documentation/html/search/namespaces_1.html create mode 100644 Documentation/html/search/namespaces_1.js create mode 100644 Documentation/html/sfr_8c.html create mode 100644 Documentation/html/sfr_8c_source.html create mode 100644 Documentation/html/sfr_8h.html create mode 100644 Documentation/html/sfr_8h_source.html create mode 100644 Documentation/html/sysctl_8c.html create mode 100644 Documentation/html/sysctl_8c_source.html create mode 100644 Documentation/html/sysctl_8h.html create mode 100644 Documentation/html/sysctl_8h_source.html create mode 100644 Documentation/html/tec_8c.html create mode 100644 Documentation/html/tec_8c_source.html create mode 100644 Documentation/html/tec_8h.html create mode 100644 Documentation/html/tec_8h_source.html create mode 100644 Documentation/html/timer__a_8c.html create mode 100644 Documentation/html/timer__a_8c_source.html create mode 100644 Documentation/html/timer__a_8h.html create mode 100644 Documentation/html/timer__a_8h_source.html create mode 100644 Documentation/html/timer__b_8c.html create mode 100644 Documentation/html/timer__b_8c_source.html create mode 100644 Documentation/html/timer__b_8h.html create mode 100644 Documentation/html/timer__b_8h_source.html create mode 100644 Documentation/html/timer__d_8c.html create mode 100644 Documentation/html/timer__d_8c_source.html create mode 100644 Documentation/html/timer__d_8h.html create mode 100644 Documentation/html/timer__d_8h_source.html create mode 100644 Documentation/html/tlv_8c.html create mode 100644 Documentation/html/tlv_8c_source.html create mode 100644 Documentation/html/tlv_8h.html create mode 100644 Documentation/html/tlv_8h_source.html create mode 100644 Documentation/html/ucs_8c.html create mode 100644 Documentation/html/ucs_8c_source.html create mode 100644 Documentation/html/ucs_8h.html create mode 100644 Documentation/html/ucs_8h_source.html create mode 100644 Documentation/html/usci__a__spi_8c.html create mode 100644 Documentation/html/usci__a__spi_8c_source.html create mode 100644 Documentation/html/usci__a__spi_8h.html create mode 100644 Documentation/html/usci__a__spi_8h_source.html create mode 100644 Documentation/html/usci__a__uart_8c.html create mode 100644 Documentation/html/usci__a__uart_8c_source.html create mode 100644 Documentation/html/usci__a__uart_8h.html create mode 100644 Documentation/html/usci__a__uart_8h_source.html create mode 100644 Documentation/html/usci__b__i2c_8c.html create mode 100644 Documentation/html/usci__b__i2c_8c_source.html create mode 100644 Documentation/html/usci__b__i2c_8h.html create mode 100644 Documentation/html/usci__b__i2c_8h_source.html create mode 100644 Documentation/html/usci__b__spi_8c.html create mode 100644 Documentation/html/usci__b__spi_8c_source.html create mode 100644 Documentation/html/usci__b__spi_8h.html create mode 100644 Documentation/html/usci__b__spi_8h_source.html create mode 100644 Documentation/html/version_8h.html create mode 100644 Documentation/html/version_8h.js create mode 100644 Documentation/html/version_8h_source.html create mode 100644 Documentation/html/wdt__a_8c.html create mode 100644 Documentation/html/wdt__a_8c_source.html create mode 100644 Documentation/html/wdt__a_8h.html create mode 100644 Documentation/html/wdt__a_8h_source.html create mode 100644 Documentation/html/yacctab_8py.html create mode 100644 Documentation/html/yacctab_8py.js create mode 100644 Documentation/html/yacctab_8py_source.html create mode 100644 Documentation/latex/adc10__a_8c.tex create mode 100644 Documentation/latex/adc10__a_8h.tex create mode 100644 Documentation/latex/adc12__a_8c.tex create mode 100644 Documentation/latex/adc12__a_8h.tex create mode 100644 Documentation/latex/aes_8c.tex create mode 100644 Documentation/latex/aes_8h.tex create mode 100644 Documentation/latex/battbak_8c.tex create mode 100644 Documentation/latex/battbak_8h.tex create mode 100644 Documentation/latex/comp__b_8c.tex create mode 100644 Documentation/latex/comp__b_8h.tex create mode 100644 Documentation/latex/crc_8c.tex create mode 100644 Documentation/latex/crc_8h.tex create mode 100644 Documentation/latex/ctsd16_8c.tex create mode 100644 Documentation/latex/ctsd16_8h.tex create mode 100644 Documentation/latex/dac12__a_8c.tex create mode 100644 Documentation/latex/dac12__a_8h.tex create mode 100644 Documentation/latex/dir_0201fb0a75bfb001181cd762468718da.tex create mode 100644 Documentation/latex/dir_45fca41ab41fdacd455cd61e009e74cc.tex create mode 100644 Documentation/latex/dir_46b95d24c0abe1f4457728e63ee00541.tex create mode 100644 Documentation/latex/dir_c161f571c8319861135bb5a2c903edf9.tex create mode 100644 Documentation/latex/dma_8c.tex create mode 100644 Documentation/latex/dma_8h.tex create mode 100644 Documentation/latex/driverlib_8h.tex create mode 100644 Documentation/latex/eusci__a__spi_8c.tex create mode 100644 Documentation/latex/eusci__a__spi_8h.tex create mode 100644 Documentation/latex/eusci__a__uart_8c.tex create mode 100644 Documentation/latex/eusci__a__uart_8h.tex create mode 100644 Documentation/latex/eusci__b__i2c_8c.tex create mode 100644 Documentation/latex/eusci__b__i2c_8h.tex create mode 100644 Documentation/latex/eusci__b__spi_8c.tex create mode 100644 Documentation/latex/eusci__b__spi_8h.tex create mode 100644 Documentation/latex/flashctl_8c.tex create mode 100644 Documentation/latex/flashctl_8h.tex create mode 100644 Documentation/latex/gpio_8c.tex create mode 100644 Documentation/latex/gpio_8h.tex create mode 100644 Documentation/latex/group__adc10__a__api.tex create mode 100644 Documentation/latex/group__adc12__a__api.tex create mode 100644 Documentation/latex/group__aes__api.tex create mode 100644 Documentation/latex/group__battbak__api.tex create mode 100644 Documentation/latex/group__comp__b__api.tex create mode 100644 Documentation/latex/group__crc__api.tex create mode 100644 Documentation/latex/group__ctsd16__api.tex create mode 100644 Documentation/latex/group__dac12__a__api.tex create mode 100644 Documentation/latex/group__dma__api.tex create mode 100644 Documentation/latex/group__eusci__a__spi__api.tex create mode 100644 Documentation/latex/group__eusci__a__uart__api.tex create mode 100644 Documentation/latex/group__eusci__b__i2c__api.tex create mode 100644 Documentation/latex/group__eusci__b__spi__api.tex create mode 100644 Documentation/latex/group__flashctl__api.tex create mode 100644 Documentation/latex/group__gpio__api.tex create mode 100644 Documentation/latex/group__lcd__b__api.tex create mode 100644 Documentation/latex/group__lcd__c__api.tex create mode 100644 Documentation/latex/group__ldopwr__api.tex create mode 100644 Documentation/latex/group__mpy32__api.tex create mode 100644 Documentation/latex/group__oa__api.tex create mode 100644 Documentation/latex/group__pmap__api.tex create mode 100644 Documentation/latex/group__pmm__api.tex create mode 100644 Documentation/latex/group__ram__api.tex create mode 100644 Documentation/latex/group__ref__api.tex create mode 100644 Documentation/latex/group__rtc__a__api.tex create mode 100644 Documentation/latex/group__rtc__b__api.tex create mode 100644 Documentation/latex/group__rtc__c__api.tex create mode 100644 Documentation/latex/group__sd24__b__api.tex create mode 100644 Documentation/latex/group__sfr__api.tex create mode 100644 Documentation/latex/group__sysctl__api.tex create mode 100644 Documentation/latex/group__tec__api.tex create mode 100644 Documentation/latex/group__timer__a__api.tex create mode 100644 Documentation/latex/group__timer__b__api.tex create mode 100644 Documentation/latex/group__timer__d__api.tex create mode 100644 Documentation/latex/group__tlv__api.tex create mode 100644 Documentation/latex/group__ucs__api.tex create mode 100644 Documentation/latex/group__usci__a__spi__api.tex create mode 100644 Documentation/latex/group__usci__a__uart__api.tex create mode 100644 Documentation/latex/group__usci__b__i2c__api.tex create mode 100644 Documentation/latex/group__usci__b__spi__api.tex create mode 100644 Documentation/latex/group__wdt__a__api.tex create mode 100644 Documentation/latex/hw__memmap_8h.tex create mode 100644 Documentation/latex/lcd__b_8c.tex create mode 100644 Documentation/latex/lcd__b_8h.tex create mode 100644 Documentation/latex/lcd__c_8c.tex create mode 100644 Documentation/latex/lcd__c_8h.tex create mode 100644 Documentation/latex/ldopwr_8c.tex create mode 100644 Documentation/latex/ldopwr_8h.tex create mode 100644 Documentation/latex/lextab_8py.tex create mode 100644 Documentation/latex/modules.tex create mode 100644 Documentation/latex/mpy32_8c.tex create mode 100644 Documentation/latex/mpy32_8h.tex create mode 100644 Documentation/latex/namespacelextab.tex create mode 100644 Documentation/latex/namespaces.tex create mode 100644 Documentation/latex/namespaceyacctab.tex create mode 100644 Documentation/latex/oa_8c.tex create mode 100644 Documentation/latex/oa_8h.tex create mode 100644 Documentation/latex/pmap_8c.tex create mode 100644 Documentation/latex/pmap_8h.tex create mode 100644 Documentation/latex/pmm_8c.tex create mode 100644 Documentation/latex/pmm_8h.tex create mode 100644 Documentation/latex/ram_8c.tex create mode 100644 Documentation/latex/ram_8h.tex create mode 100644 Documentation/latex/ref_8c.tex create mode 100644 Documentation/latex/ref_8h.tex create mode 100644 Documentation/latex/rtc__a_8c.tex create mode 100644 Documentation/latex/rtc__a_8h.tex create mode 100644 Documentation/latex/rtc__b_8c.tex create mode 100644 Documentation/latex/rtc__b_8h.tex create mode 100644 Documentation/latex/rtc__c_8c.tex create mode 100644 Documentation/latex/rtc__c_8h.tex create mode 100644 Documentation/latex/sd24__b_8c.tex create mode 100644 Documentation/latex/sd24__b_8h.tex create mode 100644 Documentation/latex/sfr_8c.tex create mode 100644 Documentation/latex/sfr_8h.tex create mode 100644 Documentation/latex/sysctl_8c.tex create mode 100644 Documentation/latex/sysctl_8h.tex create mode 100644 Documentation/latex/tec_8c.tex create mode 100644 Documentation/latex/tec_8h.tex create mode 100644 Documentation/latex/timer__a_8c.tex create mode 100644 Documentation/latex/timer__a_8h.tex create mode 100644 Documentation/latex/timer__b_8c.tex create mode 100644 Documentation/latex/timer__b_8h.tex create mode 100644 Documentation/latex/timer__d_8c.tex create mode 100644 Documentation/latex/timer__d_8h.tex create mode 100644 Documentation/latex/tlv_8c.tex create mode 100644 Documentation/latex/tlv_8h.tex create mode 100644 Documentation/latex/ucs_8c.tex create mode 100644 Documentation/latex/ucs_8h.tex create mode 100644 Documentation/latex/usci__a__spi_8c.tex create mode 100644 Documentation/latex/usci__a__spi_8h.tex create mode 100644 Documentation/latex/usci__a__uart_8c.tex create mode 100644 Documentation/latex/usci__a__uart_8h.tex create mode 100644 Documentation/latex/usci__b__i2c_8c.tex create mode 100644 Documentation/latex/usci__b__i2c_8h.tex create mode 100644 Documentation/latex/usci__b__spi_8c.tex create mode 100644 Documentation/latex/usci__b__spi_8h.tex create mode 100644 Documentation/latex/version_8h.tex create mode 100644 Documentation/latex/wdt__a_8c.tex create mode 100644 Documentation/latex/wdt__a_8h.tex create mode 100644 Documentation/latex/yacctab_8py.tex diff --git a/Documentation/html/_9_hardware_8markdown.html b/Documentation/html/_9_hardware_8markdown.html index ea8ea88..ed62975 100644 --- a/Documentation/html/_9_hardware_8markdown.html +++ b/Documentation/html/_9_hardware_8markdown.html @@ -98,7 +98,7 @@ $(document).ready(function(){initNavTree('_9_hardware_8markdown.html',''); initR diff --git a/Documentation/html/_9_software_8markdown.html b/Documentation/html/_9_software_8markdown.html index 1cd5425..05d2a26 100644 --- a/Documentation/html/_9_software_8markdown.html +++ b/Documentation/html/_9_software_8markdown.html @@ -98,7 +98,7 @@ $(document).ready(function(){initNavTree('_9_software_8markdown.html',''); initR diff --git a/Documentation/html/_design_01_choices_8markdown.html b/Documentation/html/_design_01_choices_8markdown.html index 80689e8..e9d79bc 100644 --- a/Documentation/html/_design_01_choices_8markdown.html +++ b/Documentation/html/_design_01_choices_8markdown.html @@ -98,7 +98,7 @@ $(document).ready(function(){initNavTree('_design_01_choices_8markdown.html','') diff --git a/Documentation/html/_device_01_specifications_8markdown.html b/Documentation/html/_device_01_specifications_8markdown.html index f8b1024..140d5c9 100644 --- a/Documentation/html/_device_01_specifications_8markdown.html +++ b/Documentation/html/_device_01_specifications_8markdown.html @@ -98,7 +98,7 @@ $(document).ready(function(){initNavTree('_device_01_specifications_8markdown.ht diff --git a/Documentation/html/_documentation_01_guide_8markdown.html b/Documentation/html/_documentation_01_guide_8markdown.html index d128319..dc99b23 100644 --- a/Documentation/html/_documentation_01_guide_8markdown.html +++ b/Documentation/html/_documentation_01_guide_8markdown.html @@ -98,7 +98,7 @@ $(document).ready(function(){initNavTree('_documentation_01_guide_8markdown.html diff --git a/Documentation/html/_r_e_a_d_m_e_8markdown.html b/Documentation/html/_r_e_a_d_m_e_8markdown.html index 4904ced..06d02b6 100644 --- a/Documentation/html/_r_e_a_d_m_e_8markdown.html +++ b/Documentation/html/_r_e_a_d_m_e_8markdown.html @@ -98,7 +98,7 @@ $(document).ready(function(){initNavTree('_r_e_a_d_m_e_8markdown.html',''); init diff --git a/Documentation/html/adc10__a_8c.html b/Documentation/html/adc10__a_8c.html new file mode 100644 index 0000000..efab54e --- /dev/null +++ b/Documentation/html/adc10__a_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/adc10_a.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
adc10_a.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/adc10__a_8c_source.html b/Documentation/html/adc10__a_8c_source.html new file mode 100644 index 0000000..ee40ec8 --- /dev/null +++ b/Documentation/html/adc10__a_8c_source.html @@ -0,0 +1,316 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/adc10_a.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
adc10_a.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // adc10_a.c - Driver for the adc10_a Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_ADC10_A__
+
17 #include "adc10_a.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 bool ADC10_A_init (uint16_t baseAddress,
+
22  uint16_t sampleHoldSignalSourceSelect,
+
23  uint8_t clockSourceSelect,
+
24  uint16_t clockSourceDivider)
+
25 {
+
26  bool retVal = STATUS_SUCCESS;
+
27 
+
28  //Turn OFF ADC10_A Module & Clear Interrupt Registers
+
29  HWREG16(baseAddress + OFS_ADC10IFG) &= 0x0000; //Reset ALL interrupt flags
+
30 
+
31  //Set ADC10_A Control 1
+
32  HWREG16(baseAddress + OFS_ADC10CTL1) =
+
33  sampleHoldSignalSourceSelect //Setup the Sample-and-Hold Source
+
34  + (clockSourceDivider & ADC10DIV_7) //Set Clock Divider
+
35  + clockSourceSelect; //Setup Clock Source
+
36 
+
37  //Set ADC10_A Control 2
+
38  HWREG16(baseAddress + OFS_ADC10CTL2) =
+
39  (clockSourceDivider & (ADC10PDIV_1 | ADC10PDIV_2)) //Set Clock Pre-Divider
+
40  + ADC10RES; //Default resolution to 10-bits
+
41 
+
42  return ( retVal) ;
+
43 }
+
44 
+
45 void ADC10_A_enable (uint16_t baseAddress)
+
46 {
+
47  //Reset the ADC10ON bit to enable the ADC10_A Module
+
48  HWREG16(baseAddress + OFS_ADC10CTL0) |= ADC10ON;
+
49 }
+
50 
+
51 void ADC10_A_disable (uint16_t baseAddress)
+
52 {
+
53  //Set the ADC10ON bit to disable the ADC10_A Module
+
54  HWREG16(baseAddress + OFS_ADC10CTL0) &= ~ADC10ON;
+
55 }
+
56 
+
57 void ADC10_A_setupSamplingTimer (uint16_t baseAddress,
+
58  uint16_t clockCycleHoldCount,
+
59  uint16_t multipleSamplesEnabled)
+
60 {
+
61  HWREG16(baseAddress + OFS_ADC10CTL1) |= ADC10SHP;
+
62 
+
63  //Reset and Set CB Control 0 Bits
+
64  HWREG16(baseAddress + OFS_ADC10CTL0) &= ~(ADC10SHT_15 + ADC10MSC);
+
65  HWREG16(baseAddress + OFS_ADC10CTL0) |= clockCycleHoldCount
+
66  + multipleSamplesEnabled;
+
67 }
+
68 
+
69 void ADC10_A_disableSamplingTimer (uint16_t baseAddress)
+
70 {
+
71  HWREG16(baseAddress + OFS_ADC10CTL1) &= ~(ADC10SHP);
+
72 }
+
73 
+
74 void ADC10_A_configureMemory (uint16_t baseAddress,
+
75  uint8_t inputSourceSelect,
+
76  uint8_t positiveRefVoltageSourceSelect,
+
77  uint8_t negativeRefVoltageSourceSelect)
+
78 {
+
79  //Make sure the ENC bit is cleared before configuring a Memory Buffer Control
+
80  assert( !(HWREG16(baseAddress + OFS_ADC10CTL0) & ADC10ENC) );
+
81 
+
82  if(!(HWREG16(baseAddress + OFS_ADC10CTL0) & ADC10ENC))
+
83  {
+
84  assert(inputSourceSelect <= ADC10_A_INPUT_A15);
+
85  assert(positiveRefVoltageSourceSelect <= ADC10_A_VREFPOS_INT);
+
86  assert(negativeRefVoltageSourceSelect <= ADC10_A_VREFNEG_EXT);
+
87 
+
88  //Reset and Set the Memory Buffer Control Bits
+
89  HWREG8(baseAddress + OFS_ADC10MCTL0) = inputSourceSelect
+
90  + positiveRefVoltageSourceSelect +
+
91  negativeRefVoltageSourceSelect;
+
92  }
+
93 }
+
94 
+
95 void ADC10_A_enableInterrupt (uint16_t baseAddress,
+
96  uint8_t interruptMask)
+
97 {
+
98  HWREG16(baseAddress + OFS_ADC10IE) |= interruptMask;
+
99 }
+
100 
+
101 void ADC10_A_disableInterrupt (uint16_t baseAddress,
+
102  uint8_t interruptMask)
+
103 {
+
104  HWREG16(baseAddress + OFS_ADC10IE) &= ~(interruptMask);
+
105 }
+
106 
+
107 void ADC10_A_clearInterrupt (uint16_t baseAddress,
+
108  uint8_t interruptFlagMask)
+
109 {
+
110  HWREG16(baseAddress + OFS_ADC10IFG) &= ~(interruptFlagMask);
+
111 }
+
112 
+
113 uint16_t ADC10_A_getInterruptStatus (uint16_t baseAddress,
+
114  uint8_t interruptFlagMask)
+
115 {
+
116  return ( HWREG16(baseAddress + OFS_ADC10IFG) & interruptFlagMask );
+
117 }
+
118 
+
119 void ADC10_A_startConversion (uint16_t baseAddress,
+
120  uint8_t conversionSequenceModeSelect)
+
121 {
+
122  //Reset the ENC bit to set the conversion mode sequence
+
123  HWREG16(baseAddress + OFS_ADC10CTL0) &= ~(ADC10ENC);
+
124 
+
125  HWREG16(baseAddress + OFS_ADC10CTL1) |= conversionSequenceModeSelect;
+
126  HWREG16(baseAddress + OFS_ADC10CTL0) |= ADC10ENC + ADC10SC;
+
127 }
+
128 
+
129 void ADC10_A_disableConversions (uint16_t baseAddress, bool preempt)
+
130 {
+
131  if (ADC10_A_PREEMPTCONVERSION == preempt){
+
132  HWREG16(baseAddress + OFS_ADC10CTL1) &= ~(ADC10CONSEQ_3);
+
133  //Reset conversion sequence mode to single-channel, single-conversion
+
134  } else if ( ~(HWREG16(baseAddress + OFS_ADC10CTL1) & ADC10CONSEQ_3) ){
+
135  //To prevent preemoption of a single-channel, single-conversion we must
+
136  //wait for the ADC core to finish the conversion.
+
137  while (HWREG16(baseAddress + OFS_ADC10CTL1) & ADC10BUSY) ;
+
138  }
+
139 
+
140  HWREG16(baseAddress + OFS_ADC10CTL0) &= ~(ADC10ENC);
+
141 }
+
142 
+
143 int16_t ADC10_A_getResults (uint16_t baseAddress)
+
144 {
+
145  return ( HWREG16(baseAddress + OFS_ADC10MEM0) );
+
146 }
+
147 
+
148 void ADC10_A_setResolution (uint16_t baseAddress,
+
149  uint8_t resolutionSelect)
+
150 {
+
151  HWREG16(baseAddress + OFS_ADC10CTL2) &= ~(ADC10RES);
+
152  HWREG16(baseAddress + OFS_ADC10CTL2) |= resolutionSelect;
+
153 }
+
154 
+
155 void ADC10_A_setSampleHoldSignalInversion (uint16_t baseAddress,
+
156  uint16_t invertedSignal)
+
157 {
+
158  HWREG16(baseAddress + OFS_ADC10CTL1) &= ~(ADC10ISSH);
+
159  HWREG16(baseAddress + OFS_ADC10CTL1) |= invertedSignal;
+
160 }
+
161 
+
162 void ADC10_A_setDataReadBackFormat (uint16_t baseAddress,
+
163  uint16_t readBackFormat)
+
164 {
+
165  HWREG16(baseAddress + OFS_ADC10CTL2) &= ~(ADC10DF);
+
166  HWREG16(baseAddress + OFS_ADC10CTL2) |= readBackFormat;
+
167 }
+
168 
+
169 void ADC10_A_enableReferenceBurst (uint16_t baseAddress)
+
170 {
+
171  HWREG16(baseAddress + OFS_ADC10CTL2) |= ADC10REFBURST;
+
172 }
+
173 
+
174 void ADC10_A_disableReferenceBurst (uint16_t baseAddress)
+
175 {
+
176  HWREG16(baseAddress + OFS_ADC10CTL2) &= ~(ADC10REFBURST);
+
177 }
+
178 
+
179 void ADC10_A_setReferenceBufferSamplingRate (uint16_t baseAddress,
+
180  uint16_t samplingRateSelect)
+
181 {
+
182  HWREG16(baseAddress + OFS_ADC10CTL2) &= ~(ADC10SR);
+
183  HWREG16(baseAddress + OFS_ADC10CTL2) |= samplingRateSelect;
+
184 }
+
185 
+
186 void ADC10_A_setWindowComp (uint16_t baseAddress,
+
187  uint16_t highThreshold,
+
188  uint16_t lowThreshold)
+
189 {
+
190  HWREG16(baseAddress + OFS_ADC10HI) = highThreshold;
+
191  HWREG16(baseAddress + OFS_ADC10LO) = lowThreshold;
+
192 }
+
193 
+
194 uint32_t ADC10_A_getMemoryAddressForDMA (uint16_t baseAddress)
+
195 {
+
196  return ( baseAddress + OFS_ADC10MEM0 );
+
197 }
+
198 
+
199 uint16_t ADC10_A_isBusy (uint16_t baseAddress)
+
200 {
+
201  return (HWREG16(baseAddress + OFS_ADC10CTL1) & ADC10BUSY);
+
202 }
+
203 
+
204 #endif
+
205 //*****************************************************************************
+
206 //
+
209 //
+
210 //*****************************************************************************
+ + +
#define HWREG8(x)
Definition: hw_memmap.h:41
+
#define HWREG16(x)
Definition: hw_memmap.h:39
+
#define STATUS_SUCCESS
Definition: hw_memmap.h:22
+
+
+ + + + diff --git a/Documentation/html/adc10__a_8h.html b/Documentation/html/adc10__a_8h.html new file mode 100644 index 0000000..0795703 --- /dev/null +++ b/Documentation/html/adc10__a_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/adc10_a.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
adc10_a.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/adc10__a_8h_source.html b/Documentation/html/adc10__a_8h_source.html new file mode 100644 index 0000000..7ed411b --- /dev/null +++ b/Documentation/html/adc10__a_8h_source.html @@ -0,0 +1,516 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/adc10_a.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
adc10_a.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // adc10_a.h - Driver for the ADC10_A Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_ADC10_A_H__
+
8 #define __MSP430WARE_ADC10_A_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_ADC10_A__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 //*****************************************************************************
+
26 //
+
27 // The following are values that can be passed to the clockSourceSelect
+
28 // parameter for functions: ADC10_A_init().
+
29 //
+
30 //*****************************************************************************
+
31 #define ADC10_A_CLOCKSOURCE_ADC10OSC (ADC10SSEL_0)
+
32 #define ADC10_A_CLOCKSOURCE_ACLK (ADC10SSEL_1)
+
33 #define ADC10_A_CLOCKSOURCE_MCLK (ADC10SSEL_2)
+
34 #define ADC10_A_CLOCKSOURCE_SMCLK (ADC10SSEL_3)
+
35 
+
36 //*****************************************************************************
+
37 //
+
38 // The following are values that can be passed to the clockSourceDivider
+
39 // parameter for functions: ADC10_A_init().
+
40 //
+
41 //*****************************************************************************
+
42 #define ADC10_A_CLOCKDIVIDER_1 (ADC10DIV_0 + ADC10PDIV_0)
+
43 #define ADC10_A_CLOCKDIVIDER_2 (ADC10DIV_1 + ADC10PDIV_0)
+
44 #define ADC10_A_CLOCKDIVIDER_3 (ADC10DIV_2 + ADC10PDIV_0)
+
45 #define ADC10_A_CLOCKDIVIDER_4 (ADC10DIV_3 + ADC10PDIV_0)
+
46 #define ADC10_A_CLOCKDIVIDER_5 (ADC10DIV_4 + ADC10PDIV_0)
+
47 #define ADC10_A_CLOCKDIVIDER_6 (ADC10DIV_5 + ADC10PDIV_0)
+
48 #define ADC10_A_CLOCKDIVIDER_7 (ADC10DIV_6 + ADC10PDIV_0)
+
49 #define ADC10_A_CLOCKDIVIDER_8 (ADC10DIV_7 + ADC10PDIV_0)
+
50 #define ADC10_A_CLOCKDIVIDER_12 (ADC10DIV_2 + ADC10PDIV_1)
+
51 #define ADC10_A_CLOCKDIVIDER_16 (ADC10DIV_3 + ADC10PDIV_1)
+
52 #define ADC10_A_CLOCKDIVIDER_20 (ADC10DIV_4 + ADC10PDIV_1)
+
53 #define ADC10_A_CLOCKDIVIDER_24 (ADC10DIV_5 + ADC10PDIV_1)
+
54 #define ADC10_A_CLOCKDIVIDER_28 (ADC10DIV_6 + ADC10PDIV_1)
+
55 #define ADC10_A_CLOCKDIVIDER_32 (ADC10DIV_7 + ADC10PDIV_1)
+
56 #define ADC10_A_CLOCKDIVIDER_64 (ADC10DIV_0 + ADC10PDIV_2)
+
57 #define ADC10_A_CLOCKDIVIDER_128 (ADC10DIV_1 + ADC10PDIV_2)
+
58 #define ADC10_A_CLOCKDIVIDER_192 (ADC10DIV_2 + ADC10PDIV_2)
+
59 #define ADC10_A_CLOCKDIVIDER_256 (ADC10DIV_3 + ADC10PDIV_2)
+
60 #define ADC10_A_CLOCKDIVIDER_320 (ADC10DIV_4 + ADC10PDIV_2)
+
61 #define ADC10_A_CLOCKDIVIDER_384 (ADC10DIV_5 + ADC10PDIV_2)
+
62 #define ADC10_A_CLOCKDIVIDER_448 (ADC10DIV_6 + ADC10PDIV_2)
+
63 #define ADC10_A_CLOCKDIVIDER_512 (ADC10DIV_7 + ADC10PDIV_2)
+
64 
+
65 //*****************************************************************************
+
66 //
+
67 // The following are values that can be passed to the
+
68 // sampleHoldSignalSourceSelect parameter for functions: ADC10_A_init().
+
69 //
+
70 //*****************************************************************************
+
71 #define ADC10_A_SAMPLEHOLDSOURCE_SC (ADC10SHS_0)
+
72 #define ADC10_A_SAMPLEHOLDSOURCE_1 (ADC10SHS_1)
+
73 #define ADC10_A_SAMPLEHOLDSOURCE_2 (ADC10SHS_2)
+
74 #define ADC10_A_SAMPLEHOLDSOURCE_3 (ADC10SHS_3)
+
75 
+
76 //*****************************************************************************
+
77 //
+
78 // The following are values that can be passed to the multipleSamplesEnabled
+
79 // parameter for functions: ADC10_A_setupSamplingTimer().
+
80 //
+
81 //*****************************************************************************
+
82 #define ADC10_A_MULTIPLESAMPLESDISABLE (!(ADC10MSC))
+
83 #define ADC10_A_MULTIPLESAMPLESENABLE (ADC10MSC)
+
84 
+
85 //*****************************************************************************
+
86 //
+
87 // The following are values that can be passed to the clockCycleHoldCount
+
88 // parameter for functions: ADC10_A_setupSamplingTimer().
+
89 //
+
90 //*****************************************************************************
+
91 #define ADC10_A_CYCLEHOLD_4_CYCLES (ADC10SHT_0)
+
92 #define ADC10_A_CYCLEHOLD_8_CYCLES (ADC10SHT_1)
+
93 #define ADC10_A_CYCLEHOLD_16_CYCLES (ADC10SHT_2)
+
94 #define ADC10_A_CYCLEHOLD_32_CYCLES (ADC10SHT_3)
+
95 #define ADC10_A_CYCLEHOLD_64_CYCLES (ADC10SHT_4)
+
96 #define ADC10_A_CYCLEHOLD_96_CYCLES (ADC10SHT_5)
+
97 #define ADC10_A_CYCLEHOLD_128_CYCLES (ADC10SHT_6)
+
98 #define ADC10_A_CYCLEHOLD_192_CYCLES (ADC10SHT_7)
+
99 #define ADC10_A_CYCLEHOLD_256_CYCLES (ADC10SHT_8)
+
100 #define ADC10_A_CYCLEHOLD_384_CYCLES (ADC10SHT_9)
+
101 #define ADC10_A_CYCLEHOLD_512_CYCLES (ADC10SHT_10)
+
102 #define ADC10_A_CYCLEHOLD_768_CYCLES (ADC10SHT_11)
+
103 #define ADC10_A_CYCLEHOLD_1024_CYCLES (ADC10SHT_12)
+
104 
+
105 //*****************************************************************************
+
106 //
+
107 // The following are values that can be passed to the
+
108 // positiveRefVoltageSourceSelect parameter for functions:
+
109 // ADC10_A_configureMemory().
+
110 //
+
111 //*****************************************************************************
+
112 #define ADC10_A_VREFPOS_AVCC (!(ADC10SREF0 + ADC10SREF1))
+
113 #define ADC10_A_VREFPOS_EXT (ADC10SREF1)
+
114 #define ADC10_A_VREFPOS_INT (ADC10SREF0)
+
115 
+
116 //*****************************************************************************
+
117 //
+
118 // The following are values that can be passed to the inputSourceSelect
+
119 // parameter for functions: ADC10_A_configureMemory().
+
120 //
+
121 //*****************************************************************************
+
122 #define ADC10_A_INPUT_A0 (ADC10INCH_0)
+
123 #define ADC10_A_INPUT_A1 (ADC10INCH_1)
+
124 #define ADC10_A_INPUT_A2 (ADC10INCH_2)
+
125 #define ADC10_A_INPUT_A3 (ADC10INCH_3)
+
126 #define ADC10_A_INPUT_A4 (ADC10INCH_4)
+
127 #define ADC10_A_INPUT_A5 (ADC10INCH_5)
+
128 #define ADC10_A_INPUT_A6 (ADC10INCH_6)
+
129 #define ADC10_A_INPUT_A7 (ADC10INCH_7)
+
130 #define ADC10_A_INPUT_A8 (ADC10INCH_8)
+
131 #define ADC10_A_INPUT_A9 (ADC10INCH_9)
+
132 #define ADC10_A_INPUT_TEMPSENSOR (ADC10INCH_10)
+
133 #define ADC10_A_INPUT_BATTERYMONITOR (ADC10INCH_11)
+
134 #define ADC10_A_INPUT_A12 (ADC10INCH_12)
+
135 #define ADC10_A_INPUT_A13 (ADC10INCH_13)
+
136 #define ADC10_A_INPUT_A14 (ADC10INCH_14)
+
137 #define ADC10_A_INPUT_A15 (ADC10INCH_15)
+
138 
+
139 //*****************************************************************************
+
140 //
+
141 // The following are values that can be passed to the
+
142 // negativeRefVoltageSourceSelect parameter for functions:
+
143 // ADC10_A_configureMemory().
+
144 //
+
145 //*****************************************************************************
+
146 #define ADC10_A_VREFNEG_AVSS (!(ADC10SREF2))
+
147 #define ADC10_A_VREFNEG_EXT (ADC10SREF2)
+
148 
+
149 //*****************************************************************************
+
150 //
+
151 // The following are values that can be passed to the interruptMask parameter
+
152 // for functions: ADC10_A_enableInterrupt(), and ADC10_A_disableInterrupt().
+
153 //
+
154 //*****************************************************************************
+
155 #define ADC10_A_TIMEOVERFLOW_INT (ADC10TOVIE)
+
156 #define ADC10_A_OVERFLOW_INT (ADC10OVIE)
+
157 #define ADC10_A_ABOVETHRESHOLD_INT (ADC10HIIE)
+
158 #define ADC10_A_BELOWTHRESHOLD_INT (ADC10LOIE)
+
159 #define ADC10_A_INSIDEWINDOW_INT (ADC10INIE)
+
160 #define ADC10_A_COMPLETED_INT (ADC10IE0)
+
161 
+
162 //*****************************************************************************
+
163 //
+
164 // The following are values that can be passed to the interruptFlagMask
+
165 // parameter for functions: ADC10_A_clearInterrupt(), and
+
166 // ADC10_A_getInterruptStatus().
+
167 //
+
168 //*****************************************************************************
+
169 #define ADC10_A_TIMEOVERFLOW_INTFLAG (ADC10TOVIFG)
+
170 #define ADC10_A_OVERFLOW_INTFLAG (ADC10OVIFG)
+
171 #define ADC10_A_ABOVETHRESHOLD_INTFLAG (ADC10HIIFG)
+
172 #define ADC10_A_BELOWTHRESHOLD_INTFLAG (ADC10LOIFG)
+
173 #define ADC10_A_INSIDEWINDOW_INTFLAG (ADC10INIFG)
+
174 #define ADC10_A_COMPLETED_INTFLAG (ADC10IFG0)
+
175 
+
176 //*****************************************************************************
+
177 //
+
178 // The following are values that can be passed to the
+
179 // conversionSequenceModeSelect parameter for functions:
+
180 // ADC10_A_startConversion().
+
181 //
+
182 //*****************************************************************************
+
183 #define ADC10_A_SINGLECHANNEL (ADC10CONSEQ_0)
+
184 #define ADC10_A_SEQOFCHANNELS (ADC10CONSEQ_1)
+
185 #define ADC10_A_REPEATED_SINGLECHANNEL (ADC10CONSEQ_2)
+
186 #define ADC10_A_REPEATED_SEQOFCHANNELS (ADC10CONSEQ_3)
+
187 
+
188 //*****************************************************************************
+
189 //
+
190 // The following are values that can be passed to the preempt parameter for
+
191 // functions: ADC10_A_disableConversions().
+
192 //
+
193 //*****************************************************************************
+
194 #define ADC10_A_COMPLETECONVERSION false
+
195 #define ADC10_A_PREEMPTCONVERSION true
+
196 
+
197 //*****************************************************************************
+
198 //
+
199 // The following are values that can be passed to the resolutionSelect
+
200 // parameter for functions: ADC10_A_setResolution().
+
201 //
+
202 //*****************************************************************************
+
203 #define ADC10_A_RESOLUTION_8BIT (!(ADC10RES))
+
204 #define ADC10_A_RESOLUTION_10BIT (ADC10RES)
+
205 
+
206 //*****************************************************************************
+
207 //
+
208 // The following are values that can be passed to the invertedSignal parameter
+
209 // for functions: ADC10_A_setSampleHoldSignalInversion().
+
210 //
+
211 //*****************************************************************************
+
212 #define ADC10_A_NONINVERTEDSIGNAL (!(ADC10ISSH))
+
213 #define ADC10_A_INVERTEDSIGNAL (ADC10ISSH)
+
214 
+
215 //*****************************************************************************
+
216 //
+
217 // The following are values that can be passed to the readBackFormat parameter
+
218 // for functions: ADC10_A_setDataReadBackFormat().
+
219 //
+
220 //*****************************************************************************
+
221 #define ADC10_A_UNSIGNED_BINARY (!(ADC10DF))
+
222 #define ADC10_A_SIGNED_2SCOMPLEMENT (ADC10DF)
+
223 
+
224 //*****************************************************************************
+
225 //
+
226 // The following are values that can be passed to the samplingRateSelect
+
227 // parameter for functions: ADC10_A_setReferenceBufferSamplingRate().
+
228 //
+
229 //*****************************************************************************
+
230 #define ADC10_A_MAXSAMPLINGRATE_200KSPS (!(ADC10SR))
+
231 #define ADC10_A_MAXSAMPLINGRATE_50KSPS (ADC10SR)
+
232 
+
233 //*****************************************************************************
+
234 //
+
235 // The following are values that can be passed toThe following are values that
+
236 // can be returned by the ADC10_A_isBusy() function.
+
237 //
+
238 //*****************************************************************************
+
239 #define ADC10_A_BUSY ADC10BUSY
+
240 #define ADC10_A_NOTBUSY 0x00
+
241 
+
242 //*****************************************************************************
+
243 //
+
244 // Prototypes for the APIs.
+
245 //
+
246 //*****************************************************************************
+
247 
+
248 //*****************************************************************************
+
249 //
+
313 //
+
314 //*****************************************************************************
+
315 extern bool ADC10_A_init(uint16_t baseAddress,
+
316  uint16_t sampleHoldSignalSourceSelect,
+
317  uint8_t clockSourceSelect,
+
318  uint16_t clockSourceDivider);
+
319 
+
320 //*****************************************************************************
+
321 //
+
331 //
+
332 //*****************************************************************************
+
333 extern void ADC10_A_enable(uint16_t baseAddress);
+
334 
+
335 //*****************************************************************************
+
336 //
+
346 //
+
347 //*****************************************************************************
+
348 extern void ADC10_A_disable(uint16_t baseAddress);
+
349 
+
350 //*****************************************************************************
+
351 //
+
391 //
+
392 //*****************************************************************************
+
393 extern void ADC10_A_setupSamplingTimer(uint16_t baseAddress,
+
394  uint16_t clockCycleHoldCount,
+
395  uint16_t multipleSamplesEnabled);
+
396 
+
397 //*****************************************************************************
+
398 //
+
408 //
+
409 //*****************************************************************************
+
410 extern void ADC10_A_disableSamplingTimer(uint16_t baseAddress);
+
411 
+
412 //*****************************************************************************
+
413 //
+
463 //
+
464 //*****************************************************************************
+
465 extern void ADC10_A_configureMemory(uint16_t baseAddress,
+
466  uint8_t inputSourceSelect,
+
467  uint8_t positiveRefVoltageSourceSelect,
+
468  uint8_t negativeRefVoltageSourceSelect);
+
469 
+
470 //*****************************************************************************
+
471 //
+
498 //
+
499 //*****************************************************************************
+
500 extern void ADC10_A_enableInterrupt(uint16_t baseAddress,
+
501  uint8_t interruptMask);
+
502 
+
503 //*****************************************************************************
+
504 //
+
531 //
+
532 //*****************************************************************************
+
533 extern void ADC10_A_disableInterrupt(uint16_t baseAddress,
+
534  uint8_t interruptMask);
+
535 
+
536 //*****************************************************************************
+
537 //
+
566 //
+
567 //*****************************************************************************
+
568 extern void ADC10_A_clearInterrupt(uint16_t baseAddress,
+
569  uint8_t interruptFlagMask);
+
570 
+
571 //*****************************************************************************
+
572 //
+
597 //
+
598 //*****************************************************************************
+
599 extern uint16_t ADC10_A_getInterruptStatus(uint16_t baseAddress,
+
600  uint8_t interruptFlagMask);
+
601 
+
602 //*****************************************************************************
+
603 //
+
644 //
+
645 //*****************************************************************************
+
646 extern void ADC10_A_startConversion(uint16_t baseAddress,
+
647  uint8_t conversionSequenceModeSelect);
+
648 
+
649 //*****************************************************************************
+
650 //
+
678 //
+
679 //*****************************************************************************
+
680 extern void ADC10_A_disableConversions(uint16_t baseAddress,
+
681  bool preempt);
+
682 
+
683 //*****************************************************************************
+
684 //
+
697 //
+
698 //*****************************************************************************
+
699 extern int16_t ADC10_A_getResults(uint16_t baseAddress);
+
700 
+
701 //*****************************************************************************
+
702 //
+
716 //
+
717 //*****************************************************************************
+
718 extern void ADC10_A_setResolution(uint16_t baseAddress,
+
719  uint8_t resolutionSelect);
+
720 
+
721 //*****************************************************************************
+
722 //
+
742 //
+
743 //*****************************************************************************
+
744 extern void ADC10_A_setSampleHoldSignalInversion(uint16_t baseAddress,
+
745  uint16_t invertedSignal);
+
746 
+
747 //*****************************************************************************
+
748 //
+
767 //
+
768 //*****************************************************************************
+
769 extern void ADC10_A_setDataReadBackFormat(uint16_t baseAddress,
+
770  uint16_t readBackFormat);
+
771 
+
772 //*****************************************************************************
+
773 //
+
783 //
+
784 //*****************************************************************************
+
785 extern void ADC10_A_enableReferenceBurst(uint16_t baseAddress);
+
786 
+
787 //*****************************************************************************
+
788 //
+
797 //
+
798 //*****************************************************************************
+
799 extern void ADC10_A_disableReferenceBurst(uint16_t baseAddress);
+
800 
+
801 //*****************************************************************************
+
802 //
+
817 //
+
818 //*****************************************************************************
+
819 extern void ADC10_A_setReferenceBufferSamplingRate(uint16_t baseAddress,
+
820  uint16_t samplingRateSelect);
+
821 
+
822 //*****************************************************************************
+
823 //
+
836 //
+
837 //*****************************************************************************
+
838 extern void ADC10_A_setWindowComp(uint16_t baseAddress,
+
839  uint16_t highThreshold,
+
840  uint16_t lowThreshold);
+
841 
+
842 //*****************************************************************************
+
843 //
+
852 //
+
853 //*****************************************************************************
+
854 extern uint32_t ADC10_A_getMemoryAddressForDMA(uint16_t baseAddress);
+
855 
+
856 //*****************************************************************************
+
857 //
+
869 //
+
870 //*****************************************************************************
+
871 extern uint16_t ADC10_A_isBusy(uint16_t baseAddress);
+
872 
+
873 //*****************************************************************************
+
874 //
+
875 // Mark the end of the C bindings section for C++ compilers.
+
876 //
+
877 //*****************************************************************************
+
878 #ifdef __cplusplus
+
879 }
+
880 #endif
+
881 
+
882 #endif
+
883 #endif // __MSP430WARE_ADC10_A_H__
+ +
+
+ + + + diff --git a/Documentation/html/adc12__a_8c.html b/Documentation/html/adc12__a_8c.html new file mode 100644 index 0000000..511d7a0 --- /dev/null +++ b/Documentation/html/adc12__a_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/adc12_a.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
adc12_a.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/adc12__a_8c_source.html b/Documentation/html/adc12__a_8c_source.html new file mode 100644 index 0000000..ec8d171 --- /dev/null +++ b/Documentation/html/adc12__a_8c_source.html @@ -0,0 +1,347 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/adc12_a.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
adc12_a.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // adc12_a.c - Driver for the adc12_a Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_ADC12_PLUS__
+
17 #include "adc12_a.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 bool ADC12_A_init (uint16_t baseAddress,
+
22  uint16_t sampleHoldSignalSourceSelect,
+
23  uint8_t clockSourceSelect,
+
24  uint16_t clockSourceDivider)
+
25 {
+
26  //Make sure the ENC bit is cleared before initializing the ADC12_A
+
27  HWREG8(baseAddress + OFS_ADC12CTL0_L) &= ~ADC12ENC;
+
28 
+
29  bool retVal = STATUS_SUCCESS;
+
30 
+
31  //Turn OFF ADC12_A Module & Clear Interrupt Registers
+
32  HWREG16(baseAddress + OFS_ADC12CTL0) &= ~(ADC12ON + ADC12OVIE + ADC12TOVIE
+
33  + ADC12ENC + ADC12SC);
+
34  HWREG16(baseAddress + OFS_ADC12IE) &= 0x0000; //Reset ALL interrupt enables
+
35  HWREG16(baseAddress + OFS_ADC12IFG) &= 0x0000; //Reset ALL interrupt flags
+
36 
+
37  //Set ADC12_A Control 1
+
38  HWREG16(baseAddress + OFS_ADC12CTL1) =
+
39  sampleHoldSignalSourceSelect //Setup the Sample-and-Hold Source
+
40  + (clockSourceDivider & ADC12DIV_7) //Set Clock Divider
+
41  + clockSourceSelect; //Setup Clock Source
+
42 
+
43  //Set ADC12_A Control 2
+
44  HWREG16(baseAddress + OFS_ADC12CTL2) =
+
45  (clockSourceDivider & ADC12PDIV) //Set Clock Pre-Divider
+
46  + ADC12RES_2; //Default resolution to 12-bits
+
47 
+
48  return ( retVal) ;
+
49 }
+
50 
+
51 void ADC12_A_enable (uint16_t baseAddress)
+
52 {
+
53  //Enable the ADC12_A Module
+
54  HWREG8(baseAddress + OFS_ADC12CTL0_L) |= ADC12ON;
+
55 }
+
56 
+
57 void ADC12_A_disable (uint16_t baseAddress)
+
58 {
+
59  //Disable ADC12_A module
+
60  HWREG8(baseAddress + OFS_ADC12CTL0_L) &= ~ADC12ON;
+
61 }
+
62 
+
63 void ADC12_A_setupSamplingTimer (uint16_t baseAddress,
+
64  uint16_t clockCycleHoldCountLowMem,
+
65  uint16_t clockCycleHoldCountHighMem,
+
66  uint16_t multipleSamplesEnabled)
+
67 {
+
68  HWREG16(baseAddress + OFS_ADC12CTL1) |= ADC12SHP;
+
69 
+
70  //Reset clock cycle hold counts and msc bit before setting them
+
71  HWREG16(baseAddress + OFS_ADC12CTL0) &=
+
72  ~(ADC12SHT0_15 + ADC12SHT1_15 + ADC12MSC);
+
73 
+
74  //Set clock cycle hold counts and msc bit
+
75  HWREG16(baseAddress + OFS_ADC12CTL0) |= clockCycleHoldCountLowMem
+
76  + (clockCycleHoldCountHighMem << 4)
+
77  + multipleSamplesEnabled;
+
78 }
+
79 
+
80 
+
81 void ADC12_A_disableSamplingTimer (uint16_t baseAddress)
+
82 {
+
83  HWREG16(baseAddress + OFS_ADC12CTL1) &= ~(ADC12SHP);
+
84 }
+
85 
+
86 
+
87 void ADC12_A_configureMemory(uint16_t baseAddress,
+
88  ADC12_A_configureMemoryParam *param)
+
89 {
+
90  //Make sure the ENC bit is cleared before configuring a Memory Buffer Control
+
91  assert( !(HWREG16(baseAddress + OFS_ADC12CTL0) & ADC12ENC) );
+
92 
+
93  if(!(HWREG16(baseAddress + OFS_ADC12CTL0) & ADC12ENC))
+
94  {
+
95  //Set the offset in respect to ADC12MCTL0
+
96  uint16_t memoryBufferControlOffset =
+
97  (OFS_ADC12MCTL0 + param->memoryBufferControlIndex);
+
98 
+
99  //Reset the memory buffer control and Set the input source
+
100  HWREG8(baseAddress + memoryBufferControlOffset) =
+
101  param->inputSourceSelect //Set Input Source
+
102  + param->positiveRefVoltageSourceSelect //Set Vref+
+
103  + param->negativeRefVoltageSourceSelect //Set Vref-
+
104  + param->endOfSequence; //Set End of Sequence
+
105  }
+
106 }
+
107 void ADC12_A_enableInterrupt (uint16_t baseAddress,
+
108  uint32_t interruptMask)
+
109 {
+
110  if (interruptMask & ADC12_A_CONVERSION_TIME_OVERFLOW_IE) {
+
111  HWREG16(baseAddress + OFS_ADC12CTL0) |= ADC12TOVIE;
+
112  interruptMask &= ~ADC12_A_CONVERSION_TIME_OVERFLOW_IE;
+
113  }
+
114  if (interruptMask & ADC12_A_OVERFLOW_IE) {
+
115  HWREG16(baseAddress + OFS_ADC12CTL0) |= ADC12OVIE;
+
116  interruptMask &= ~ADC12_A_OVERFLOW_IE;
+
117  }
+
118 
+
119  HWREG16(baseAddress + OFS_ADC12IE) |= interruptMask;
+
120 }
+
121 
+
122 void ADC12_A_disableInterrupt (uint16_t baseAddress,
+
123  uint32_t interruptMask)
+
124 {
+
125  if (interruptMask & ADC12_A_CONVERSION_TIME_OVERFLOW_IE) {
+
126  HWREG16(baseAddress + OFS_ADC12CTL0) &= ~(ADC12TOVIE);
+
127  interruptMask &= ~ADC12_A_CONVERSION_TIME_OVERFLOW_IE;
+
128  }
+
129  if (interruptMask & ADC12_A_OVERFLOW_IE) {
+
130  HWREG16(baseAddress + OFS_ADC12CTL0) &= ~(ADC12OVIE);
+
131  interruptMask &= ~ADC12_A_OVERFLOW_IE;
+
132  }
+
133 
+
134  HWREG16(baseAddress + OFS_ADC12IE) &= ~(interruptMask);
+
135 }
+
136 
+
137 void ADC12_A_clearInterrupt (uint16_t baseAddress,
+
138  uint16_t memoryInterruptFlagMask)
+
139 {
+
140  HWREG16(baseAddress + OFS_ADC12IFG) &= ~(memoryInterruptFlagMask);
+
141 }
+
142 
+
143 uint16_t ADC12_A_getInterruptStatus (uint16_t baseAddress,
+
144  uint16_t memoryInterruptFlagMask)
+
145 {
+
146  return ( HWREG16(baseAddress + OFS_ADC12IFG) & memoryInterruptFlagMask );
+
147 }
+
148 
+
149 void ADC12_A_startConversion (uint16_t baseAddress,
+
150  uint16_t startingMemoryBufferIndex,
+
151  uint8_t conversionSequenceModeSelect)
+
152 {
+
153  //Reset the ENC bit to set the starting memory address and conversion mode
+
154  //sequence
+
155  HWREG8(baseAddress + OFS_ADC12CTL0_L) &= ~(ADC12ENC);
+
156  //Reset the bits about to be set
+
157  HWREG16(baseAddress + OFS_ADC12CTL1) &= ~(ADC12CSTARTADD_15 + ADC12CONSEQ_3);
+
158 
+
159  HWREG8(baseAddress + OFS_ADC12CTL1_H) |= (startingMemoryBufferIndex << 4);
+
160  HWREG8(baseAddress + OFS_ADC12CTL1_L) |= conversionSequenceModeSelect;
+
161  HWREG8(baseAddress + OFS_ADC12CTL0_L) |= ADC12ENC + ADC12SC;
+
162 }
+
163 
+
164 void ADC12_A_disableConversions (uint16_t baseAddress, bool preempt)
+
165 {
+
166  if (ADC12_A_PREEMPTCONVERSION == preempt) {
+
167  HWREG8(baseAddress + OFS_ADC12CTL1_L) &= ~(ADC12CONSEQ_3);
+
168  //Reset conversion sequence mode to single-channel, single-conversion
+
169  }
+
170  else if (~(HWREG8(baseAddress + OFS_ADC12CTL1_L) & ADC12CONSEQ_3)) {
+
171  //To prevent preemoption of a single-channel, single-conversion we must
+
172  //wait for the ADC core to finish the conversion.
+
173  while (ADC12_A_isBusy(baseAddress)) ;
+
174  }
+
175 
+
176  HWREG8(baseAddress + OFS_ADC12CTL0_L) &= ~(ADC12ENC);
+
177 }
+
178 
+
179 uint16_t ADC12_A_getResults (uint16_t baseAddress, uint8_t memoryBufferIndex)
+
180 {
+
181  //(0x20 + (memoryBufferIndex * 2)) == offset of ADC12MEMx
+
182  return ( HWREG16(baseAddress + (0x20 + (memoryBufferIndex * 2))) );
+
183 }
+
184 
+
185 void ADC12_A_setResolution (uint16_t baseAddress,
+
186  uint8_t resolutionSelect)
+
187 {
+
188  HWREG8(baseAddress + OFS_ADC12CTL2_L) &= ~(ADC12RES_3);
+
189  HWREG8(baseAddress + OFS_ADC12CTL2_L) |= resolutionSelect;
+
190 }
+
191 
+
192 void ADC12_A_setSampleHoldSignalInversion (uint16_t baseAddress,
+
193  uint16_t invertedSignal)
+
194 {
+
195  HWREG16(baseAddress + OFS_ADC12CTL1) &= ~(ADC12ISSH);
+
196  HWREG16(baseAddress + OFS_ADC12CTL1) |= invertedSignal;
+
197 }
+
198 
+
199 void ADC12_A_setDataReadBackFormat (uint16_t baseAddress,
+
200  uint8_t readBackFormat)
+
201 {
+
202  HWREG8(baseAddress + OFS_ADC12CTL2_L) &= ~(ADC12DF);
+
203  HWREG8(baseAddress + OFS_ADC12CTL2_L) |= readBackFormat;
+
204 }
+
205 
+
206 void ADC12_A_enableReferenceBurst (uint16_t baseAddress)
+
207 {
+
208  HWREG8(baseAddress + OFS_ADC12CTL2_L) |= ADC12REFBURST;
+
209 }
+
210 
+
211 void ADC12_A_disableReferenceBurst (uint16_t baseAddress)
+
212 {
+
213  HWREG8(baseAddress + OFS_ADC12CTL2_L) &= ~(ADC12REFBURST);
+
214 }
+
215 
+
216 void ADC12_A_setReferenceBufferSamplingRate (uint16_t baseAddress,
+
217  uint8_t samplingRateSelect)
+
218 {
+
219  HWREG8(baseAddress + OFS_ADC12CTL2_L) &= ~(ADC12SR);
+
220  HWREG8(baseAddress + OFS_ADC12CTL2_L) |= samplingRateSelect;
+
221 }
+
222 
+
223 uint32_t ADC12_A_getMemoryAddressForDMA (uint16_t baseAddress,
+
224  uint8_t memoryIndex)
+
225 {
+
226  return ( baseAddress + (0x20 + (memoryIndex * 2)) );
+
227 }
+
228 
+
229 uint16_t ADC12_A_isBusy (uint16_t baseAddress)
+
230 {
+
231  return (HWREG8(baseAddress + OFS_ADC12CTL1_L) & ADC12BUSY);
+
232 }
+
233 
+
234 
+
235 #endif
+
236 //*****************************************************************************
+
237 //
+
240 //
+
241 //*****************************************************************************
+ + +
#define HWREG8(x)
Definition: hw_memmap.h:41
+
#define HWREG16(x)
Definition: hw_memmap.h:39
+
#define STATUS_SUCCESS
Definition: hw_memmap.h:22
+
+
+ + + + diff --git a/Documentation/html/adc12__a_8h.html b/Documentation/html/adc12__a_8h.html new file mode 100644 index 0000000..69ba2fb --- /dev/null +++ b/Documentation/html/adc12__a_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/adc12_a.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
adc12_a.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/adc12__a_8h_source.html b/Documentation/html/adc12__a_8h_source.html new file mode 100644 index 0000000..981c39b --- /dev/null +++ b/Documentation/html/adc12__a_8h_source.html @@ -0,0 +1,574 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/adc12_a.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
adc12_a.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // adc12_a.h - Driver for the ADC12_A Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_ADC12_A_H__
+
8 #define __MSP430WARE_ADC12_A_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_ADC12_PLUS__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 #include "inc/hw_memmap.h"
+
26 //*****************************************************************************
+
27 //
+
30 //
+
31 //*****************************************************************************
+
32 typedef struct ADC12_A_configureMemoryParam {
+
51  uint8_t memoryBufferControlIndex;
+
71  uint8_t inputSourceSelect;
+
78  uint8_t positiveRefVoltageSourceSelect;
+
84  uint8_t negativeRefVoltageSourceSelect;
+
93  uint8_t endOfSequence;
+
94 } ADC12_A_configureMemoryParam;
+
95 
+
96 
+
97 //*****************************************************************************
+
98 //
+
99 // The following are values that can be passed to the clockSourceSelect
+
100 // parameter for functions: ADC12_A_init().
+
101 //
+
102 //*****************************************************************************
+
103 #define ADC12_A_CLOCKSOURCE_ADC12OSC (ADC12SSEL_0)
+
104 #define ADC12_A_CLOCKSOURCE_ACLK (ADC12SSEL_1)
+
105 #define ADC12_A_CLOCKSOURCE_MCLK (ADC12SSEL_2)
+
106 #define ADC12_A_CLOCKSOURCE_SMCLK (ADC12SSEL_3)
+
107 
+
108 //*****************************************************************************
+
109 //
+
110 // The following are values that can be passed to the clockSourceDivider
+
111 // parameter for functions: ADC12_A_init().
+
112 //
+
113 //*****************************************************************************
+
114 #define ADC12_A_CLOCKDIVIDER_1 (ADC12DIV_0)
+
115 #define ADC12_A_CLOCKDIVIDER_2 (ADC12DIV_1)
+
116 #define ADC12_A_CLOCKDIVIDER_3 (ADC12DIV_2)
+
117 #define ADC12_A_CLOCKDIVIDER_4 (ADC12DIV_3)
+
118 #define ADC12_A_CLOCKDIVIDER_5 (ADC12DIV_4)
+
119 #define ADC12_A_CLOCKDIVIDER_6 (ADC12DIV_5)
+
120 #define ADC12_A_CLOCKDIVIDER_7 (ADC12DIV_6)
+
121 #define ADC12_A_CLOCKDIVIDER_8 (ADC12DIV_7)
+
122 #define ADC12_A_CLOCKDIVIDER_12 (ADC12DIV_2 + ADC12PDIV)
+
123 #define ADC12_A_CLOCKDIVIDER_16 (ADC12DIV_3 + ADC12PDIV)
+
124 #define ADC12_A_CLOCKDIVIDER_20 (ADC12DIV_4 + ADC12PDIV)
+
125 #define ADC12_A_CLOCKDIVIDER_24 (ADC12DIV_5 + ADC12PDIV)
+
126 #define ADC12_A_CLOCKDIVIDER_28 (ADC12DIV_6 + ADC12PDIV)
+
127 #define ADC12_A_CLOCKDIVIDER_32 (ADC12DIV_7 + ADC12PDIV)
+
128 
+
129 //*****************************************************************************
+
130 //
+
131 // The following are values that can be passed to the
+
132 // sampleHoldSignalSourceSelect parameter for functions: ADC12_A_init().
+
133 //
+
134 //*****************************************************************************
+
135 #define ADC12_A_SAMPLEHOLDSOURCE_SC (ADC12SHS_0)
+
136 #define ADC12_A_SAMPLEHOLDSOURCE_1 (ADC12SHS_1)
+
137 #define ADC12_A_SAMPLEHOLDSOURCE_2 (ADC12SHS_2)
+
138 #define ADC12_A_SAMPLEHOLDSOURCE_3 (ADC12SHS_3)
+
139 
+
140 //*****************************************************************************
+
141 //
+
142 // The following are values that can be passed to the clockCycleHoldCountLowMem
+
143 // parameter for functions: ADC12_A_setupSamplingTimer(); the
+
144 // clockCycleHoldCountHighMem parameter for functions:
+
145 // ADC12_A_setupSamplingTimer().
+
146 //
+
147 //*****************************************************************************
+
148 #define ADC12_A_CYCLEHOLD_4_CYCLES (ADC12SHT0_0)
+
149 #define ADC12_A_CYCLEHOLD_8_CYCLES (ADC12SHT0_1)
+
150 #define ADC12_A_CYCLEHOLD_16_CYCLES (ADC12SHT0_2)
+
151 #define ADC12_A_CYCLEHOLD_32_CYCLES (ADC12SHT0_3)
+
152 #define ADC12_A_CYCLEHOLD_64_CYCLES (ADC12SHT0_4)
+
153 #define ADC12_A_CYCLEHOLD_96_CYCLES (ADC12SHT0_5)
+
154 #define ADC12_A_CYCLEHOLD_128_CYCLES (ADC12SHT0_6)
+
155 #define ADC12_A_CYCLEHOLD_192_CYCLES (ADC12SHT0_7)
+
156 #define ADC12_A_CYCLEHOLD_256_CYCLES (ADC12SHT0_8)
+
157 #define ADC12_A_CYCLEHOLD_384_CYCLES (ADC12SHT0_9)
+
158 #define ADC12_A_CYCLEHOLD_512_CYCLES (ADC12SHT0_10)
+
159 #define ADC12_A_CYCLEHOLD_768_CYCLES (ADC12SHT0_11)
+
160 #define ADC12_A_CYCLEHOLD_1024_CYCLES (ADC12SHT0_12)
+
161 
+
162 //*****************************************************************************
+
163 //
+
164 // The following are values that can be passed to the multipleSamplesEnabled
+
165 // parameter for functions: ADC12_A_setupSamplingTimer().
+
166 //
+
167 //*****************************************************************************
+
168 #define ADC12_A_MULTIPLESAMPLESDISABLE (!(ADC12MSC))
+
169 #define ADC12_A_MULTIPLESAMPLESENABLE (ADC12MSC)
+
170 
+
171 //*****************************************************************************
+
172 //
+
173 // The following are values that can be passed to the param parameter for
+
174 // functions: ADC12_A_configureMemory().
+
175 //
+
176 //*****************************************************************************
+
177 #define ADC12_A_VREFPOS_AVCC (!(ADC12SREF0 + ADC12SREF1))
+
178 #define ADC12_A_VREFPOS_EXT (ADC12SREF1)
+
179 #define ADC12_A_VREFPOS_INT (ADC12SREF0)
+
180 
+
181 //*****************************************************************************
+
182 //
+
183 // The following are values that can be passed to the param parameter for
+
184 // functions: ADC12_A_configureMemory().
+
185 //
+
186 //*****************************************************************************
+
187 #define ADC12_A_VREFNEG_AVSS (!(ADC12SREF2))
+
188 #define ADC12_A_VREFNEG_EXT (ADC12SREF2)
+
189 
+
190 //*****************************************************************************
+
191 //
+
192 // The following are values that can be passed to the param parameter for
+
193 // functions: ADC12_A_configureMemory().
+
194 //
+
195 //*****************************************************************************
+
196 #define ADC12_A_NOTENDOFSEQUENCE (!(ADC12EOS))
+
197 #define ADC12_A_ENDOFSEQUENCE (ADC12EOS)
+
198 
+
199 //*****************************************************************************
+
200 //
+
201 // The following are values that can be passed to the param parameter for
+
202 // functions: ADC12_A_configureMemory().
+
203 //
+
204 //*****************************************************************************
+
205 #define ADC12_A_INPUT_A0 (ADC12INCH_0)
+
206 #define ADC12_A_INPUT_A1 (ADC12INCH_1)
+
207 #define ADC12_A_INPUT_A2 (ADC12INCH_2)
+
208 #define ADC12_A_INPUT_A3 (ADC12INCH_3)
+
209 #define ADC12_A_INPUT_A4 (ADC12INCH_4)
+
210 #define ADC12_A_INPUT_A5 (ADC12INCH_5)
+
211 #define ADC12_A_INPUT_A6 (ADC12INCH_6)
+
212 #define ADC12_A_INPUT_A7 (ADC12INCH_7)
+
213 #define ADC12_A_INPUT_A8 (ADC12INCH_8)
+
214 #define ADC12_A_INPUT_A9 (ADC12INCH_9)
+
215 #define ADC12_A_INPUT_TEMPSENSOR (ADC12INCH_10)
+
216 #define ADC12_A_INPUT_BATTERYMONITOR (ADC12INCH_11)
+
217 #define ADC12_A_INPUT_A12 (ADC12INCH_12)
+
218 #define ADC12_A_INPUT_A13 (ADC12INCH_13)
+
219 #define ADC12_A_INPUT_A14 (ADC12INCH_14)
+
220 #define ADC12_A_INPUT_A15 (ADC12INCH_15)
+
221 
+
222 //*****************************************************************************
+
223 //
+
224 // The following are values that can be passed to the startingMemoryBufferIndex
+
225 // parameter for functions: ADC12_A_startConversion(); the memoryIndex
+
226 // parameter for functions: ADC12_A_getMemoryAddressForDMA(); the
+
227 // memoryBufferIndex parameter for functions: ADC12_A_getResults(); the param
+
228 // parameter for functions: ADC12_A_configureMemory().
+
229 //
+
230 //*****************************************************************************
+
231 #define ADC12_A_MEMORY_0 (0x0)
+
232 #define ADC12_A_MEMORY_1 (0x1)
+
233 #define ADC12_A_MEMORY_2 (0x2)
+
234 #define ADC12_A_MEMORY_3 (0x3)
+
235 #define ADC12_A_MEMORY_4 (0x4)
+
236 #define ADC12_A_MEMORY_5 (0x5)
+
237 #define ADC12_A_MEMORY_6 (0x6)
+
238 #define ADC12_A_MEMORY_7 (0x7)
+
239 #define ADC12_A_MEMORY_8 (0x8)
+
240 #define ADC12_A_MEMORY_9 (0x9)
+
241 #define ADC12_A_MEMORY_10 (0xA)
+
242 #define ADC12_A_MEMORY_11 (0xB)
+
243 #define ADC12_A_MEMORY_12 (0xC)
+
244 #define ADC12_A_MEMORY_13 (0xD)
+
245 #define ADC12_A_MEMORY_14 (0xE)
+
246 #define ADC12_A_MEMORY_15 (0xF)
+
247 
+
248 //*****************************************************************************
+
249 //
+
250 // The following are values that can be passed to the memoryInterruptFlagMask
+
251 // parameter for functions: ADC12_A_clearInterrupt(), and
+
252 // ADC12_A_getInterruptStatus().
+
253 //
+
254 //*****************************************************************************
+
255 #define ADC12_A_IFG0 (ADC12IFG0)
+
256 #define ADC12_A_IFG1 (ADC12IFG1)
+
257 #define ADC12_A_IFG2 (ADC12IFG2)
+
258 #define ADC12_A_IFG3 (ADC12IFG3)
+
259 #define ADC12_A_IFG4 (ADC12IFG4)
+
260 #define ADC12_A_IFG5 (ADC12IFG5)
+
261 #define ADC12_A_IFG6 (ADC12IFG6)
+
262 #define ADC12_A_IFG7 (ADC12IFG7)
+
263 #define ADC12_A_IFG8 (ADC12IFG8)
+
264 #define ADC12_A_IFG9 (ADC12IFG9)
+
265 #define ADC12_A_IFG10 (ADC12IFG10)
+
266 #define ADC12_A_IFG11 (ADC12IFG11)
+
267 #define ADC12_A_IFG12 (ADC12IFG12)
+
268 #define ADC12_A_IFG13 (ADC12IFG13)
+
269 #define ADC12_A_IFG14 (ADC12IFG14)
+
270 #define ADC12_A_IFG15 (ADC12IFG15)
+
271 
+
272 //*****************************************************************************
+
273 //
+
274 // The following are values that can be passed to the
+
275 // conversionSequenceModeSelect parameter for functions:
+
276 // ADC12_A_startConversion().
+
277 //
+
278 //*****************************************************************************
+
279 #define ADC12_A_SINGLECHANNEL (ADC12CONSEQ_0)
+
280 #define ADC12_A_SEQOFCHANNELS (ADC12CONSEQ_1)
+
281 #define ADC12_A_REPEATED_SINGLECHANNEL (ADC12CONSEQ_2)
+
282 #define ADC12_A_REPEATED_SEQOFCHANNELS (ADC12CONSEQ_3)
+
283 
+
284 //*****************************************************************************
+
285 //
+
286 // The following are values that can be passed to the preempt parameter for
+
287 // functions: ADC12_A_disableConversions().
+
288 //
+
289 //*****************************************************************************
+
290 #define ADC12_A_COMPLETECONVERSION false
+
291 #define ADC12_A_PREEMPTCONVERSION true
+
292 
+
293 //*****************************************************************************
+
294 //
+
295 // The following are values that can be passed to the resolutionSelect
+
296 // parameter for functions: ADC12_A_setResolution().
+
297 //
+
298 //*****************************************************************************
+
299 #define ADC12_A_RESOLUTION_8BIT (ADC12RES_0)
+
300 #define ADC12_A_RESOLUTION_10BIT (ADC12RES_1)
+
301 #define ADC12_A_RESOLUTION_12BIT (ADC12RES_2)
+
302 
+
303 //*****************************************************************************
+
304 //
+
305 // The following are values that can be passed to the invertedSignal parameter
+
306 // for functions: ADC12_A_setSampleHoldSignalInversion().
+
307 //
+
308 //*****************************************************************************
+
309 #define ADC12_A_NONINVERTEDSIGNAL (!(ADC12ISSH))
+
310 #define ADC12_A_INVERTEDSIGNAL (ADC12ISSH)
+
311 
+
312 //*****************************************************************************
+
313 //
+
314 // The following are values that can be passed to the readBackFormat parameter
+
315 // for functions: ADC12_A_setDataReadBackFormat().
+
316 //
+
317 //*****************************************************************************
+
318 #define ADC12_A_UNSIGNED_BINARY (!(ADC12DF))
+
319 #define ADC12_A_SIGNED_2SCOMPLEMENT (ADC12DF)
+
320 
+
321 //*****************************************************************************
+
322 //
+
323 // The following are values that can be passed to the samplingRateSelect
+
324 // parameter for functions: ADC12_A_setReferenceBufferSamplingRate().
+
325 //
+
326 //*****************************************************************************
+
327 #define ADC12_A_MAXSAMPLINGRATE_200KSPS (!(ADC12SR))
+
328 #define ADC12_A_MAXSAMPLINGRATE_50KSPS (ADC12SR)
+
329 
+
330 //*****************************************************************************
+
331 //
+
332 // The following are values that can be passed toThe following are values that
+
333 // can be returned by the ADC12_A_isBusy() function.
+
334 //
+
335 //*****************************************************************************
+
336 #define ADC12_A_NOTBUSY 0x00
+
337 #define ADC12_A_BUSY ADC12BUSY
+
338 
+
339 //*****************************************************************************
+
340 //
+
341 // The following are values that can be passed to the interruptMask parameter
+
342 // for functions: ADC12_A_enableInterrupt(), and ADC12_A_disableInterrupt().
+
343 //
+
344 //*****************************************************************************
+
345 #define ADC12_A_IE0 (ADC12IE0)
+
346 #define ADC12_A_IE1 (ADC12IE1)
+
347 #define ADC12_A_IE2 (ADC12IE2)
+
348 #define ADC12_A_IE3 (ADC12IE3)
+
349 #define ADC12_A_IE4 (ADC12IE4)
+
350 #define ADC12_A_IE5 (ADC12IE5)
+
351 #define ADC12_A_IE6 (ADC12IE6)
+
352 #define ADC12_A_IE7 (ADC12IE7)
+
353 #define ADC12_A_IE8 (ADC12IE8)
+
354 #define ADC12_A_IE9 (ADC12IE9)
+
355 #define ADC12_A_IE10 (ADC12IE10)
+
356 #define ADC12_A_IE11 (ADC12IE11)
+
357 #define ADC12_A_IE12 (ADC12IE12)
+
358 #define ADC12_A_IE13 (ADC12IE13)
+
359 #define ADC12_A_IE14 (ADC12IE14)
+
360 #define ADC12_A_IE15 (ADC12IE15)
+
361 #define ADC12_A_OVERFLOW_IE ((uint32_t)ADC12OVIE << 16)
+
362 #define ADC12_A_CONVERSION_TIME_OVERFLOW_IE ((uint32_t)ADC12TOVIE << 16)
+
363 
+
364 //*****************************************************************************
+
365 //
+
366 // Prototypes for the APIs.
+
367 //
+
368 //*****************************************************************************
+
369 
+
370 //*****************************************************************************
+
371 //
+
428 //
+
429 //*****************************************************************************
+
430 extern bool ADC12_A_init(uint16_t baseAddress,
+
431  uint16_t sampleHoldSignalSourceSelect,
+
432  uint8_t clockSourceSelect,
+
433  uint16_t clockSourceDivider);
+
434 
+
435 //*****************************************************************************
+
436 //
+
446 //
+
447 //*****************************************************************************
+
448 extern void ADC12_A_enable(uint16_t baseAddress);
+
449 
+
450 //*****************************************************************************
+
451 //
+
461 //
+
462 //*****************************************************************************
+
463 extern void ADC12_A_disable(uint16_t baseAddress);
+
464 
+
465 //*****************************************************************************
+
466 //
+
524 //
+
525 //*****************************************************************************
+
526 extern void ADC12_A_setupSamplingTimer(uint16_t baseAddress,
+
527  uint16_t clockCycleHoldCountLowMem,
+
528  uint16_t clockCycleHoldCountHighMem,
+
529  uint16_t multipleSamplesEnabled);
+
530 
+
531 //*****************************************************************************
+
532 //
+
544 //
+
545 //*****************************************************************************
+
546 extern void ADC12_A_disableSamplingTimer(uint16_t baseAddress);
+
547 
+
548 //*****************************************************************************
+
549 //
+
565 //
+
566 //*****************************************************************************
+
567 extern void ADC12_A_configureMemory(uint16_t baseAddress,
+
568  ADC12_A_configureMemoryParam *param);
+
569 
+
570 //*****************************************************************************
+
571 //
+
603 //
+
604 //*****************************************************************************
+
605 extern void ADC12_A_enableInterrupt(uint16_t baseAddress,
+
606  uint32_t interruptMask);
+
607 
+
608 //*****************************************************************************
+
609 //
+
641 //
+
642 //*****************************************************************************
+
643 extern void ADC12_A_disableInterrupt(uint16_t baseAddress,
+
644  uint32_t interruptMask);
+
645 
+
646 //*****************************************************************************
+
647 //
+
680 //
+
681 //*****************************************************************************
+
682 extern void ADC12_A_clearInterrupt(uint16_t baseAddress,
+
683  uint16_t memoryInterruptFlagMask);
+
684 
+
685 //*****************************************************************************
+
686 //
+
715 //
+
716 //*****************************************************************************
+
717 extern uint16_t ADC12_A_getInterruptStatus(uint16_t baseAddress,
+
718  uint16_t memoryInterruptFlagMask);
+
719 
+
720 //*****************************************************************************
+
721 //
+
779 //
+
780 //*****************************************************************************
+
781 extern void ADC12_A_startConversion(uint16_t baseAddress,
+
782  uint16_t startingMemoryBufferIndex,
+
783  uint8_t conversionSequenceModeSelect);
+
784 
+
785 //*****************************************************************************
+
786 //
+
813 //
+
814 //*****************************************************************************
+
815 extern void ADC12_A_disableConversions(uint16_t baseAddress,
+
816  bool preempt);
+
817 
+
818 //*****************************************************************************
+
819 //
+
850 //
+
851 //*****************************************************************************
+
852 extern uint16_t ADC12_A_getResults(uint16_t baseAddress,
+
853  uint8_t memoryBufferIndex);
+
854 
+
855 //*****************************************************************************
+
856 //
+
871 //
+
872 //*****************************************************************************
+
873 extern void ADC12_A_setResolution(uint16_t baseAddress,
+
874  uint8_t resolutionSelect);
+
875 
+
876 //*****************************************************************************
+
877 //
+
897 //
+
898 //*****************************************************************************
+
899 extern void ADC12_A_setSampleHoldSignalInversion(uint16_t baseAddress,
+
900  uint16_t invertedSignal);
+
901 
+
902 //*****************************************************************************
+
903 //
+
922 //
+
923 //*****************************************************************************
+
924 extern void ADC12_A_setDataReadBackFormat(uint16_t baseAddress,
+
925  uint8_t readBackFormat);
+
926 
+
927 //*****************************************************************************
+
928 //
+
938 //
+
939 //*****************************************************************************
+
940 extern void ADC12_A_enableReferenceBurst(uint16_t baseAddress);
+
941 
+
942 //*****************************************************************************
+
943 //
+
952 //
+
953 //*****************************************************************************
+
954 extern void ADC12_A_disableReferenceBurst(uint16_t baseAddress);
+
955 
+
956 //*****************************************************************************
+
957 //
+
972 //
+
973 //*****************************************************************************
+
974 extern void ADC12_A_setReferenceBufferSamplingRate(uint16_t baseAddress,
+
975  uint8_t samplingRateSelect);
+
976 
+
977 //*****************************************************************************
+
978 //
+
1006 //
+
1007 //*****************************************************************************
+
1008 extern uint32_t ADC12_A_getMemoryAddressForDMA(uint16_t baseAddress,
+
1009  uint8_t memoryIndex);
+
1010 
+
1011 //*****************************************************************************
+
1012 //
+
1024 //
+
1025 //*****************************************************************************
+
1026 extern uint16_t ADC12_A_isBusy(uint16_t baseAddress);
+
1027 
+
1028 //*****************************************************************************
+
1029 //
+
1030 // Mark the end of the C bindings section for C++ compilers.
+
1031 //
+
1032 //*****************************************************************************
+
1033 #ifdef __cplusplus
+
1034 }
+
1035 #endif
+
1036 
+
1037 #endif
+
1038 #endif // __MSP430WARE_ADC12_A_H__
+ +
+
+ + + + diff --git a/Documentation/html/aes_8c.html b/Documentation/html/aes_8c.html new file mode 100644 index 0000000..09876e9 --- /dev/null +++ b/Documentation/html/aes_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/aes.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
aes.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/aes_8c_source.html b/Documentation/html/aes_8c_source.html new file mode 100644 index 0000000..81034f7 --- /dev/null +++ b/Documentation/html/aes_8c_source.html @@ -0,0 +1,452 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/aes.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
aes.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // aes.c - Driver for the aes Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_AES__
+
17 #include "aes.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 uint8_t AES_setCipherKey (uint16_t baseAddress,
+
22  const uint8_t * CipherKey
+
23  )
+
24 {
+
25  uint8_t i = 0;
+
26  uint16_t tempVariable = 0;
+
27 
+
28  // Wait until AES accelerator is busy
+
29  while(AESBUSY == (HWREG16(baseAddress + OFS_AESASTAT) & AESBUSY) );
+
30 
+
31  for (i = 0; i < 16; i = i + 2)
+
32  {
+
33  tempVariable = (uint16_t)(CipherKey[i]);
+
34  tempVariable = tempVariable | ((uint16_t)(CipherKey[i + 1]) << 8);
+
35  HWREG16(baseAddress + OFS_AESAKEY) = tempVariable;
+
36  }
+
37 
+
38  // Wait until key is written
+
39  while(0x00 == (HWREG16(baseAddress + OFS_AESASTAT) & AESKEYWR ));
+
40 
+
41  return STATUS_SUCCESS;
+
42 }
+
43 
+
44 uint8_t AES_encryptData (uint16_t baseAddress,
+
45  const uint8_t * Data,
+
46  uint8_t * encryptedData)
+
47 {
+
48  uint8_t i;
+
49  uint16_t tempData = 0;
+
50  uint16_t tempVariable = 0;
+
51 
+
52  // Set module to encrypt mode
+
53  HWREG16(baseAddress + OFS_AESACTL0) &= ~AESOP_3;
+
54 
+
55  // Write data to encrypt to module
+
56  for (i = 0; i < 16; i = i + 2)
+
57  {
+
58 
+
59  tempVariable = (uint16_t)(Data[i]);
+
60  tempVariable = tempVariable | ((uint16_t)(Data[i+1]) << 8);
+
61  HWREG16(baseAddress + OFS_AESADIN) = tempVariable;
+
62  }
+
63 
+
64  // Key that is already written shall be used
+
65  // Encryption is initialized by setting AESKEYWR to 1
+
66  HWREG16(baseAddress + OFS_AESASTAT) |= AESKEYWR;
+
67 
+
68  // Wait unit finished ~167 MCLK
+
69  while(AESBUSY == (HWREG16(baseAddress + OFS_AESASTAT) & AESBUSY) );
+
70 
+
71  // Write encrypted data back to variable
+
72  for (i = 0; i < 16; i = i + 2)
+
73  {
+
74  tempData = HWREG16(baseAddress + OFS_AESADOUT);
+
75  *(encryptedData + i) = (uint8_t)tempData;
+
76  *(encryptedData +i + 1) = (uint8_t)(tempData >> 8);
+
77 
+
78  }
+
79 
+
80  return STATUS_SUCCESS;
+
81 }
+
82 
+
83 uint8_t AES_decryptData (uint16_t baseAddress,
+
84  const uint8_t * Data,
+
85  uint8_t * decryptedData)
+
86 {
+
87  uint8_t i;
+
88  uint16_t tempData = 0;
+
89  uint16_t tempVariable = 0;
+
90 
+
91  // Set module to decrypt mode
+
92  HWREG16(baseAddress + OFS_AESACTL0) |= (AESOP_3);
+
93 
+
94  // Write data to decrypt to module
+
95  for (i = 0; i < 16; i = i + 2)
+
96  {
+
97  tempVariable = (uint16_t)(Data[i+1] << 8);
+
98  tempVariable = tempVariable | ((uint16_t)(Data[i]));
+
99  HWREG16(baseAddress + OFS_AESADIN) = tempVariable;
+
100  }
+
101 
+
102  // Key that is already written shall be used
+
103  // Now decryption starts
+
104  HWREG16(baseAddress + OFS_AESASTAT) |= AESKEYWR;
+
105 
+
106  // Wait unit finished ~167 MCLK
+
107  while(AESBUSY == (HWREG16(baseAddress + OFS_AESASTAT) & AESBUSY ));
+
108 
+
109  // Write encrypted data back to variable
+
110  for (i = 0; i < 16; i = i + 2)
+
111  {
+
112  tempData = HWREG16(baseAddress + OFS_AESADOUT);
+
113  *(decryptedData + i ) = (uint8_t)tempData;
+
114  *(decryptedData +i + 1) = (uint8_t)(tempData >> 8);
+
115  }
+
116 
+
117  return STATUS_SUCCESS;
+
118 }
+
119 
+
120 uint8_t AES_setDecipherKey (uint16_t baseAddress,
+
121  const uint8_t * CipherKey)
+
122 {
+
123  uint8_t i;
+
124  uint16_t tempVariable = 0;
+
125 
+
126  // Set module to decrypt mode
+
127  HWREG16(baseAddress + OFS_AESACTL0) &= ~(AESOP0);
+
128  HWREG16(baseAddress + OFS_AESACTL0) |= AESOP1;
+
129 
+
130  // Write cipher key to key register
+
131  for (i = 0; i < 16; i = i + 2)
+
132  {
+
133  tempVariable = (uint16_t)(CipherKey[i]);
+
134  tempVariable = tempVariable | ((uint16_t)(CipherKey[i + 1]) << 8);
+
135  HWREG16(baseAddress + OFS_AESAKEY) = tempVariable;
+
136  }
+
137 
+
138  // Wait until key is processed ~52 MCLK
+
139  while((HWREG16(baseAddress + OFS_AESASTAT) & AESBUSY) == AESBUSY);
+
140 
+
141  return STATUS_SUCCESS;
+
142 }
+
143 
+
144 void AES_clearInterrupt (uint16_t baseAddress )
+
145 {
+
146  HWREG8(baseAddress + OFS_AESACTL0) &= ~AESRDYIFG;
+
147 }
+
148 
+
149 uint32_t AES_getInterruptStatus (uint16_t baseAddress)
+
150 {
+
151  return ((HWREG8(baseAddress + OFS_AESACTL0) & AESRDYIFG) << 0x04);
+
152 }
+
153 
+
154 void AES_enableInterrupt (uint16_t baseAddress)
+
155 {
+
156  HWREG8(baseAddress + OFS_AESACTL0) |= AESRDYIE;
+
157 }
+
158 
+
159 void AES_disableInterrupt (uint16_t baseAddress)
+
160 {
+
161  HWREG8(baseAddress + OFS_AESACTL0) &= ~AESRDYIE;
+
162 }
+
163 
+
164 void AES_reset (uint16_t baseAddress)
+
165 {
+
166  HWREG8(baseAddress + OFS_AESACTL0) |= AESSWRST;
+
167 }
+
168 
+
169 uint8_t AES_startEncryptData (uint16_t baseAddress,
+
170  const uint8_t * Data,
+
171  uint8_t * encryptedData)
+
172 {
+
173  uint8_t i;
+
174  uint16_t tempVariable = 0;
+
175 
+
176  // Set module to encrypt mode
+
177  HWREG16(baseAddress + OFS_AESACTL0) &= ~AESOP_3;
+
178 
+
179  // Write data to encrypt to module
+
180  for (i = 0; i < 16; i = i + 2)
+
181  {
+
182  tempVariable = (uint16_t)(Data[i]);
+
183  tempVariable = tempVariable | ((uint16_t)(Data[i+1]) << 8);
+
184  HWREG16(baseAddress + OFS_AESADIN) = tempVariable;
+
185  }
+
186 
+
187  // Key that is already written shall be used
+
188  // Encryption is initialized by setting AESKEYWR to 1
+
189  HWREG16(baseAddress + OFS_AESASTAT) |= AESKEYWR;
+
190 
+
191  return STATUS_SUCCESS;
+
192 }
+
193 
+
194 uint8_t AES_startDecryptData (uint16_t baseAddress,
+
195  const uint8_t * Data)
+
196 {
+
197  uint8_t i;
+
198  uint16_t tempVariable = 0;
+
199 
+
200  // Set module to decrypt mode
+
201  HWREG16(baseAddress + OFS_AESACTL0) |= (AESOP_3);
+
202 
+
203  // Write data to decrypt to module
+
204  for (i = 0; i < 16; i = i + 2)
+
205  {
+
206  tempVariable = (uint16_t)(Data[i+1] << 8);
+
207  tempVariable = tempVariable | ((uint16_t)(Data[i]));
+
208  HWREG16(baseAddress + OFS_AESADIN) = tempVariable;
+
209  }
+
210 
+
211  // Key that is already written shall be used
+
212  // Now decryption starts
+
213  HWREG16(baseAddress + OFS_AESASTAT) |= AESKEYWR;
+
214 
+
215  return STATUS_SUCCESS;
+
216 }
+
217 
+
218 uint8_t AES_startSetDecipherKey (uint16_t baseAddress,
+
219  const uint8_t * CipherKey)
+
220 {
+
221  uint8_t i;
+
222  uint16_t tempVariable = 0;
+
223 
+
224  HWREG16(baseAddress + OFS_AESACTL0) &= ~(AESOP0);
+
225  HWREG16(baseAddress + OFS_AESACTL0) |= AESOP1;
+
226 
+
227  // Write cipher key to key register
+
228  for (i = 0; i < 16; i = i + 2)
+
229  {
+
230  tempVariable = (uint16_t)(CipherKey[i]);
+
231  tempVariable = tempVariable | ((uint16_t)(CipherKey[i+1]) << 8);
+
232  HWREG16(baseAddress + OFS_AESAKEY) = tempVariable;
+
233  }
+
234 
+
235  return STATUS_SUCCESS;
+
236 }
+
237 
+
238 uint8_t AES_getDataOut(uint16_t baseAddress,
+
239  uint8_t *OutputData
+
240  )
+
241 {
+
242  uint8_t i;
+
243  uint16_t tempData = 0;
+
244 
+
245  // If module is busy, exit and return failure
+
246  if( AESBUSY == (HWREG16(baseAddress + OFS_AESASTAT) & AESBUSY))
+
247  return STATUS_FAIL;
+
248 
+
249  // Write encrypted data back to variable
+
250  for (i = 0; i < 16; i = i + 2)
+
251  {
+
252  tempData = HWREG16(baseAddress + OFS_AESADOUT);
+
253  *(OutputData + i) = (uint8_t)tempData;
+
254  *(OutputData +i + 1) = (uint8_t)(tempData >> 8);
+
255  }
+
256 
+
257  return STATUS_SUCCESS;
+
258 }
+
259 
+
260 uint8_t AES_isBusy (uint16_t baseAddress)
+
261 {
+
262  return (HWREG16(baseAddress + OFS_AESASTAT) & AESBUSY);
+
263 }
+
264 
+
265 void AES_clearErrorFlag (uint16_t baseAddress )
+
266 {
+
267  HWREG8(baseAddress + OFS_AESACTL0) &= ~AESERRFG;
+
268 }
+
269 
+
270 uint32_t AES_getErrorFlagStatus (uint16_t baseAddress)
+
271 {
+
272  return (HWREG8(baseAddress + OFS_AESACTL0) & AESERRFG);
+
273 }
+
274 
+
275 uint8_t AES_startDecryptDataUsingEncryptionKey (
+
276  uint16_t baseAddress,
+
277  const uint8_t * Data)
+
278 {
+
279  uint8_t i;
+
280  uint16_t tempVariable = 0;
+
281 
+
282  // Set module to decrypt mode
+
283  HWREG16(baseAddress + OFS_AESACTL0) &= ~(AESOP1);
+
284  HWREG16(baseAddress + OFS_AESACTL0) |= AESOP0;
+
285 
+
286  // Write data to decrypt to module
+
287  for (i = 0; i < 16; i = i + 2)
+
288  {
+
289  tempVariable = (uint16_t)(Data[i+1] << 8);
+
290  tempVariable = tempVariable | ((uint16_t)(Data[i]));
+
291  HWREG16(baseAddress + OFS_AESADIN) = tempVariable;
+
292  }
+
293 
+
294  // Key that is already written shall be used
+
295  // Now decryption starts
+
296  HWREG16(baseAddress + OFS_AESASTAT) |= AESKEYWR;
+
297 
+
298  return STATUS_SUCCESS;
+
299 }
+
300 
+
301 uint8_t AES_decryptDataUsingEncryptionKey (uint16_t baseAddress,
+
302  const uint8_t * Data,
+
303  uint8_t * decryptedData)
+
304 {
+
305  uint8_t i;
+
306  uint16_t tempData = 0;
+
307  uint16_t tempVariable = 0;
+
308 
+
309  // Set module to decrypt mode
+
310  HWREG16(baseAddress + OFS_AESACTL0) &= ~(AESOP1);
+
311  HWREG16(baseAddress + OFS_AESACTL0) |= AESOP0;
+
312 
+
313  // Write data to decrypt to module
+
314  for (i = 0; i < 16; i = i + 2)
+
315  {
+
316  tempVariable = (uint16_t)(Data[i+1] << 8);
+
317  tempVariable = tempVariable | ((uint16_t)(Data[i]));
+
318  HWREG16(baseAddress + OFS_AESADIN) = tempVariable;
+
319  }
+
320 
+
321  // Key that is already written shall be used
+
322  // Now decryption starts
+
323  HWREG16(baseAddress + OFS_AESASTAT) |= AESKEYWR;
+
324 
+
325  // Wait unit finished ~214 MCLK
+
326  while(AESBUSY == (HWREG16(baseAddress + OFS_AESASTAT) & AESBUSY) );
+
327 
+
328  // Write encrypted data back to variable
+
329  for (i = 0; i < 16; i = i + 2)
+
330  {
+
331  tempData = HWREG16(baseAddress + OFS_AESADOUT);
+
332  *(decryptedData + i ) = (uint8_t)tempData;
+
333  *(decryptedData +i + 1) = (uint8_t)(tempData >> 8);
+
334  }
+
335 
+
336  return STATUS_SUCCESS;
+
337 }
+
338 
+
339 #endif
+
340 //*****************************************************************************
+
341 //
+
344 //
+
345 //*****************************************************************************
+ + +
#define HWREG8(x)
Definition: hw_memmap.h:41
+
#define HWREG16(x)
Definition: hw_memmap.h:39
+
#define STATUS_FAIL
Definition: hw_memmap.h:23
+
#define STATUS_SUCCESS
Definition: hw_memmap.h:22
+
+
+ + + + diff --git a/Documentation/html/aes_8h.html b/Documentation/html/aes_8h.html new file mode 100644 index 0000000..60e1fd4 --- /dev/null +++ b/Documentation/html/aes_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/aes.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
aes.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/aes_8h_source.html b/Documentation/html/aes_8h_source.html new file mode 100644 index 0000000..fa70492 --- /dev/null +++ b/Documentation/html/aes_8h_source.html @@ -0,0 +1,287 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/aes.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
aes.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // aes.h - Driver for the AES Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_AES_H__
+
8 #define __MSP430WARE_AES_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_AES__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 //*****************************************************************************
+
26 //
+
27 // The following are values that can be passed toThe following are values that
+
28 // can be returned by the AES_isBusy() function.
+
29 //
+
30 //*****************************************************************************
+
31 #define AES_BUSY AESBUSY
+
32 #define AES_NOT_BUSY 0x00
+
33 
+
34 //*****************************************************************************
+
35 //
+
36 // The following are values that can be passed toThe following are values that
+
37 // can be returned by the AES_getErrorFlagStatus() function.
+
38 //
+
39 //*****************************************************************************
+
40 #define AES_ERROR_OCCURRED AESERRFG
+
41 #define AES_NO_ERROR 0x00
+
42 
+
43 //*****************************************************************************
+
44 //
+
45 // Prototypes for the APIs.
+
46 //
+
47 //*****************************************************************************
+
48 
+
49 //*****************************************************************************
+
50 //
+
60 //
+
61 //*****************************************************************************
+
62 extern uint8_t AES_setCipherKey(uint16_t baseAddress,
+
63  const uint8_t *CipherKey);
+
64 
+
65 //*****************************************************************************
+
66 //
+
79 //
+
80 //*****************************************************************************
+
81 extern uint8_t AES_encryptData(uint16_t baseAddress,
+
82  const uint8_t *Data,
+
83  uint8_t *encryptedData);
+
84 
+
85 //*****************************************************************************
+
86 //
+
100 //
+
101 //*****************************************************************************
+
102 extern uint8_t AES_decryptData(uint16_t baseAddress,
+
103  const uint8_t *Data,
+
104  uint8_t *decryptedData);
+
105 
+
106 //*****************************************************************************
+
107 //
+
118 //
+
119 //*****************************************************************************
+
120 extern uint8_t AES_setDecipherKey(uint16_t baseAddress,
+
121  const uint8_t *CipherKey);
+
122 
+
123 //*****************************************************************************
+
124 //
+
137 //
+
138 //*****************************************************************************
+
139 extern void AES_clearInterrupt(uint16_t baseAddress);
+
140 
+
141 //*****************************************************************************
+
142 //
+
152 //
+
153 //*****************************************************************************
+
154 extern uint32_t AES_getInterruptStatus(uint16_t baseAddress);
+
155 
+
156 //*****************************************************************************
+
157 //
+
168 //
+
169 //*****************************************************************************
+
170 extern void AES_enableInterrupt(uint16_t baseAddress);
+
171 
+
172 //*****************************************************************************
+
173 //
+
184 //
+
185 //*****************************************************************************
+
186 extern void AES_disableInterrupt(uint16_t baseAddress);
+
187 
+
188 //*****************************************************************************
+
189 //
+
200 //
+
201 //*****************************************************************************
+
202 extern void AES_reset(uint16_t baseAddress);
+
203 
+
204 //*****************************************************************************
+
205 //
+
221 //
+
222 //*****************************************************************************
+
223 extern uint8_t AES_startEncryptData(uint16_t baseAddress,
+
224  const uint8_t *Data,
+
225  uint8_t *encryptedData);
+
226 
+
227 //*****************************************************************************
+
228 //
+
243 //
+
244 //*****************************************************************************
+
245 extern uint8_t AES_startDecryptData(uint16_t baseAddress,
+
246  const uint8_t *Data);
+
247 
+
248 //*****************************************************************************
+
249 //
+
261 //
+
262 //*****************************************************************************
+
263 extern uint8_t AES_startSetDecipherKey(uint16_t baseAddress,
+
264  const uint8_t *CipherKey);
+
265 
+
266 //*****************************************************************************
+
267 //
+
280 //
+
281 //*****************************************************************************
+
282 extern uint8_t AES_getDataOut(uint16_t baseAddress,
+
283  uint8_t *OutputData);
+
284 
+
285 //*****************************************************************************
+
286 //
+
299 //
+
300 //*****************************************************************************
+
301 extern uint8_t AES_isBusy(uint16_t baseAddress);
+
302 
+
303 //*****************************************************************************
+
304 //
+
316 //
+
317 //*****************************************************************************
+
318 extern void AES_clearErrorFlag(uint16_t baseAddress);
+
319 
+
320 //*****************************************************************************
+
321 //
+
335 //
+
336 //*****************************************************************************
+
337 extern uint32_t AES_getErrorFlagStatus(uint16_t baseAddress);
+
338 
+
339 //*****************************************************************************
+
340 //
+
352 //
+
353 //*****************************************************************************
+
354 extern uint8_t AES_startDecryptDataUsingEncryptionKey(uint16_t baseAddress,
+
355  const uint8_t *Data);
+
356 
+
357 //*****************************************************************************
+
358 //
+
371 //
+
372 //*****************************************************************************
+
373 extern uint8_t AES_decryptDataUsingEncryptionKey(uint16_t baseAddress,
+
374  const uint8_t *Data,
+
375  uint8_t *decryptedData);
+
376 
+
377 //*****************************************************************************
+
378 //
+
379 // Mark the end of the C bindings section for C++ compilers.
+
380 //
+
381 //*****************************************************************************
+
382 #ifdef __cplusplus
+
383 }
+
384 #endif
+
385 
+
386 #endif
+
387 #endif // __MSP430WARE_AES_H__
+ +
+
+ + + + diff --git a/Documentation/html/battbak_8c.html b/Documentation/html/battbak_8c.html new file mode 100644 index 0000000..7ce4114 --- /dev/null +++ b/Documentation/html/battbak_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/battbak.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
battbak.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/battbak_8c_source.html b/Documentation/html/battbak_8c_source.html new file mode 100644 index 0000000..97a59bd --- /dev/null +++ b/Documentation/html/battbak_8c_source.html @@ -0,0 +1,184 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/battbak.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
battbak.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // battbak.c - Driver for the battbak Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_BATTERY_CHARGER__
+
17 #include "battbak.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 uint16_t BattBak_unlockBackupSubSystem (uint16_t baseAddress)
+
22 {
+
23  HWREG8(baseAddress + OFS_BAKCTL) &= ~(LOCKBAK);
+
24  return (HWREG8(baseAddress + OFS_BAKCTL) & LOCKBAK);
+
25 }
+
26 
+
27 void BattBak_enableBackupSupplyToADC (uint16_t baseAddress)
+
28 {
+
29  HWREG8(baseAddress + OFS_BAKCTL) |= BAKADC;
+
30 }
+
31 
+
32 void BattBak_disableBackupSupplyToADC (uint16_t baseAddress)
+
33 {
+
34  HWREG8(baseAddress + OFS_BAKCTL) &= ~(BAKADC);
+
35 }
+
36 
+
37 void BattBak_switchToBackupSupplyManually (uint16_t baseAddress)
+
38 {
+
39  HWREG8(baseAddress + OFS_BAKCTL) |= BAKSW;
+
40 }
+
41 
+
42 void BattBak_disable (uint16_t baseAddress)
+
43 {
+
44  HWREG8(baseAddress + OFS_BAKCTL) |= BAKDIS;
+
45 }
+
46 
+
47 void BattBak_initAndEnableCharger (uint16_t baseAddress,
+
48  uint8_t chargerEndVoltage,
+
49  uint8_t chargeCurrent)
+
50 {
+
51  HWREG16(baseAddress +
+
52  OFS_BAKCHCTL) = CHPWD + chargerEndVoltage + chargeCurrent + CHEN;
+
53 }
+
54 
+
55 void BattBak_disableCharger (uint16_t baseAddress)
+
56 {
+
57  HWREG16(baseAddress + OFS_BAKCHCTL) = CHPWD;
+
58 }
+
59 
+
60 void BattBak_setBackupRAMData (uint16_t baseAddress,
+
61  uint8_t backupRAMSelect,
+
62  uint16_t data)
+
63 {
+
64  HWREG16(baseAddress + backupRAMSelect) = data;
+
65 }
+
66 
+
67 uint16_t BattBak_getBackupRAMData (uint16_t baseAddress,
+
68  uint8_t backupRAMSelect)
+
69 {
+
70  return ( HWREG16(baseAddress + backupRAMSelect) );
+
71 }
+
72 
+
73 #endif
+
74 //*****************************************************************************
+
75 //
+
78 //
+
79 //*****************************************************************************
+ + +
#define HWREG8(x)
Definition: hw_memmap.h:41
+
#define HWREG16(x)
Definition: hw_memmap.h:39
+
+
+ + + + diff --git a/Documentation/html/battbak_8h.html b/Documentation/html/battbak_8h.html new file mode 100644 index 0000000..54914ef --- /dev/null +++ b/Documentation/html/battbak_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/battbak.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
battbak.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/battbak_8h_source.html b/Documentation/html/battbak_8h_source.html new file mode 100644 index 0000000..c647ef9 --- /dev/null +++ b/Documentation/html/battbak_8h_source.html @@ -0,0 +1,245 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/battbak.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
battbak.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // battbak.h - Driver for the BATTBAK Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_BATTBAK_H__
+
8 #define __MSP430WARE_BATTBAK_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_BATTERY_CHARGER__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 //*****************************************************************************
+
26 //
+
27 // The following are values that can be passed toThe following are values that
+
28 // can be returned by the BattBak_unlockBackupSubSystem() function.
+
29 //
+
30 //*****************************************************************************
+
31 #define BATTBAK_UNLOCKFAILURE (LOCKBAK)
+
32 #define BATTBAK_UNLOCKSUCCESS (0x0)
+
33 
+
34 //*****************************************************************************
+
35 //
+
36 // The following are values that can be passed to the chargerEndVoltage
+
37 // parameter for functions: BattBak_initAndEnableCharger().
+
38 //
+
39 //*****************************************************************************
+
40 #define BATTBAK_CHARGERENDVOLTAGE_VCC (BAKCHV0)
+
41 #define BATTBAK_CHARGERENDVOLTAGE2_7V (BAKCHV1)
+
42 
+
43 //*****************************************************************************
+
44 //
+
45 // The following are values that can be passed to the chargeCurrent parameter
+
46 // for functions: BattBak_initAndEnableCharger().
+
47 //
+
48 //*****************************************************************************
+
49 #define BATTBAK_CHARGECURRENT_5KOHM (BAKCHC0)
+
50 #define BATTBAK_CHARGECURRENT_10KOHM (BAKCHC1)
+
51 #define BATTBAK_CHARGECURRENT_20KOHM (BAKCHC0 + BAKCHC1)
+
52 
+
53 //*****************************************************************************
+
54 //
+
55 // The following are values that can be passed to the backupRAMSelect parameter
+
56 // for functions: BattBak_setBackupRAMData(), and BattBak_getBackupRAMData().
+
57 //
+
58 //*****************************************************************************
+
59 #define BATTBAK_RAMSELECT_0 (0x0000)
+
60 #define BATTBAK_RAMSELECT_1 (0x0002)
+
61 #define BATTBAK_RAMSELECT_2 (0x0004)
+
62 #define BATTBAK_RAMSELECT_3 (0x0006)
+
63 
+
64 //*****************************************************************************
+
65 //
+
66 // Prototypes for the APIs.
+
67 //
+
68 //*****************************************************************************
+
69 
+
70 //*****************************************************************************
+
71 //
+
88 //
+
89 //*****************************************************************************
+
90 extern uint16_t BattBak_unlockBackupSubSystem(uint16_t baseAddress);
+
91 
+
92 //*****************************************************************************
+
93 //
+
104 //
+
105 //*****************************************************************************
+
106 extern void BattBak_enableBackupSupplyToADC(uint16_t baseAddress);
+
107 
+
108 //*****************************************************************************
+
109 //
+
118 //
+
119 //*****************************************************************************
+
120 extern void BattBak_disableBackupSupplyToADC(uint16_t baseAddress);
+
121 
+
122 //*****************************************************************************
+
123 //
+
133 //
+
134 //*****************************************************************************
+
135 extern void BattBak_switchToBackupSupplyManually(uint16_t baseAddress);
+
136 
+
137 //*****************************************************************************
+
138 //
+
147 //
+
148 //*****************************************************************************
+
149 extern void BattBak_disable(uint16_t baseAddress);
+
150 
+
151 //*****************************************************************************
+
152 //
+
176 //
+
177 //*****************************************************************************
+
178 extern void BattBak_initAndEnableCharger(uint16_t baseAddress,
+
179  uint8_t chargerEndVoltage,
+
180  uint8_t chargeCurrent);
+
181 
+
182 //*****************************************************************************
+
183 //
+
193 //
+
194 //*****************************************************************************
+
195 extern void BattBak_disableCharger(uint16_t baseAddress);
+
196 
+
197 //*****************************************************************************
+
198 //
+
214 //
+
215 //*****************************************************************************
+
216 extern void BattBak_setBackupRAMData(uint16_t baseAddress,
+
217  uint8_t backupRAMSelect,
+
218  uint16_t data);
+
219 
+
220 //*****************************************************************************
+
221 //
+
236 //
+
237 //*****************************************************************************
+
238 extern uint16_t BattBak_getBackupRAMData(uint16_t baseAddress,
+
239  uint8_t backupRAMSelect);
+
240 
+
241 //*****************************************************************************
+
242 //
+
243 // Mark the end of the C bindings section for C++ compilers.
+
244 //
+
245 //*****************************************************************************
+
246 #ifdef __cplusplus
+
247 }
+
248 #endif
+
249 
+
250 #endif
+
251 #endif // __MSP430WARE_BATTBAK_H__
+ +
+
+ + + + diff --git a/Documentation/html/comp__b_8c.html b/Documentation/html/comp__b_8c.html new file mode 100644 index 0000000..457906f --- /dev/null +++ b/Documentation/html/comp__b_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/comp_b.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
comp_b.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/comp__b_8c_source.html b/Documentation/html/comp__b_8c_source.html new file mode 100644 index 0000000..beeb845 --- /dev/null +++ b/Documentation/html/comp__b_8c_source.html @@ -0,0 +1,315 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/comp_b.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
comp_b.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // comp_b.c - Driver for the comp_b Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_COMPB__
+
17 #include "comp_b.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 bool Comp_B_init(uint16_t baseAddress, Comp_B_initParam *param)
+
22 {
+
23  bool retVal = STATUS_SUCCESS;
+
24 
+
25  //Reset COMPB Control 1 & Interrupt Registers for initialization (OFS_CBCTL3
+
26  //is not reset because it controls the input buffers of the analog signals
+
27  //and may cause parasitic effects if an analog signal is still attached and
+
28  //the buffer is re-enabled
+
29  HWREG16(baseAddress + OFS_CBCTL0) &= 0x0000;
+
30  HWREG16(baseAddress + OFS_CBINT) &= 0x0000;
+
31 
+
32  //Clear reference voltage and reference source
+
33  HWREG16(baseAddress + OFS_CBCTL2) &= ~(CBRS_3 | CBREFL_3);
+
34 
+
35  //Set the Positive Terminal
+
36  if(COMP_B_VREF != param->positiveTerminalInput) {
+
37  //Enable Positive Terminal Input Mux and Set it to the appropriate input
+
38  HWREG16(baseAddress + OFS_CBCTL0) |= CBIPEN + param->positiveTerminalInput;
+
39 
+
40  //Disable the input buffer
+
41  HWREG16(baseAddress + OFS_CBCTL3) |= (1 << param->positiveTerminalInput);
+
42  }
+
43  else {
+
44  //Reset and Set COMPB Control 2 Register
+
45  //Set Vref to go to (+)terminal
+
46  HWREG16(baseAddress + OFS_CBCTL2) &= ~(CBRSEL);
+
47  }
+
48 
+
49  //Set the Negative Terminal
+
50  if (COMP_B_VREF != param->negativeTerminalInput) {
+
51  //Enable Negative Terminal Input Mux and Set it to the appropriate input
+
52  HWREG16(baseAddress + OFS_CBCTL0) |= CBIMEN + (param->negativeTerminalInput << 8);
+
53 
+
54  //Disable the input buffer
+
55  HWREG16(baseAddress + OFS_CBCTL3) |= (1 << param->negativeTerminalInput);
+
56  }
+
57  else {
+
58  //Reset and Set COMPB Control 2 Register
+
59  //Set Vref to go to (-) terminal
+
60  HWREG16(baseAddress + OFS_CBCTL2) |= CBRSEL;
+
61  }
+
62 
+
63  //Reset and Set COMPB Control 1 Register
+
64  HWREG16(baseAddress + OFS_CBCTL1) =
+
65  param->powerModeSelect //Set the power mode
+
66  + param->outputFilterEnableAndDelayLevel //Set the filter enable bit and delay
+
67  + param->invertedOutputPolarity; //Set the polarity of the output
+
68 
+
69  return (retVal);
+
70 }
+
71 
+
72 void Comp_B_configureReferenceVoltage(uint16_t baseAddress,
+
73  Comp_B_configureReferenceVoltageParam *param)
+
74 {
+
75  //Set to VREF0
+
76  HWREG16(baseAddress + OFS_CBCTL1) &= ~(CBMRVS);
+
77 
+
78  //Reset COMPB Control 2 Bits (Except for CBRSEL which is set in Comp_Init())
+
79  HWREG16(baseAddress + OFS_CBCTL2) &= CBRSEL;
+
80 
+
81  //Set Voltage Source (Vcc | Vref, resistor ladder or not)
+
82  if (COMP_B_VREFBASE_VCC == param->supplyVoltageReferenceBase) {
+
83  HWREG16(baseAddress + OFS_CBCTL2) |= CBRS_1; //Vcc with resistor ladder
+
84  }
+
85  else if (param->lowerLimitSupplyVoltageFractionOf32 == 32) {
+
86  //If the lower limit is 32, then the upper limit has to be 32 due to the
+
87  //assertion that upper must be >= to the lower limit. If the numerator is
+
88  //equal to 32, then the equation would be 32/32 == 1, therefore no resistor
+
89  //ladder is needed
+
90  HWREG16(baseAddress + OFS_CBCTL2) |= CBRS_3; //Vref, no resistor ladder
+
91  }
+
92  else {
+
93  HWREG16(baseAddress + OFS_CBCTL2) |= CBRS_2; //Vref with resistor ladder
+
94  }
+
95 
+
96  //Set COMPD Control 2 Register
+
97  HWREG16(baseAddress + OFS_CBCTL2) |=
+
98  param->supplyVoltageReferenceBase //Set Supply Voltage Base
+
99  + ((param->upperLimitSupplyVoltageFractionOf32 - 1) << 8) //Set Supply Voltage Num.
+
100  + (param->lowerLimitSupplyVoltageFractionOf32 - 1);
+
101 
+
102  HWREG16(baseAddress + OFS_CBCTL2) &= ~(CBREFACC);
+
103  HWREG16(baseAddress + OFS_CBCTL2) |= param->referenceAccuracy;
+
104 }
+
105 
+
106 void Comp_B_enableInterrupt(uint16_t baseAddress,
+
107  uint16_t interruptMask)
+
108 {
+
109  //Set the Interrupt enable bit
+
110  HWREG16(baseAddress + OFS_CBINT) |= interruptMask;
+
111 }
+
112 
+
113 void Comp_B_disableInterrupt(uint16_t baseAddress,
+
114  uint16_t interruptMask)
+
115 {
+
116  HWREG16(baseAddress + OFS_CBINT) &= ~(interruptMask);
+
117 }
+
118 
+
119 void Comp_B_clearInterrupt(uint16_t baseAddress,
+
120  uint16_t interruptFlagMask)
+
121 {
+
122  HWREG16(baseAddress + OFS_CBINT) &= ~(interruptFlagMask);
+
123 }
+
124 
+
125 uint8_t Comp_B_getInterruptStatus(uint16_t baseAddress,
+
126  uint16_t interruptFlagMask)
+
127 {
+
128  return(HWREG16(baseAddress + OFS_CBINT) & interruptFlagMask);
+
129 }
+
130 
+
131 void Comp_B_setInterruptEdgeDirection(uint16_t baseAddress,
+
132  uint16_t edgeDirection)
+
133 {
+
134  //Set the edge direction that will trigger an interrupt
+
135  if(COMP_B_RISINGEDGE == edgeDirection) {
+
136  HWREG16(baseAddress + OFS_CBCTL1) &= ~(CBIES);
+
137  }
+
138  else if(COMP_B_FALLINGEDGE == edgeDirection) {
+
139  HWREG16(baseAddress + OFS_CBCTL1) |= CBIES;
+
140  }
+
141 }
+
142 
+
143 void Comp_B_toggleInterruptEdgeDirection(uint16_t baseAddress)
+
144 {
+
145  HWREG16(baseAddress + OFS_CBCTL1) ^= CBIES;
+
146 }
+
147 
+
148 void Comp_B_enable(uint16_t baseAddress)
+
149 {
+
150  HWREG16(baseAddress + OFS_CBCTL1) |= CBON;
+
151 }
+
152 
+
153 void Comp_B_disable(uint16_t baseAddress)
+
154 {
+
155  HWREG16(baseAddress + OFS_CBCTL1) &= ~(CBON);
+
156 }
+
157 
+
158 void Comp_B_shortInputs(uint16_t baseAddress)
+
159 {
+
160  HWREG16(baseAddress + OFS_CBCTL1) |= CBSHORT;
+
161 }
+
162 
+
163 void Comp_B_unshortInputs(uint16_t baseAddress)
+
164 {
+
165  HWREG16(baseAddress + OFS_CBCTL1) &= ~(CBSHORT);
+
166 }
+
167 
+
168 void Comp_B_disableInputBuffer(uint16_t baseAddress,
+
169  uint8_t inputPort)
+
170 {
+
171  HWREG16(baseAddress + OFS_CBCTL3) |= (1 << inputPort);
+
172 }
+
173 
+
174 void Comp_B_enableInputBuffer(uint16_t baseAddress,
+
175  uint8_t inputPort)
+
176 {
+
177  HWREG16(baseAddress + OFS_CBCTL3) &= ~(1 << inputPort);
+
178 }
+
179 
+
180 void Comp_B_swapIO(uint16_t baseAddress)
+
181 {
+
182  HWREG16(baseAddress + OFS_CBCTL1) ^= CBEX;
+
183 }
+
184 
+
185 uint16_t Comp_B_outputValue(uint16_t baseAddress)
+
186 {
+
187  return (HWREG16(baseAddress + OFS_CBCTL1) & CBOUT);
+
188 
+
189 }
+
190 
+
191 void Comp_B_selectReferenceVoltage(uint16_t baseAddress, uint16_t selectType,
+
192  uint16_t selectVRef)
+
193 {
+
194  HWREG16(baseAddress + OFS_CBCTL1) &= ~(CBMRVS | CBMRVL);
+
195  if(selectType == COMP_B_VREF_MANUAL_SELECT) {
+
196  HWREG16(baseAddress + OFS_CBCTL1) |= CBMRVS;
+
197  if(selectVRef == COMP_B_SELECT_VREF1) {
+
198  HWREG16(baseAddress + OFS_CBCTL1) |= CBMRVL;
+
199  }
+
200  }
+
201 }
+
202 
+
203 
+
204 #endif
+
205 //*****************************************************************************
+
206 //
+
209 //
+
210 //*****************************************************************************
+ + +
#define HWREG16(x)
Definition: hw_memmap.h:39
+
#define STATUS_SUCCESS
Definition: hw_memmap.h:22
+
+
+ + + + diff --git a/Documentation/html/comp__b_8h.html b/Documentation/html/comp__b_8h.html new file mode 100644 index 0000000..1fa30a7 --- /dev/null +++ b/Documentation/html/comp__b_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/comp_b.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
comp_b.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/comp__b_8h_source.html b/Documentation/html/comp__b_8h_source.html new file mode 100644 index 0000000..47647b0 --- /dev/null +++ b/Documentation/html/comp__b_8h_source.html @@ -0,0 +1,422 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/comp_b.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
comp_b.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // comp_b.h - Driver for the COMP_B Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_COMP_B_H__
+
8 #define __MSP430WARE_COMP_B_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_COMPB__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 #include "inc/hw_memmap.h"
+
26 //*****************************************************************************
+
27 //
+
29 //
+
30 //*****************************************************************************
+
31 typedef struct Comp_B_initParam {
+
51  uint8_t positiveTerminalInput;
+
71  uint8_t negativeTerminalInput;
+
77  uint16_t powerModeSelect;
+
87  uint8_t outputFilterEnableAndDelayLevel;
+
92  uint16_t invertedOutputPolarity;
+
93 } Comp_B_initParam;
+
94 
+
95 //*****************************************************************************
+
96 //
+
99 //
+
100 //*****************************************************************************
+
101 typedef struct Comp_B_configureReferenceVoltageParam {
+
109  uint16_t supplyVoltageReferenceBase;
+
112  uint16_t lowerLimitSupplyVoltageFractionOf32;
+
115  uint16_t upperLimitSupplyVoltageFractionOf32;
+
121  uint16_t referenceAccuracy;
+
122 } Comp_B_configureReferenceVoltageParam;
+
123 
+
124 
+
125 //*****************************************************************************
+
126 //
+
127 // The following are values that can be passed to the powerModeSelect parameter
+
128 // for functions: Comp_B_init(); the param parameter for functions:
+
129 // Comp_B_init().
+
130 //
+
131 //*****************************************************************************
+
132 #define COMP_B_POWERMODE_HIGHSPEED (CBPWRMD_0)
+
133 #define COMP_B_POWERMODE_NORMALMODE (CBPWRMD_1)
+
134 #define COMP_B_POWERMODE_ULTRALOWPOWER (CBPWRMD_2)
+
135 
+
136 //*****************************************************************************
+
137 //
+
138 // The following are values that can be passed to the positiveTerminalInput
+
139 // parameter for functions: Comp_B_init(); the inputPort parameter for
+
140 // functions: Comp_B_disableInputBuffer(), and Comp_B_enableInputBuffer(); the
+
141 // param parameter for functions: Comp_B_init(), and Comp_B_init(); the
+
142 // negativeTerminalInput parameter for functions: Comp_B_init().
+
143 //
+
144 //*****************************************************************************
+
145 #define COMP_B_INPUT0 (CBIPSEL_0)
+
146 #define COMP_B_INPUT1 (CBIPSEL_1)
+
147 #define COMP_B_INPUT2 (CBIPSEL_2)
+
148 #define COMP_B_INPUT3 (CBIPSEL_3)
+
149 #define COMP_B_INPUT4 (CBIPSEL_4)
+
150 #define COMP_B_INPUT5 (CBIPSEL_5)
+
151 #define COMP_B_INPUT6 (CBIPSEL_6)
+
152 #define COMP_B_INPUT7 (CBIPSEL_7)
+
153 #define COMP_B_INPUT8 (CBIPSEL_8)
+
154 #define COMP_B_INPUT9 (CBIPSEL_9)
+
155 #define COMP_B_INPUT10 (CBIPSEL_10)
+
156 #define COMP_B_INPUT11 (CBIPSEL_11)
+
157 #define COMP_B_INPUT12 (CBIPSEL_12)
+
158 #define COMP_B_INPUT13 (CBIPSEL_13)
+
159 #define COMP_B_INPUT14 (CBIPSEL_14)
+
160 #define COMP_B_INPUT15 (CBIPSEL_15)
+
161 #define COMP_B_VREF (0x10)
+
162 
+
163 //*****************************************************************************
+
164 //
+
165 // The following are values that can be passed to the
+
166 // outputFilterEnableAndDelayLevel parameter for functions: Comp_B_init(); the
+
167 // param parameter for functions: Comp_B_init().
+
168 //
+
169 //*****************************************************************************
+
170 #define COMP_B_FILTEROUTPUT_OFF 0x00
+
171 #define COMP_B_FILTEROUTPUT_DLYLVL1 (CBF + CBFDLY_0)
+
172 #define COMP_B_FILTEROUTPUT_DLYLVL2 (CBF + CBFDLY_1)
+
173 #define COMP_B_FILTEROUTPUT_DLYLVL3 (CBF + CBFDLY_2)
+
174 #define COMP_B_FILTEROUTPUT_DLYLVL4 (CBF + CBFDLY_3)
+
175 
+
176 //*****************************************************************************
+
177 //
+
178 // The following are values that can be passed to the invertedOutputPolarity
+
179 // parameter for functions: Comp_B_init(); the param parameter for functions:
+
180 // Comp_B_init().
+
181 //
+
182 //*****************************************************************************
+
183 #define COMP_B_NORMALOUTPUTPOLARITY (!(CBOUTPOL))
+
184 #define COMP_B_INVERTEDOUTPUTPOLARITY (CBOUTPOL)
+
185 
+
186 //*****************************************************************************
+
187 //
+
188 // The following are values that can be passed to the param parameter for
+
189 // functions: Comp_B_configureReferenceVoltage().
+
190 //
+
191 //*****************************************************************************
+
192 #define COMP_B_ACCURACY_STATIC (!CBREFACC)
+
193 #define COMP_B_ACCURACY_CLOCKED (CBREFACC)
+
194 
+
195 //*****************************************************************************
+
196 //
+
197 // The following are values that can be passed to the param parameter for
+
198 // functions: Comp_B_configureReferenceVoltage().
+
199 //
+
200 //*****************************************************************************
+
201 #define COMP_B_VREFBASE_VCC (CBREFL_0)
+
202 #define COMP_B_VREFBASE1_5V (CBREFL_1)
+
203 #define COMP_B_VREFBASE2_0V (CBREFL_2)
+
204 #define COMP_B_VREFBASE2_5V (CBREFL_3)
+
205 
+
206 //*****************************************************************************
+
207 //
+
208 // The following are values that can be passed to the interruptMask parameter
+
209 // for functions: Comp_B_enableInterrupt(), and Comp_B_disableInterrupt().
+
210 //
+
211 //*****************************************************************************
+
212 #define COMP_B_OUTPUT_INT CBIE
+
213 #define COMP_B_OUTPUTINVERTED_INT CBIIE
+
214 
+
215 //*****************************************************************************
+
216 //
+
217 // The following are values that can be passed to the interruptFlagMask
+
218 // parameter for functions: Comp_B_clearInterrupt(), and
+
219 // Comp_B_getInterruptStatus() as well as returned by the
+
220 // Comp_B_getInterruptStatus() function.
+
221 //
+
222 //*****************************************************************************
+
223 #define COMP_B_OUTPUT_FLAG CBIFG
+
224 #define COMP_B_OUTPUTINVERTED_FLAG CBIIFG
+
225 
+
226 //*****************************************************************************
+
227 //
+
228 // The following are values that can be passed to the edgeDirection parameter
+
229 // for functions: Comp_B_setInterruptEdgeDirection().
+
230 //
+
231 //*****************************************************************************
+
232 #define COMP_B_RISINGEDGE (!(CBIES))
+
233 #define COMP_B_FALLINGEDGE (CBIES)
+
234 
+
235 //*****************************************************************************
+
236 //
+
237 // The following are values that can be passed toThe following are values that
+
238 // can be returned by the Comp_B_outputValue() function.
+
239 //
+
240 //*****************************************************************************
+
241 #define COMP_B_LOW (0x0)
+
242 #define COMP_B_HIGH (CBOUT)
+
243 
+
244 //*****************************************************************************
+
245 //
+
246 // The following are values that can be passed to the selectType parameter for
+
247 // functions: Comp_B_selectReferenceVoltage().
+
248 //
+
249 //*****************************************************************************
+
250 #define COMP_B_VREF_AUTO_SELECT 0x0000
+
251 #define COMP_B_VREF_MANUAL_SELECT CBMRVS
+
252 
+
253 //*****************************************************************************
+
254 //
+
255 // The following are values that can be passed to the selectVRef parameter for
+
256 // functions: Comp_B_selectReferenceVoltage().
+
257 //
+
258 //*****************************************************************************
+
259 #define COMP_B_SELECT_VREF0 0x0000
+
260 #define COMP_B_SELECT_VREF1 CBMRVL
+
261 
+
262 //*****************************************************************************
+
263 //
+
264 // Prototypes for the APIs.
+
265 //
+
266 //*****************************************************************************
+
267 
+
268 //*****************************************************************************
+
269 //
+
283 //
+
284 //*****************************************************************************
+
285 extern bool Comp_B_init(uint16_t baseAddress,
+
286  Comp_B_initParam *param);
+
287 
+
288 //*****************************************************************************
+
289 //
+
303 //
+
304 //*****************************************************************************
+
305 extern void Comp_B_configureReferenceVoltage(uint16_t baseAddress,
+
306  Comp_B_configureReferenceVoltageParam *param);
+
307 
+
308 //*****************************************************************************
+
309 //
+
325 //
+
326 //*****************************************************************************
+
327 extern void Comp_B_enableInterrupt(uint16_t baseAddress,
+
328  uint16_t interruptMask);
+
329 
+
330 //*****************************************************************************
+
331 //
+
347 //
+
348 //*****************************************************************************
+
349 extern void Comp_B_disableInterrupt(uint16_t baseAddress,
+
350  uint16_t interruptMask);
+
351 
+
352 //*****************************************************************************
+
353 //
+
369 //
+
370 //*****************************************************************************
+
371 extern void Comp_B_clearInterrupt(uint16_t baseAddress,
+
372  uint16_t interruptFlagMask);
+
373 
+
374 //*****************************************************************************
+
375 //
+
392 //
+
393 //*****************************************************************************
+
394 extern uint8_t Comp_B_getInterruptStatus(uint16_t baseAddress,
+
395  uint16_t interruptFlagMask);
+
396 
+
397 //*****************************************************************************
+
398 //
+
420 //
+
421 //*****************************************************************************
+
422 extern void Comp_B_setInterruptEdgeDirection(uint16_t baseAddress,
+
423  uint16_t edgeDirection);
+
424 
+
425 //*****************************************************************************
+
426 //
+
437 //
+
438 //*****************************************************************************
+
439 extern void Comp_B_toggleInterruptEdgeDirection(uint16_t baseAddress);
+
440 
+
441 //*****************************************************************************
+
442 //
+
450 //
+
451 //*****************************************************************************
+
452 extern void Comp_B_enable(uint16_t baseAddress);
+
453 
+
454 //*****************************************************************************
+
455 //
+
464 //
+
465 //*****************************************************************************
+
466 extern void Comp_B_disable(uint16_t baseAddress);
+
467 
+
468 //*****************************************************************************
+
469 //
+
478 //
+
479 //*****************************************************************************
+
480 extern void Comp_B_shortInputs(uint16_t baseAddress);
+
481 
+
482 //*****************************************************************************
+
483 //
+
493 //
+
494 //*****************************************************************************
+
495 extern void Comp_B_unshortInputs(uint16_t baseAddress);
+
496 
+
497 //*****************************************************************************
+
498 //
+
532 //
+
533 //*****************************************************************************
+
534 extern void Comp_B_disableInputBuffer(uint16_t baseAddress,
+
535  uint8_t inputPort);
+
536 
+
537 //*****************************************************************************
+
538 //
+
570 //
+
571 //*****************************************************************************
+
572 extern void Comp_B_enableInputBuffer(uint16_t baseAddress,
+
573  uint8_t inputPort);
+
574 
+
575 //*****************************************************************************
+
576 //
+
588 //
+
589 //*****************************************************************************
+
590 extern void Comp_B_swapIO(uint16_t baseAddress);
+
591 
+
592 //*****************************************************************************
+
593 //
+
604 //
+
605 //*****************************************************************************
+
606 extern uint16_t Comp_B_outputValue(uint16_t baseAddress);
+
607 
+
608 //*****************************************************************************
+
609 //
+
633 //
+
634 //*****************************************************************************
+
635 extern void Comp_B_selectReferenceVoltage(uint16_t baseAddress,
+
636  uint16_t selectType,
+
637  uint16_t selectVRef);
+
638 
+
639 //*****************************************************************************
+
640 //
+
641 // Mark the end of the C bindings section for C++ compilers.
+
642 //
+
643 //*****************************************************************************
+
644 #ifdef __cplusplus
+
645 }
+
646 #endif
+
647 
+
648 #endif
+
649 #endif // __MSP430WARE_COMP_B_H__
+ +
+
+ + + + diff --git a/Documentation/html/crc_8c.html b/Documentation/html/crc_8c.html new file mode 100644 index 0000000..2a55729 --- /dev/null +++ b/Documentation/html/crc_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/crc.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
crc.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/crc_8c_source.html b/Documentation/html/crc_8c_source.html new file mode 100644 index 0000000..e7fef96 --- /dev/null +++ b/Documentation/html/crc_8c_source.html @@ -0,0 +1,177 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/crc.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
crc.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // crc.c - Driver for the crc Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_CRC__
+
17 #include "crc.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 void CRC_setSeed (uint16_t baseAddress,
+
22  uint16_t seed)
+
23 {
+
24  HWREG16(baseAddress + OFS_CRCINIRES) = seed;
+
25 }
+
26 
+
27 void CRC_set16BitData (uint16_t baseAddress,
+
28  uint16_t dataIn)
+
29 {
+
30  HWREG16(baseAddress + OFS_CRCDI) = dataIn;
+
31 }
+
32 
+
33 void CRC_set8BitData (uint16_t baseAddress,
+
34  uint8_t dataIn)
+
35 {
+
36  HWREG8(baseAddress + OFS_CRCDI_L) = dataIn;
+
37 }
+
38 
+
39 void CRC_set16BitDataReversed (uint16_t baseAddress,
+
40  uint16_t dataIn)
+
41 {
+
42  HWREG16(baseAddress + OFS_CRCDIRB) = dataIn;
+
43 }
+
44 
+
45 void CRC_set8BitDataReversed (uint16_t baseAddress,
+
46  uint8_t dataIn)
+
47 {
+
48  HWREG8(baseAddress + OFS_CRCDIRB_L) = dataIn;
+
49 }
+
50 
+
51 uint16_t CRC_getData (uint16_t baseAddress)
+
52 {
+
53  return ( HWREG16(baseAddress + OFS_CRCDI) );
+
54 }
+
55 
+
56 uint16_t CRC_getResult (uint16_t baseAddress)
+
57 {
+
58  return ( HWREG16(baseAddress + OFS_CRCINIRES) );
+
59 }
+
60 
+
61 uint16_t CRC_getResultBitsReversed (uint16_t baseAddress)
+
62 {
+
63  return ( HWREG16(baseAddress + OFS_CRCRESR) );
+
64 }
+
65 
+
66 #endif
+
67 //*****************************************************************************
+
68 //
+
71 //
+
72 //*****************************************************************************
+ + +
#define HWREG8(x)
Definition: hw_memmap.h:41
+
#define HWREG16(x)
Definition: hw_memmap.h:39
+
+
+ + + + diff --git a/Documentation/html/crc_8h.html b/Documentation/html/crc_8h.html new file mode 100644 index 0000000..274c503 --- /dev/null +++ b/Documentation/html/crc_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/crc.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
crc.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/crc_8h_source.html b/Documentation/html/crc_8h_source.html new file mode 100644 index 0000000..c5aeeca --- /dev/null +++ b/Documentation/html/crc_8h_source.html @@ -0,0 +1,200 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/crc.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
crc.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // crc.h - Driver for the CRC Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_CRC_H__
+
8 #define __MSP430WARE_CRC_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_CRC__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 //*****************************************************************************
+
26 //
+
27 // Prototypes for the APIs.
+
28 //
+
29 //*****************************************************************************
+
30 
+
31 //*****************************************************************************
+
32 //
+
44 //
+
45 //*****************************************************************************
+
46 extern void CRC_setSeed(uint16_t baseAddress,
+
47  uint16_t seed);
+
48 
+
49 //*****************************************************************************
+
50 //
+
63 //
+
64 //*****************************************************************************
+
65 extern void CRC_set16BitData(uint16_t baseAddress,
+
66  uint16_t dataIn);
+
67 
+
68 //*****************************************************************************
+
69 //
+
82 //
+
83 //*****************************************************************************
+
84 extern void CRC_set8BitData(uint16_t baseAddress,
+
85  uint8_t dataIn);
+
86 
+
87 //*****************************************************************************
+
88 //
+
102 //
+
103 //*****************************************************************************
+
104 extern void CRC_set16BitDataReversed(uint16_t baseAddress,
+
105  uint16_t dataIn);
+
106 
+
107 //*****************************************************************************
+
108 //
+
122 //
+
123 //*****************************************************************************
+
124 extern void CRC_set8BitDataReversed(uint16_t baseAddress,
+
125  uint8_t dataIn);
+
126 
+
127 //*****************************************************************************
+
128 //
+
137 //
+
138 //*****************************************************************************
+
139 extern uint16_t CRC_getData(uint16_t baseAddress);
+
140 
+
141 //*****************************************************************************
+
142 //
+
151 //
+
152 //*****************************************************************************
+
153 extern uint16_t CRC_getResult(uint16_t baseAddress);
+
154 
+
155 //*****************************************************************************
+
156 //
+
164 //
+
165 //*****************************************************************************
+
166 extern uint16_t CRC_getResultBitsReversed(uint16_t baseAddress);
+
167 
+
168 //*****************************************************************************
+
169 //
+
170 // Mark the end of the C bindings section for C++ compilers.
+
171 //
+
172 //*****************************************************************************
+
173 #ifdef __cplusplus
+
174 }
+
175 #endif
+
176 
+
177 #endif
+
178 #endif // __MSP430WARE_CRC_H__
+ +
+
+ + + + diff --git a/Documentation/html/ctsd16_8c.html b/Documentation/html/ctsd16_8c.html new file mode 100644 index 0000000..471f3e4 --- /dev/null +++ b/Documentation/html/ctsd16_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ctsd16.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ctsd16.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/ctsd16_8c_source.html b/Documentation/html/ctsd16_8c_source.html new file mode 100644 index 0000000..d836c00 --- /dev/null +++ b/Documentation/html/ctsd16_8c_source.html @@ -0,0 +1,386 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ctsd16.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ctsd16.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // ctsd16.c - Driver for the ctsd16 Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_CTSD16__
+
17 #include "ctsd16.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 void CTSD16_init(uint16_t baseAddress, uint16_t chargePumpBurstRequest,
+
22  uint8_t referenceSelect)
+
23 {
+
24  // Reset all interrupts and flags
+
25  HWREG16(baseAddress + OFS_CTSD16IE) &= 0x0000; //Reset ALL interrupt enables
+
26  HWREG16(baseAddress + OFS_CTSD16IFG) &= 0x0000; //Reset ALL interrupt flags
+
27 
+
28  // Configure CTSD16
+
29  HWREG16(baseAddress + OFS_CTSD16CTL) &= ~(CTSD16RRIBURST | CTSD16OFFG |
+
30  CTSD16REFS);
+
31 
+
32  HWREG16(baseAddress + OFS_CTSD16CTL) |= chargePumpBurstRequest | referenceSelect;
+
33 
+
34  return;
+
35 }
+
36 
+
37 void CTSD16_initConverter(uint16_t baseAddress, uint8_t converter,
+
38  uint16_t conversionMode, uint8_t inputChannel)
+
39 {
+
40  uint16_t address;
+
41  address = baseAddress + (OFS_CTSD16CCTL0 + (converter * 0x06));
+
42 
+
43  // Clearing previous settings for configuration
+
44  HWREG16(address) &= ~(CTSD16SC | CTSD16SNGL);
+
45 
+
46  HWREG16(address) |= conversionMode;
+
47 
+
48  address += 0x2;
+
49 
+
50  HWREG16(address) &= ~(CTSD16INCH4 | CTSD16INCH3 | CTSD16INCH2 |
+
51  CTSD16INCH1 | CTSD16INCH0);
+
52 
+
53  HWREG16(address) |= inputChannel;
+
54 }
+
55 
+
56 void CTSD16_initConverterAdvanced(uint16_t baseAddress,
+
57  CTSD16_initConverterAdvancedParam *param)
+
58 {
+
59  uint16_t address;
+
60 
+
61  // Getting correct CTSD16CCTLx register
+
62  address = baseAddress + (OFS_CTSD16CCTL0 + (param->converter * 0x06));
+
63 
+
64  // Clearing previous settings for configuration
+
65  HWREG16(address) &= ~(CTSD16SC | CTSD16SNGL | CTSD16GRP | CTSD16OSR__32 |
+
66  CTSD16DF);
+
67 
+
68  HWREG16(address) |= (param->groupEnable | param->conversionMode | param->oversampleRatio | param->dataFormat);
+
69 
+
70  // Getting correct CTSD16INCTLx register
+
71  address += 0x2;
+
72 
+
73  HWREG16(address) &= ~(CTSD16RRI | CTSD16INTDLY | CTSD16GAIN2 |
+
74  CTSD16GAIN1 | CTSD16GAIN0 | CTSD16INCH4 | CTSD16INCH3 | CTSD16INCH2 |
+
75  CTSD16INCH1 | CTSD16INCH0);
+
76 
+
77  HWREG16(address) |= (param->railToRailInput | param->interruptDelay |
+
78  param->gain | param->inputChannel);
+
79 
+
80 }
+
81 
+
82 void CTSD16_startConverterConversion(uint16_t baseAddress,
+
83  uint8_t converter)
+
84 {
+
85  uint16_t address;
+
86 
+
87  address = baseAddress + (OFS_CTSD16CCTL0 + (converter * 0x06));
+
88 
+
89  // Setting CTSD16SC bit to start conversion
+
90  HWREG16(address) |= CTSD16SC;
+
91 }
+
92 
+
93 void CTSD16_stopConverterConversion(uint16_t baseAddress,
+
94  uint8_t converter)
+
95 {
+
96  uint16_t address;
+
97 
+
98  address = baseAddress + (OFS_CTSD16CCTL0 + (converter * 0x06));
+
99 
+
100  // Setting CTSD16SC bit to start conversion
+
101  HWREG16(address) &= ~(CTSD16SC);
+
102 }
+
103 
+
104 void CTSD16_setConverterDataFormat(uint16_t baseAddress,
+
105  uint8_t converter,
+
106  uint8_t dataFormat)
+
107 {
+
108  uint16_t address;
+
109 
+
110  address = baseAddress + (OFS_CTSD16CCTL0 + (converter * 0x06));
+
111 
+
112  // Clearing previous settings for configuration
+
113  HWREG8(address) &= ~CTSD16DF;
+
114 
+
115  HWREG8(address) |= dataFormat;
+
116 }
+
117 
+
118 void CTSD16_setInputChannel(uint16_t baseAddress,
+
119  uint8_t converter,
+
120  uint8_t inputChannel)
+
121 {
+
122  uint16_t address;
+
123 
+
124  address = baseAddress + (OFS_CTSD16INCTL0 + (converter * 0x06));
+
125 
+
126  // Clear previous settings
+
127  HWREG16(address) &= ~(CTSD16INCH4 | CTSD16INCH3 | CTSD16INCH2 |
+
128  CTSD16INCH1 | CTSD16INCH0);
+
129 
+
130  HWREG16(address) |= inputChannel;
+
131 }
+
132 
+
133 void CTSD16_setRailToRailInput(uint16_t baseAddress,
+
134  uint8_t converter,
+
135  uint16_t railToRailInput)
+
136 {
+
137  uint16_t address;
+
138 
+
139  address = baseAddress + (OFS_CTSD16INCTL0 + (converter * 0x06));
+
140 
+
141  // Clear previous settings
+
142  HWREG16(address) &= ~CTSD16RRI;
+
143 
+
144  HWREG16(address) |= railToRailInput;
+
145 }
+
146 
+
147 void CTSD16_setInterruptDelay(uint16_t baseAddress,
+
148  uint8_t converter,
+
149  uint16_t interruptDelay)
+
150 {
+
151  uint16_t address;
+
152 
+
153  address = baseAddress + (OFS_CTSD16INCTL0 + (converter * 0x06));
+
154 
+
155  // Clear previous settings
+
156  HWREG16(address) &= ~CTSD16INTDLY;
+
157 
+
158  HWREG16(address) |= interruptDelay;
+
159 
+
160 }
+
161 
+
162 void CTSD16_setOversampling(uint16_t baseAddress,
+
163  uint8_t converter,
+
164  uint16_t oversampleRatio)
+
165 {
+
166  uint16_t address;
+
167 
+
168  address = baseAddress + (OFS_CTSD16CCTL0 + (converter * 0x06));
+
169 
+
170  // Setting CTSD16SC bit to start conversion
+
171  HWREG16(address) |= oversampleRatio;
+
172 }
+
173 
+
174 void CTSD16_setGain(uint16_t baseAddress,
+
175  uint8_t converter,
+
176  uint8_t gain)
+
177 {
+
178  uint16_t address;
+
179 
+
180  address = baseAddress + (OFS_CTSD16INCTL0 + (converter * 0x06));
+
181 
+
182  // Clear previous settings
+
183  HWREG16(address) &= ~(CTSD16GAIN2 | CTSD16GAIN1 | CTSD16GAIN0);
+
184 
+
185  HWREG16(address) |= gain;
+
186 }
+
187 
+
188 uint32_t CTSD16_getResults(uint16_t baseAddress,
+
189  uint8_t converter)
+
190 {
+
191  volatile uint16_t OSR;
+
192 
+
193  uint16_t address = baseAddress + (OFS_CTSD16MEM0 + (converter * 0x02));
+
194 
+
195  // Get high word result
+
196  HWREG16(baseAddress + (OFS_CTSD16CCTL0 + (converter * 0x02))) &= ~(CTSD16LSBACC);
+
197  uint32_t highResult = (uint32_t)HWREG16(address);
+
198 
+
199  // Get low word result
+
200  HWREG16(baseAddress + (OFS_CTSD16CCTL0 + (converter * 0x02))) |= CTSD16LSBACC;
+
201  uint16_t lowResult = HWREG16(address);
+
202  HWREG16(baseAddress + (OFS_CTSD16CCTL0 + (converter * 0x02))) &= ~(CTSD16LSBACC);
+
203 
+
204  // Determine the OSR and combine the high and low result words as appropriate
+
205  OSR = HWREG16(baseAddress + (OFS_CTSD16CCTL0 + (converter * 0x02))) & (CTSD16OSR0 | CTSD16OSR1);
+
206 
+
207  if(OSR == CTSD16_OVERSAMPLE_256)
+
208  {
+
209  return (highResult << 8) | lowResult;
+
210  }
+
211  else if(OSR == CTSD16_OVERSAMPLE_128)
+
212  {
+
213  return (highResult << 5) | lowResult;
+
214  }
+
215  else if(OSR == CTSD16_OVERSAMPLE_64)
+
216  {
+
217  return (highResult << 2) | lowResult;
+
218  }
+
219  else // OSR = CTSD16_OVERSAMPLE_32
+
220  {
+
221  return (highResult);
+
222  }
+
223 }
+
224 
+
225 uint16_t CTSD16_getHighWordResults(uint16_t baseAddress,
+
226  uint8_t converter)
+
227 {
+
228  // Calculate address of MEM results
+
229  uint16_t address = baseAddress + (OFS_CTSD16MEM0 + (converter * 0x02));
+
230 
+
231  // Get high word result
+
232  HWREG16(baseAddress + (OFS_CTSD16CCTL0 + (converter * 0x02))) &= ~(CTSD16LSBACC);
+
233  uint16_t highResult = HWREG16(address);
+
234 
+
235  return(highResult);
+
236 }
+
237 
+
238 uint16_t CTSD16_isRailToRailInputReady(uint16_t baseAddress)
+
239 {
+
240  return HWREG16(baseAddress + OFS_CTSD16CTL) & CTSD16RRIRDY;
+
241 }
+
242 
+
243 void CTSD16_enableInterrupt (uint16_t baseAddress,
+
244  uint8_t converter,
+
245  uint16_t mask)
+
246 {
+
247  //Enable Interrupt
+
248  HWREG16(baseAddress + OFS_CTSD16IE) |= (mask << converter);
+
249 
+
250 }
+
251 
+
252 void CTSD16_disableInterrupt (uint16_t baseAddress,
+
253  uint8_t converter,
+
254  uint16_t mask)
+
255 {
+
256  //Enable Interrupt
+
257  HWREG16(baseAddress + OFS_CTSD16IE) &= ~(mask << converter);
+
258 
+
259 }
+
260 
+
261 void CTSD16_clearInterrupt (uint16_t baseAddress,
+
262  uint8_t converter,
+
263  uint16_t mask)
+
264 {
+
265  HWREG16(baseAddress + OFS_CTSD16IFG) &= ~(mask << converter);
+
266 }
+
267 
+
268 uint16_t CTSD16_getInterruptStatus (uint16_t baseAddress,
+
269  uint8_t converter,
+
270  uint16_t mask)
+
271 {
+
272  return ( HWREG16(baseAddress + OFS_CTSD16IFG) & (mask << converter) );
+
273 }
+
274 
+
275 #endif
+
276 //*****************************************************************************
+
277 //
+
280 //
+
281 //*****************************************************************************
+ + +
#define HWREG8(x)
Definition: hw_memmap.h:41
+
#define HWREG16(x)
Definition: hw_memmap.h:39
+
+
+ + + + diff --git a/Documentation/html/ctsd16_8h.html b/Documentation/html/ctsd16_8h.html new file mode 100644 index 0000000..cb9bf8c --- /dev/null +++ b/Documentation/html/ctsd16_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ctsd16.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ctsd16.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/ctsd16_8h_source.html b/Documentation/html/ctsd16_8h_source.html new file mode 100644 index 0000000..e952b37 --- /dev/null +++ b/Documentation/html/ctsd16_8h_source.html @@ -0,0 +1,463 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ctsd16.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ctsd16.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // ctsd16.h - Driver for the CTSD16 Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_CTSD16_H__
+
8 #define __MSP430WARE_CTSD16_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_CTSD16__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 #include "inc/hw_memmap.h"
+
26 //*****************************************************************************
+
27 //
+
30 //
+
31 //*****************************************************************************
+
32 typedef struct CTSD16_initConverterAdvancedParam {
+
42  uint8_t converter;
+
48  uint16_t conversionMode;
+
52  uint8_t groupEnable;
+
74  uint8_t inputChannel;
+
79  uint8_t dataFormat;
+
84  uint16_t railToRailInput;
+
89  uint16_t interruptDelay;
+
96  uint16_t oversampleRatio;
+
104  uint8_t gain;
+
105 } CTSD16_initConverterAdvancedParam;
+
106 
+
107 
+
108 //*****************************************************************************
+
109 //
+
110 // The following are values that can be passed to the converter parameter for
+
111 // functions: CTSD16_setConverterDataFormat(),
+
112 // CTSD16_startConverterConversion(), CTSD16_stopConverterConversion(),
+
113 // CTSD16_setInputChannel(), CTSD16_setInterruptDelay(),
+
114 // CTSD16_setOversampling(), CTSD16_setGain(), CTSD16_setRailToRailInput(),
+
115 // CTSD16_getResults(), CTSD16_getHighWordResults(), CTSD16_enableInterrupt(),
+
116 // CTSD16_disableInterrupt(), CTSD16_clearInterrupt(),
+
117 // CTSD16_getInterruptStatus(), and CTSD16_initConverter(); the param parameter
+
118 // for functions: CTSD16_initConverterAdvanced().
+
119 //
+
120 //*****************************************************************************
+
121 #define CTSD16_CONVERTER_0 0
+
122 #define CTSD16_CONVERTER_1 1
+
123 #define CTSD16_CONVERTER_2 2
+
124 #define CTSD16_CONVERTER_3 3
+
125 #define CTSD16_CONVERTER_4 4
+
126 #define CTSD16_CONVERTER_5 5
+
127 #define CTSD16_CONVERTER_6 6
+
128 
+
129 //*****************************************************************************
+
130 //
+
131 // The following are values that can be passed to the oversampleRatio parameter
+
132 // for functions: CTSD16_setOversampling(); the param parameter for functions:
+
133 // CTSD16_initConverterAdvanced().
+
134 //
+
135 //*****************************************************************************
+
136 #define CTSD16_OVERSAMPLE_32 (CTSD16OSR__32)
+
137 #define CTSD16_OVERSAMPLE_64 (CTSD16OSR__64)
+
138 #define CTSD16_OVERSAMPLE_128 (CTSD16OSR__128)
+
139 #define CTSD16_OVERSAMPLE_256 (CTSD16OSR__256)
+
140 
+
141 //*****************************************************************************
+
142 //
+
143 // The following are values that can be passed to the inputChannel parameter
+
144 // for functions: CTSD16_initConverter(), and CTSD16_setInputChannel(); the
+
145 // param parameter for functions: CTSD16_initConverterAdvanced().
+
146 //
+
147 //*****************************************************************************
+
148 #define CTSD16_INPUT_CH0 (CTSD16INCH_0)
+
149 #define CTSD16_INPUT_CH1 (CTSD16INCH_1)
+
150 #define CTSD16_INPUT_CH2 (CTSD16INCH_2)
+
151 #define CTSD16_INPUT_CH3 (CTSD16INCH_3)
+
152 #define CTSD16_INPUT_CH4 (CTSD16INCH_4)
+
153 #define CTSD16_INPUT_CH5 (CTSD16INCH_5)
+
154 #define CTSD16_INPUT_CH6 (CTSD16INCH_6)
+
155 #define CTSD16_INPUT_CH7 (CTSD16INCH_7)
+
156 #define CTSD16_INPUT_CH8 (CTSD16INCH_8)
+
157 #define CTSD16_INPUT_CH9 (CTSD16INCH_9)
+
158 #define CTSD16_INPUT_CH10 (CTSD16INCH_10)
+
159 #define CTSD16_INPUT_CH11 (CTSD16INCH_11)
+
160 #define CTSD16_INPUT_CH12 (CTSD16INCH_12)
+
161 #define CTSD16_INPUT_CH13 (CTSD16INCH_13)
+
162 #define CTSD16_INPUT_CH14 (CTSD16INCH_14)
+
163 #define CTSD16_INPUT_CH15 (CTSD16INCH_15)
+
164 #define CTSD16_INPUT_CH16 (CTSD16INCH_16)
+
165 #define CTSD16_INPUT_CH17 (CTSD16INCH_17)
+
166 #define CTSD16_INPUT_CH18 (CTSD16INCH_18)
+
167 
+
168 //*****************************************************************************
+
169 //
+
170 // The following are values that can be passed to the dataFormat parameter for
+
171 // functions: CTSD16_setConverterDataFormat(); the param parameter for
+
172 // functions: CTSD16_initConverterAdvanced().
+
173 //
+
174 //*****************************************************************************
+
175 #define CTSD16_DATA_FORMAT_BINARY (0x00)
+
176 #define CTSD16_DATA_FORMAT_2COMPLEMENT (CTSD16DF)
+
177 
+
178 //*****************************************************************************
+
179 //
+
180 // The following are values that can be passed to the gain parameter for
+
181 // functions: CTSD16_setGain(); the param parameter for functions:
+
182 // CTSD16_initConverterAdvanced().
+
183 //
+
184 //*****************************************************************************
+
185 #define CTSD16_GAIN_1 (CTSD16GAIN_1)
+
186 #define CTSD16_GAIN_2 (CTSD16GAIN_2)
+
187 #define CTSD16_GAIN_4 (CTSD16GAIN_4)
+
188 #define CTSD16_GAIN_8 (CTSD16GAIN_8)
+
189 #define CTSD16_GAIN_16 (CTSD16GAIN_16)
+
190 
+
191 //*****************************************************************************
+
192 //
+
193 // The following are values that can be passed to the interruptDelay parameter
+
194 // for functions: CTSD16_setInterruptDelay(); the param parameter for
+
195 // functions: CTSD16_initConverterAdvanced().
+
196 //
+
197 //*****************************************************************************
+
198 #define CTSD16_FIRST_SAMPLE_INTERRUPT (CTSD16INTDLY)
+
199 #define CTSD16_FOURTH_SAMPLE_INTERRUPT (0x00)
+
200 
+
201 //*****************************************************************************
+
202 //
+
203 // The following are values that can be passed to the param parameter for
+
204 // functions: CTSD16_initConverterAdvanced().
+
205 //
+
206 //*****************************************************************************
+
207 #define CTSD16_NOT_GROUPED (0x00)
+
208 #define CTSD16_GROUPED (CTSD16GRP)
+
209 
+
210 //*****************************************************************************
+
211 //
+
212 // The following are values that can be passed to the mask parameter for
+
213 // functions: CTSD16_enableInterrupt(), CTSD16_disableInterrupt(),
+
214 // CTSD16_clearInterrupt(), and CTSD16_getInterruptStatus() as well as returned
+
215 // by the CTSD16_getInterruptStatus() function.
+
216 //
+
217 //*****************************************************************************
+
218 #define CTSD16_CONVERTER_INTERRUPT (CTSD16IE0)
+
219 #define CTSD16_CONVERTER_OVERFLOW_INTERRUPT (CTSD16OVIE0)
+
220 
+
221 //*****************************************************************************
+
222 //
+
223 // The following are values that can be passed to the chargePumpBurstRequest
+
224 // parameter for functions: CTSD16_init().
+
225 //
+
226 //*****************************************************************************
+
227 #define CTSD16_RTR_INPUT_CHARGEPUMP_BURST_REQUEST_ENABLE (CTSD16RRIBURST)
+
228 #define CTSD16_RTR_INPUT_CHARGEPUMP_BURST_REQUEST_DISABLE (0x0)
+
229 
+
230 //*****************************************************************************
+
231 //
+
232 // The following are values that can be passed to the referenceSelect parameter
+
233 // for functions: CTSD16_init().
+
234 //
+
235 //*****************************************************************************
+
236 #define CTSD16_REF_EXTERNAL (0x0)
+
237 #define CTSD16_REF_INTERNAL (CTSD16REFS)
+
238 
+
239 //*****************************************************************************
+
240 //
+
241 // The following are values that can be passed to the param parameter for
+
242 // functions: CTSD16_initConverterAdvanced(); the conversionMode parameter for
+
243 // functions: CTSD16_initConverter().
+
244 //
+
245 //*****************************************************************************
+
246 #define CTSD16_CONTINUOUS_MODE (0x0)
+
247 #define CTSD16_SINGLE_MODE (CTSD16SNGL)
+
248 
+
249 //*****************************************************************************
+
250 //
+
251 // The following are values that can be passed to the railToRailInput parameter
+
252 // for functions: CTSD16_setRailToRailInput(); the param parameter for
+
253 // functions: CTSD16_initConverterAdvanced().
+
254 //
+
255 //*****************************************************************************
+
256 #define CTSD16_RTR_INPUT_ENABLE (CTSD16RRI)
+
257 #define CTSD16_RTR_INPUT_DISABLE (0x0)
+
258 
+
259 //*****************************************************************************
+
260 //
+
261 // The following are values that can be passed toThe following are values that
+
262 // can be returned by the CTSD16_isRailToRailInputReady() function.
+
263 //
+
264 //*****************************************************************************
+
265 #define CTSD16_RTR_INPUT_READY (CTSD16RRIRDY)
+
266 #define CTSD16_RTR_INPUT_NOT_READY (0x0)
+
267 
+
268 //*****************************************************************************
+
269 //
+
270 // Prototypes for the APIs.
+
271 //
+
272 //*****************************************************************************
+
273 
+
274 //*****************************************************************************
+
275 //
+
299 //
+
300 //*****************************************************************************
+
301 extern void CTSD16_init(uint16_t baseAddress,
+
302  uint16_t chargePumpBurstRequest,
+
303  uint8_t referenceSelect);
+
304 
+
305 //*****************************************************************************
+
306 //
+
354 //
+
355 //*****************************************************************************
+
356 extern void CTSD16_initConverter(uint16_t baseAddress,
+
357  uint8_t converter,
+
358  uint16_t conversionMode,
+
359  uint8_t inputChannel);
+
360 
+
361 //*****************************************************************************
+
362 //
+
373 //
+
374 //*****************************************************************************
+
375 extern void CTSD16_initConverterAdvanced(uint16_t baseAddress,
+
376  CTSD16_initConverterAdvancedParam *param);
+
377 
+
378 //*****************************************************************************
+
379 //
+
397 //
+
398 //*****************************************************************************
+
399 extern void CTSD16_startConverterConversion(uint16_t baseAddress,
+
400  uint8_t converter);
+
401 
+
402 //*****************************************************************************
+
403 //
+
421 //
+
422 //*****************************************************************************
+
423 extern void CTSD16_stopConverterConversion(uint16_t baseAddress,
+
424  uint8_t converter);
+
425 
+
426 //*****************************************************************************
+
427 //
+
451 //
+
452 //*****************************************************************************
+
453 extern void CTSD16_setConverterDataFormat(uint16_t baseAddress,
+
454  uint8_t converter,
+
455  uint8_t dataFormat);
+
456 
+
457 //*****************************************************************************
+
458 //
+
498 //
+
499 //*****************************************************************************
+
500 extern void CTSD16_setInputChannel(uint16_t baseAddress,
+
501  uint8_t converter,
+
502  uint8_t inputChannel);
+
503 
+
504 //*****************************************************************************
+
505 //
+
527 //
+
528 //*****************************************************************************
+
529 extern void CTSD16_setRailToRailInput(uint16_t baseAddress,
+
530  uint8_t converter,
+
531  uint16_t railToRailInput);
+
532 
+
533 //*****************************************************************************
+
534 //
+
559 //
+
560 //*****************************************************************************
+
561 extern void CTSD16_setInterruptDelay(uint16_t baseAddress,
+
562  uint8_t converter,
+
563  uint16_t interruptDelay);
+
564 
+
565 //*****************************************************************************
+
566 //
+
590 //
+
591 //*****************************************************************************
+
592 extern void CTSD16_setOversampling(uint16_t baseAddress,
+
593  uint8_t converter,
+
594  uint16_t oversampleRatio);
+
595 
+
596 //*****************************************************************************
+
597 //
+
622 //
+
623 //*****************************************************************************
+
624 extern void CTSD16_setGain(uint16_t baseAddress,
+
625  uint8_t converter,
+
626  uint8_t gain);
+
627 
+
628 //*****************************************************************************
+
629 //
+
648 //
+
649 //*****************************************************************************
+
650 extern uint32_t CTSD16_getResults(uint16_t baseAddress,
+
651  uint8_t converter);
+
652 
+
653 //*****************************************************************************
+
654 //
+
672 //
+
673 //*****************************************************************************
+
674 extern uint16_t CTSD16_getHighWordResults(uint16_t baseAddress,
+
675  uint8_t converter);
+
676 
+
677 //*****************************************************************************
+
678 //
+
690 //
+
691 //*****************************************************************************
+
692 extern uint16_t CTSD16_isRailToRailInputReady(uint16_t baseAddress);
+
693 
+
694 //*****************************************************************************
+
695 //
+
719 //
+
720 //*****************************************************************************
+
721 extern void CTSD16_enableInterrupt(uint16_t baseAddress,
+
722  uint8_t converter,
+
723  uint16_t mask);
+
724 
+
725 //*****************************************************************************
+
726 //
+
751 //
+
752 //*****************************************************************************
+
753 extern void CTSD16_disableInterrupt(uint16_t baseAddress,
+
754  uint8_t converter,
+
755  uint16_t mask);
+
756 
+
757 //*****************************************************************************
+
758 //
+
780 //
+
781 //*****************************************************************************
+
782 extern void CTSD16_clearInterrupt(uint16_t baseAddress,
+
783  uint8_t converter,
+
784  uint16_t mask);
+
785 
+
786 //*****************************************************************************
+
787 //
+
811 //
+
812 //*****************************************************************************
+
813 extern uint16_t CTSD16_getInterruptStatus(uint16_t baseAddress,
+
814  uint8_t converter,
+
815  uint16_t mask);
+
816 
+
817 //*****************************************************************************
+
818 //
+
819 // Mark the end of the C bindings section for C++ compilers.
+
820 //
+
821 //*****************************************************************************
+
822 #ifdef __cplusplus
+
823 }
+
824 #endif
+
825 
+
826 #endif
+
827 #endif // __MSP430WARE_CTSD16_H__
+ +
+
+ + + + diff --git a/Documentation/html/dac12__a_8c.html b/Documentation/html/dac12__a_8c.html new file mode 100644 index 0000000..295bb82 --- /dev/null +++ b/Documentation/html/dac12__a_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/dac12_a.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dac12_a.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/dac12__a_8c_source.html b/Documentation/html/dac12__a_8c_source.html new file mode 100644 index 0000000..b45e58a --- /dev/null +++ b/Documentation/html/dac12__a_8c_source.html @@ -0,0 +1,317 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/dac12_a.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dac12_a.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // dac12_a.c - Driver for the dac12_a Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_DAC12_2__
+
17 #include "dac12_a.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 bool DAC12_A_init(uint16_t baseAddress, DAC12_A_initParam *param)
+
22 {
+
23  baseAddress += param->submoduleSelect; //Add 0x10 to base address IF
+
24  //DAC12_A_1 is selected.
+
25  HWREG16(baseAddress + OFS_DAC12_0CTL1) &= ~(DAC12OG + DAC12DFJ);
+
26 
+
27  //Reset and Set DAC12_A Control 0 Bits
+
28  HWREG16(baseAddress + OFS_DAC12_0CTL0) = param->outputSelect
+
29  + param->positiveReferenceVoltage
+
30  + param->amplifierSetting
+
31  + param->conversionTriggerSelect;
+
32 
+
33  if (DAC12_A_VREFx1 == param->outputVoltageMultiplier){
+
34  HWREG16(baseAddress + OFS_DAC12_0CTL0) |= DAC12IR;
+
35  } else if (DAC12_A_VREFx2 == param->outputVoltageMultiplier){
+
36  HWREG16(baseAddress + OFS_DAC12_0CTL1) |= DAC12OG;
+
37  }
+
38  //else if(DAC12_A_VREFx3 == outputVoltageMultiplier)
+
39  //Both DAC12IR and DAC12OG values == 0
+
40 
+
41  return ( STATUS_SUCCESS) ;
+
42 }void DAC12_A_setAmplifierSetting (uint16_t baseAddress,
+
43  uint8_t submoduleSelect,
+
44  uint8_t amplifierSetting)
+
45 {
+
46  //Reset amplifier setting to set it
+
47  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) &= ~(DAC12AMP_7);
+
48  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) |= amplifierSetting;
+
49 }
+
50 
+
51 void DAC12_A_disable (uint16_t baseAddress,
+
52  uint8_t submoduleSelect)
+
53 {
+
54  //Reset amplifier setting to turn DAC12_A off completely
+
55  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) &= ~(DAC12AMP_7);
+
56 }
+
57 
+
58 void DAC12_A_enableGrouping (uint16_t baseAddress)
+
59 {
+
60  HWREG16(baseAddress + OFS_DAC12_0CTL0) |= DAC12GRP;
+
61 }
+
62 
+
63 void DAC12_A_disableGrouping (uint16_t baseAddress)
+
64 {
+
65  HWREG16(baseAddress + OFS_DAC12_0CTL0) &= ~(DAC12GRP);
+
66 }
+
67 
+
68 void DAC12_A_enableInterrupt (uint16_t baseAddress,
+
69  uint8_t submoduleSelect)
+
70 {
+
71  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) |= DAC12IE;
+
72 }
+
73 
+
74 void DAC12_A_disableInterrupt (uint16_t baseAddress,
+
75  uint8_t submoduleSelect)
+
76 {
+
77  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) &= ~(DAC12IE);
+
78 }
+
79 
+
80 uint16_t DAC12_A_getInterruptStatus (uint16_t baseAddress,
+
81  uint8_t submoduleSelect)
+
82 {
+
83  return (HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) & DAC12IFG);
+
84 }
+
85 
+
86 void DAC12_A_clearInterrupt (uint16_t baseAddress,
+
87  uint8_t submoduleSelect)
+
88 {
+
89  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) &= ~(DAC12IFG);
+
90 }
+
91 
+
92 void DAC12_A_calibrateOutput (uint16_t baseAddress,
+
93  uint8_t submoduleSelect)
+
94 {
+
95  //Unlock Calibration
+
96  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CALCTL) = DAC12PW;
+
97 
+
98  //Start Calibration
+
99  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) |= DAC12CALON;
+
100 
+
101  //Wait for Calibration to Finish
+
102  while (HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) & DAC12CALON);
+
103 
+
104  //Lock Calibration
+
105  HWREG16(baseAddress + submoduleSelect +
+
106  OFS_DAC12_0CALCTL) = DAC12PW + DAC12LOCK;
+
107 }
+
108 
+
109 uint16_t DAC12_A_getCalibrationData (uint16_t baseAddress,
+
110  uint8_t submoduleSelect)
+
111 {
+
112  return ((uint16_t)(HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CALDAT))) ;
+
113 }
+
114 
+
115 void DAC12_A_setCalibrationOffset (uint16_t baseAddress,
+
116  uint8_t submoduleSelect,
+
117  uint16_t calibrationOffsetValue)
+
118 {
+
119  //Unlock Calibration
+
120  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CALCTL) = DAC12PW;
+
121 
+
122  //Set Calibration Offset
+
123  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CALDAT) =
+
124  calibrationOffsetValue;
+
125 
+
126  //Lock Calibration
+
127  HWREG16(baseAddress + submoduleSelect +
+
128  OFS_DAC12_0CALCTL) = DAC12PW + DAC12LOCK;
+
129 }
+
130 
+
131 void DAC12_A_enableConversions (uint16_t baseAddress,
+
132  uint8_t submoduleSelect)
+
133 {
+
134  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) |= DAC12ENC;
+
135 }
+
136 
+
137 void DAC12_A_setData (uint16_t baseAddress,
+
138  uint8_t submoduleSelect,
+
139  uint16_t data)
+
140 {
+
141  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0DAT) = data;
+
142 }
+
143 
+
144 void DAC12_A_disableConversions (uint16_t baseAddress,
+
145  uint8_t submoduleSelect)
+
146 {
+
147  HWREG16(baseAddress + submoduleSelect + OFS_DAC12_0CTL0) &= ~(DAC12ENC);
+
148 }
+
149 
+
150 void DAC12_A_setResolution (uint16_t baseAddress,
+
151  uint8_t submoduleSelect,
+
152  uint16_t resolutionSelect)
+
153 {
+
154  //Store the ENC bit status
+
155  uint16_t conversionsEnabledStatus =
+
156  ( HWREG16(baseAddress + OFS_DAC12_0CTL0) & (DAC12ENC) );
+
157 
+
158  baseAddress += submoduleSelect; //Add 0x10 to base address IF
+
159  //DAC12_A_1 is selected.
+
160 
+
161  if (DAC12_A_RESOLUTION_8BIT == resolutionSelect){
+
162  HWREG16(baseAddress + OFS_DAC12_0CTL0) |= DAC12RES;
+
163  } else if (DAC12_A_RESOLUTION_12BIT == resolutionSelect){
+
164  HWREG16(baseAddress + OFS_DAC12_0CTL0) &= ~(DAC12RES);
+
165  }
+
166 
+
167  //Restore the ENC bit status
+
168  HWREG16(baseAddress + OFS_DAC12_0CTL0) |= conversionsEnabledStatus;
+
169 }
+
170 
+
171 void DAC12_A_setInputDataFormat (uint16_t baseAddress,
+
172  uint8_t submoduleSelect,
+
173  uint8_t inputJustification,
+
174  uint8_t inputSign)
+
175 {
+
176  //Store the ENC bit status
+
177  uint16_t conversionsEnabledStatus =
+
178  ( HWREG16(baseAddress + OFS_DAC12_0CTL0) & (DAC12ENC) );
+
179 
+
180  baseAddress += submoduleSelect; //Add 0x10 to base address IF
+
181  //DAC12_A_1 is selected.
+
182 
+
183  if (DAC12_A_JUSTIFICATION_LEFT == inputJustification){
+
184  HWREG16(baseAddress + OFS_DAC12_0CTL1) |= DAC12DFJ;
+
185  } else if (DAC12_A_JUSTIFICATION_RIGHT == inputJustification){
+
186  HWREG16(baseAddress + OFS_DAC12_0CTL1) &= ~(DAC12DFJ);
+
187  }
+
188 
+
189  if (DAC12_A_SIGNED_2SCOMPLEMENT == inputSign){
+
190  HWREG16(baseAddress + OFS_DAC12_0CTL0) |= DAC12DF;
+
191  } else if (DAC12_A_UNSIGNED_BINARY == inputSign){
+
192  HWREG16(baseAddress + OFS_DAC12_0CTL0) &= ~(DAC12DF);
+
193  }
+
194 
+
195  //Restore the ENC bit status
+
196  HWREG16(baseAddress + OFS_DAC12_0CTL0) |= conversionsEnabledStatus;
+
197 }
+
198 
+
199 uint32_t DAC12_A_getDataBufferMemoryAddressForDMA (uint16_t baseAddress,
+
200  uint8_t submoduleSelect)
+
201 {
+
202  return ( baseAddress + submoduleSelect + OFS_DAC12_0DAT );
+
203 }
+
204 
+
205 
+
206 #endif
+
207 //*****************************************************************************
+
208 //
+
211 //
+
212 //*****************************************************************************
+ + +
#define HWREG16(x)
Definition: hw_memmap.h:39
+
#define STATUS_SUCCESS
Definition: hw_memmap.h:22
+
+
+ + + + diff --git a/Documentation/html/dac12__a_8h.html b/Documentation/html/dac12__a_8h.html new file mode 100644 index 0000000..7d358ab --- /dev/null +++ b/Documentation/html/dac12__a_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/dac12_a.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dac12_a.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/dac12__a_8h_source.html b/Documentation/html/dac12__a_8h_source.html new file mode 100644 index 0000000..3344521 --- /dev/null +++ b/Documentation/html/dac12__a_8h_source.html @@ -0,0 +1,405 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/dac12_a.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dac12_a.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // dac12_a.h - Driver for the DAC12_A Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_DAC12_A_H__
+
8 #define __MSP430WARE_DAC12_A_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_DAC12_2__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 #include "inc/hw_memmap.h"
+
26 //*****************************************************************************
+
27 //
+
29 //
+
30 //*****************************************************************************
+
31 typedef struct DAC12_A_initParam {
+
36  uint8_t submoduleSelect;
+
41  uint16_t outputSelect;
+
50  uint16_t positiveReferenceVoltage;
+
56  uint16_t outputVoltageMultiplier;
+
80  uint8_t amplifierSetting;
+
97  uint16_t conversionTriggerSelect;
+
98 } DAC12_A_initParam;
+
99 
+
100 
+
101 //*****************************************************************************
+
102 //
+
103 // The following are values that can be passed to the positiveReferenceVoltage
+
104 // parameter for functions: DAC12_A_init(); the param parameter for functions:
+
105 // DAC12_A_init().
+
106 //
+
107 //*****************************************************************************
+
108 #define DAC12_A_VREF_INT (DAC12SREF_0)
+
109 #define DAC12_A_VREF_AVCC (DAC12SREF_1)
+
110 #define DAC12_A_VREF_EXT (DAC12SREF_2)
+
111 
+
112 //*****************************************************************************
+
113 //
+
114 // The following are values that can be passed to the param parameter for
+
115 // functions: DAC12_A_init(); the amplifierSetting parameter for functions:
+
116 // DAC12_A_init(), and DAC12_A_setAmplifierSetting().
+
117 //
+
118 //*****************************************************************************
+
119 #define DAC12_A_AMP_OFF_PINOUTHIGHZ (DAC12AMP_0)
+
120 #define DAC12_A_AMP_OFF_PINOUTLOW (DAC12AMP_1)
+
121 #define DAC12_A_AMP_LOWIN_LOWOUT (DAC12AMP_2)
+
122 #define DAC12_A_AMP_LOWIN_MEDOUT (DAC12AMP_3)
+
123 #define DAC12_A_AMP_LOWIN_HIGHOUT (DAC12AMP_4)
+
124 #define DAC12_A_AMP_MEDIN_MEDOUT (DAC12AMP_5)
+
125 #define DAC12_A_AMP_MEDIN_HIGHOUT (DAC12AMP_6)
+
126 #define DAC12_A_AMP_HIGHIN_HIGHOUT (DAC12AMP_7)
+
127 
+
128 //*****************************************************************************
+
129 //
+
130 // The following are values that can be passed to the outputSelect parameter
+
131 // for functions: DAC12_A_init(); the param parameter for functions:
+
132 // DAC12_A_init().
+
133 //
+
134 //*****************************************************************************
+
135 #define DAC12_A_OUTPUT_1 (!(DAC12OPS))
+
136 #define DAC12_A_OUTPUT_2 (DAC12OPS)
+
137 
+
138 //*****************************************************************************
+
139 //
+
140 // The following are values that can be passed to the submoduleSelect parameter
+
141 // for functions: DAC12_A_init(), DAC12_A_setAmplifierSetting(),
+
142 // DAC12_A_disable(), DAC12_A_enableInterrupt(), DAC12_A_disableInterrupt(),
+
143 // DAC12_A_getInterruptStatus(), DAC12_A_clearInterrupt(),
+
144 // DAC12_A_calibrateOutput(), DAC12_A_getCalibrationData(),
+
145 // DAC12_A_setCalibrationOffset(), DAC12_A_enableConversions(),
+
146 // DAC12_A_setData(), DAC12_A_disableConversions(), DAC12_A_setResolution(),
+
147 // DAC12_A_setInputDataFormat(), and
+
148 // DAC12_A_getDataBufferMemoryAddressForDMA(); the param parameter for
+
149 // functions: DAC12_A_init().
+
150 //
+
151 //*****************************************************************************
+
152 #define DAC12_A_SUBMODULE_0 (0x00)
+
153 #define DAC12_A_SUBMODULE_1 (0x10)
+
154 
+
155 //*****************************************************************************
+
156 //
+
157 // The following are values that can be passed to the outputVoltageMultiplier
+
158 // parameter for functions: DAC12_A_init(); the param parameter for functions:
+
159 // DAC12_A_init().
+
160 //
+
161 //*****************************************************************************
+
162 #define DAC12_A_VREFx1 (DAC12IR)
+
163 #define DAC12_A_VREFx2 (DAC12OG)
+
164 #define DAC12_A_VREFx3 (0x0)
+
165 
+
166 //*****************************************************************************
+
167 //
+
168 // The following are values that can be passed to the conversionTriggerSelect
+
169 // parameter for functions: DAC12_A_init(); the param parameter for functions:
+
170 // DAC12_A_init().
+
171 //
+
172 //*****************************************************************************
+
173 #define DAC12_A_TRIGGER_ENCBYPASS (DAC12LSEL_0)
+
174 #define DAC12_A_TRIGGER_ENC (DAC12LSEL_1)
+
175 #define DAC12_A_TRIGGER_TA (DAC12LSEL_2)
+
176 #define DAC12_A_TRIGGER_TB (DAC12LSEL_3)
+
177 
+
178 //*****************************************************************************
+
179 //
+
180 // The following are values that can be passed to the resolutionSelect
+
181 // parameter for functions: DAC12_A_setResolution().
+
182 //
+
183 //*****************************************************************************
+
184 #define DAC12_A_RESOLUTION_8BIT (DAC12RES)
+
185 #define DAC12_A_RESOLUTION_12BIT (!(DAC12RES))
+
186 
+
187 //*****************************************************************************
+
188 //
+
189 // The following are values that can be passed to the inputJustification
+
190 // parameter for functions: DAC12_A_setInputDataFormat().
+
191 //
+
192 //*****************************************************************************
+
193 #define DAC12_A_JUSTIFICATION_RIGHT (!(DAC12DFJ))
+
194 #define DAC12_A_JUSTIFICATION_LEFT (DAC12DFJ)
+
195 
+
196 //*****************************************************************************
+
197 //
+
198 // The following are values that can be passed to the inputSign parameter for
+
199 // functions: DAC12_A_setInputDataFormat().
+
200 //
+
201 //*****************************************************************************
+
202 #define DAC12_A_UNSIGNED_BINARY (!(DAC12DF))
+
203 #define DAC12_A_SIGNED_2SCOMPLEMENT (DAC12DF)
+
204 
+
205 //*****************************************************************************
+
206 //
+
207 // The following are values that can be passed toThe following are values that
+
208 // can be returned by the DAC12_A_getInterruptStatus() function.
+
209 //
+
210 //*****************************************************************************
+
211 #define DAC12_A_INT_ACTIVE (DAC12IFG)
+
212 #define DAC12_A_INT_INACTIVE (0x00)
+
213 
+
214 //*****************************************************************************
+
215 //
+
216 // Prototypes for the APIs.
+
217 //
+
218 //*****************************************************************************
+
219 
+
220 //*****************************************************************************
+
221 //
+
235 //
+
236 //*****************************************************************************
+
237 extern bool DAC12_A_init(uint16_t baseAddress,
+
238  DAC12_A_initParam *param);
+
239 
+
240 //*****************************************************************************
+
241 //
+
279 //
+
280 //*****************************************************************************
+
281 extern void DAC12_A_setAmplifierSetting(uint16_t baseAddress,
+
282  uint8_t submoduleSelect,
+
283  uint8_t amplifierSetting);
+
284 
+
285 //*****************************************************************************
+
286 //
+
301 //
+
302 //*****************************************************************************
+
303 extern void DAC12_A_disable(uint16_t baseAddress,
+
304  uint8_t submoduleSelect);
+
305 
+
306 //*****************************************************************************
+
307 //
+
323 //
+
324 //*****************************************************************************
+
325 extern void DAC12_A_enableGrouping(uint16_t baseAddress);
+
326 
+
327 //*****************************************************************************
+
328 //
+
337 //
+
338 //*****************************************************************************
+
339 extern void DAC12_A_disableGrouping(uint16_t baseAddress);
+
340 
+
341 //*****************************************************************************
+
342 //
+
359 //
+
360 //*****************************************************************************
+
361 extern void DAC12_A_enableInterrupt(uint16_t baseAddress,
+
362  uint8_t submoduleSelect);
+
363 
+
364 //*****************************************************************************
+
365 //
+
379 //
+
380 //*****************************************************************************
+
381 extern void DAC12_A_disableInterrupt(uint16_t baseAddress,
+
382  uint8_t submoduleSelect);
+
383 
+
384 //*****************************************************************************
+
385 //
+
402 //
+
403 //*****************************************************************************
+
404 extern uint16_t DAC12_A_getInterruptStatus(uint16_t baseAddress,
+
405  uint8_t submoduleSelect);
+
406 
+
407 //*****************************************************************************
+
408 //
+
424 //
+
425 //*****************************************************************************
+
426 extern void DAC12_A_clearInterrupt(uint16_t baseAddress,
+
427  uint8_t submoduleSelect);
+
428 
+
429 //*****************************************************************************
+
430 //
+
448 //
+
449 //*****************************************************************************
+
450 extern void DAC12_A_calibrateOutput(uint16_t baseAddress,
+
451  uint8_t submoduleSelect);
+
452 
+
453 //*****************************************************************************
+
454 //
+
470 //
+
471 //*****************************************************************************
+
472 extern uint16_t DAC12_A_getCalibrationData(uint16_t baseAddress,
+
473  uint8_t submoduleSelect);
+
474 
+
475 //*****************************************************************************
+
476 //
+
495 //
+
496 //*****************************************************************************
+
497 extern void DAC12_A_setCalibrationOffset(uint16_t baseAddress,
+
498  uint8_t submoduleSelect,
+
499  uint16_t calibrationOffsetValue);
+
500 
+
501 //*****************************************************************************
+
502 //
+
519 //
+
520 //*****************************************************************************
+
521 extern void DAC12_A_enableConversions(uint16_t baseAddress,
+
522  uint8_t submoduleSelect);
+
523 
+
524 //*****************************************************************************
+
525 //
+
551 //
+
552 //*****************************************************************************
+
553 extern void DAC12_A_setData(uint16_t baseAddress,
+
554  uint8_t submoduleSelect,
+
555  uint16_t data);
+
556 
+
557 //*****************************************************************************
+
558 //
+
574 //
+
575 //*****************************************************************************
+
576 extern void DAC12_A_disableConversions(uint16_t baseAddress,
+
577  uint8_t submoduleSelect);
+
578 
+
579 //*****************************************************************************
+
580 //
+
599 //
+
600 //*****************************************************************************
+
601 extern void DAC12_A_setResolution(uint16_t baseAddress,
+
602  uint8_t submoduleSelect,
+
603  uint16_t resolutionSelect);
+
604 
+
605 //*****************************************************************************
+
606 //
+
628 //
+
629 //*****************************************************************************
+
630 extern void DAC12_A_setInputDataFormat(uint16_t baseAddress,
+
631  uint8_t submoduleSelect,
+
632  uint8_t inputJustification,
+
633  uint8_t inputSign);
+
634 
+
635 //*****************************************************************************
+
636 //
+
650 //
+
651 //*****************************************************************************
+
652 extern uint32_t DAC12_A_getDataBufferMemoryAddressForDMA(uint16_t baseAddress,
+
653  uint8_t submoduleSelect);
+
654 
+
655 //*****************************************************************************
+
656 //
+
657 // Mark the end of the C bindings section for C++ compilers.
+
658 //
+
659 //*****************************************************************************
+
660 #ifdef __cplusplus
+
661 }
+
662 #endif
+
663 
+
664 #endif
+
665 #endif // __MSP430WARE_DAC12_A_H__
+ +
+
+ + + + diff --git a/Documentation/html/design_choices.html b/Documentation/html/design_choices.html index 165c0c5..e27d1c4 100644 --- a/Documentation/html/design_choices.html +++ b/Documentation/html/design_choices.html @@ -96,8 +96,20 @@ $(document).ready(function(){initNavTree('design_choices.html',''); initResizabl JTAG Interface

When connecting the MCU to the programmer via the JTAG interface, it is possible for a local power supply connected to the MCU to be used or for power from the debugging/programming adapter to be used. Since having power supplied to the MCU from the debugging/programming adapter can be useful for use outside of the Sunseeker vehicle, we chose to use that.

-Microcontroller Peripheral Connections

-

Universal Serial Communication Interfaces (USCIs):

+Microcontroller Connections +

The board is going to be organized to the best of our abilities to be organized as such:

+ +

+Universal Serial Communication Interfaces (USCIs):

-

+

Real-Time Clock/Calendar: Microchip Technology ‎MCP7940MT-I/SN

-

+

Bluetooth/Wi-Fi: Espressif Systems ESP32-WROVER-IE (8MB)

-

-GPS Receiver: Maxim Integrated ‎MAX2771ETI+T

+

+GPS Receiver: U-Blox NEO-M8Q-01A

-

+

CANbus Controller: Microchip Technology MCP2515T-I/SO

-

+

CANbus Transceiver: ‎Microchip Technology MCP2542FD-H/SN

-

+

SD Card (Generic)

-

+

USB to UART Bridge: Future Technology Devices International FT230XS-R

-

+

RS-232 Transceiver: STMicroelectronics ST232CDR

-

-Inertial Measurement Unit: TDK InvenSense ICM-20600

+

+Inertial Measurement Unit: TDK InvenSense ICM-20948

-

+

Adding Images

Use this pattern/format:

@image html "Documentation Guide.assets/Funny-Cat-Hidden.jpg"
@cond EXCLUDED
@@ -128,7 +128,7 @@ Adding Images diff --git a/Documentation/html/driverlib_8h.html b/Documentation/html/driverlib_8h.html new file mode 100644 index 0000000..4a088b6 --- /dev/null +++ b/Documentation/html/driverlib_8h.html @@ -0,0 +1,149 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/driverlib.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
driverlib.h File Reference
+
+
+
#include "inc/hw_memmap.h"
+#include "eusci_b_i2c.h"
+#include "ctsd16.h"
+#include "battbak.h"
+#include "timer_b.h"
+#include "timer_d.h"
+#include "eusci_a_spi.h"
+#include "eusci_a_uart.h"
+#include "comp_b.h"
+#include "tlv.h"
+#include "dac12_a.h"
+#include "timer_a.h"
+#include "usci_a_uart.h"
+#include "pmm.h"
+#include "sysctl.h"
+#include "adc10_a.h"
+#include "sfr.h"
+#include "mpy32.h"
+#include "wdt_a.h"
+#include "ucs.h"
+#include "pmap.h"
+#include "rtc_a.h"
+#include "usci_b_i2c.h"
+#include "usci_b_spi.h"
+#include "ldopwr.h"
+#include "lcd_c.h"
+#include "tec.h"
+#include "rtc_c.h"
+#include "gpio.h"
+#include "adc12_a.h"
+#include "aes.h"
+#include "oa.h"
+#include "rtc_b.h"
+#include "sd24_b.h"
+#include "ram.h"
+#include "dma.h"
+#include "ref.h"
+#include "eusci_b_spi.h"
+#include "usci_a_spi.h"
+#include "lcd_b.h"
+#include "flashctl.h"
+#include "crc.h"
+
+

Go to the source code of this file.

+
+
+ + + + diff --git a/Documentation/html/driverlib_8h_source.html b/Documentation/html/driverlib_8h_source.html new file mode 100644 index 0000000..a92738d --- /dev/null +++ b/Documentation/html/driverlib_8h_source.html @@ -0,0 +1,190 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/driverlib.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
driverlib.h
+
+
+Go to the documentation of this file.
1 #include "inc/hw_memmap.h"
+
2 
+
3 #include "eusci_b_i2c.h"
+
4 #include "ctsd16.h"
+
5 #include "battbak.h"
+
6 #include "timer_b.h"
+
7 #include "timer_d.h"
+
8 #include "eusci_a_spi.h"
+
9 #include "eusci_a_uart.h"
+
10 #include "comp_b.h"
+
11 #include "tlv.h"
+
12 #include "dac12_a.h"
+
13 #include "timer_a.h"
+
14 #include "usci_a_uart.h"
+
15 #include "pmm.h"
+
16 #include "sysctl.h"
+
17 #include "adc10_a.h"
+
18 #include "sfr.h"
+
19 #include "mpy32.h"
+
20 #include "wdt_a.h"
+
21 #include "ucs.h"
+
22 #include "pmap.h"
+
23 #include "rtc_a.h"
+
24 #include "usci_b_i2c.h"
+
25 #include "usci_b_spi.h"
+
26 #include "ldopwr.h"
+
27 #include "lcd_c.h"
+
28 #include "tec.h"
+
29 #include "rtc_c.h"
+
30 #include "gpio.h"
+
31 #include "adc12_a.h"
+
32 #include "aes.h"
+
33 #include "oa.h"
+
34 #include "rtc_b.h"
+
35 #include "sd24_b.h"
+
36 #include "ram.h"
+
37 #include "dma.h"
+
38 #include "ref.h"
+
39 #include "eusci_b_spi.h"
+
40 #include "usci_a_spi.h"
+
41 #include "lcd_b.h"
+
42 #include "flashctl.h"
+
43 #include "crc.h"
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + diff --git a/Documentation/html/eusci__a__spi_8c.html b/Documentation/html/eusci__a__spi_8c.html new file mode 100644 index 0000000..b2ec1c4 --- /dev/null +++ b/Documentation/html/eusci__a__spi_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_a_spi.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_a_spi.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/eusci__a__spi_8c_source.html b/Documentation/html/eusci__a__spi_8c_source.html new file mode 100644 index 0000000..a4bca29 --- /dev/null +++ b/Documentation/html/eusci__a__spi_8c_source.html @@ -0,0 +1,301 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_a_spi.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_a_spi.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // eusci_a_spi.c - Driver for the eusci_a_spi Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_EUSCI_Ax__
+
17 #include "eusci_a_spi.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 void EUSCI_A_SPI_initMaster (uint16_t baseAddress,
+
22  EUSCI_A_SPI_initMasterParam *param)
+
23 {
+
24  //Disable the USCI Module
+
25  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCSWRST;
+
26 
+
27  //Reset OFS_UCAxCTLW0 values
+
28  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~(UCCKPH + UCCKPL + UC7BIT + UCMSB +
+
29  UCMST + UCMODE_3 + UCSYNC);
+
30 
+
31  //Reset OFS_UCAxCTLW0 values
+
32  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~(UCSSEL_3);
+
33 
+
34  //Select Clock
+
35  HWREG16(baseAddress + OFS_UCAxCTLW0) |= (uint16_t)param->selectClockSource;
+
36 
+
37  HWREG16(baseAddress + OFS_UCAxBRW) =
+
38  (uint16_t)(param->clockSourceFrequency / param->desiredSpiClock);
+
39 
+
40  /*
+
41  * Configure as SPI master mode.
+
42  * Clock phase select, polarity, msb
+
43  * UCMST = Master mode
+
44  * UCSYNC = Synchronous mode
+
45  * UCMODE_0 = 3-pin SPI
+
46  */
+
47  HWREG16(baseAddress + OFS_UCAxCTLW0) |= (
+
48  param->msbFirst +
+
49  param->clockPhase +
+
50  param->clockPolarity +
+
51  UCMST +
+
52  UCSYNC +
+
53  param->spiMode
+
54  );
+
55  //No modulation
+
56  HWREG16(baseAddress + OFS_UCAxMCTLW) = 0;
+
57 }
+
58 
+
59 void EUSCI_A_SPI_select4PinFunctionality (uint16_t baseAddress,
+
60  uint16_t select4PinFunctionality
+
61  )
+
62 {
+
63  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~UCSTEM;
+
64  HWREG16(baseAddress + OFS_UCAxCTLW0) |= select4PinFunctionality;
+
65 }
+
66 
+
67 void EUSCI_A_SPI_changeMasterClock (uint16_t baseAddress,
+
68  EUSCI_A_SPI_changeMasterClockParam *param)
+
69 {
+
70  //Disable the USCI Module
+
71  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCSWRST;
+
72 
+
73  HWREG16(baseAddress + OFS_UCAxBRW) =
+
74  (uint16_t)(param->clockSourceFrequency / param->desiredSpiClock);
+
75 
+
76  //Reset the UCSWRST bit to enable the USCI Module
+
77  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~(UCSWRST);
+
78 }
+
79 
+
80 void EUSCI_A_SPI_initSlave (uint16_t baseAddress, EUSCI_A_SPI_initSlaveParam *param)
+
81 {
+
82  //Disable USCI Module
+
83  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCSWRST;
+
84 
+
85  //Reset OFS_UCAxCTLW0 register
+
86  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~(UCMSB +
+
87  UC7BIT +
+
88  UCMST +
+
89  UCCKPL +
+
90  UCCKPH +
+
91  UCMODE_3
+
92  );
+
93 
+
94  //Clock polarity, phase select, msbFirst, SYNC, Mode0
+
95  HWREG16(baseAddress + OFS_UCAxCTLW0) |= (param->clockPhase +
+
96  param->clockPolarity +
+
97  param->msbFirst +
+
98  UCSYNC +
+
99  param->spiMode
+
100  );
+
101 }
+
102 
+
103 void EUSCI_A_SPI_changeClockPhasePolarity (uint16_t baseAddress,
+
104  uint16_t clockPhase,
+
105  uint16_t clockPolarity
+
106  )
+
107 {
+
108  //Disable the USCI Module
+
109  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCSWRST;
+
110 
+
111  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~(UCCKPH + UCCKPL);
+
112 
+
113  HWREG16(baseAddress + OFS_UCAxCTLW0) |= (
+
114  clockPhase +
+
115  clockPolarity
+
116  );
+
117 
+
118  //Reset the UCSWRST bit to enable the USCI Module
+
119  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~(UCSWRST);
+
120 }
+
121 
+
122 void EUSCI_A_SPI_transmitData ( uint16_t baseAddress,
+
123  uint8_t transmitData
+
124  )
+
125 {
+
126  HWREG16(baseAddress + OFS_UCAxTXBUF) = transmitData;
+
127 }
+
128 
+
129 uint8_t EUSCI_A_SPI_receiveData (uint16_t baseAddress)
+
130 {
+
131  return ( HWREG16(baseAddress + OFS_UCAxRXBUF)) ;
+
132 }
+
133 
+
134 void EUSCI_A_SPI_enableInterrupt (uint16_t baseAddress,
+
135  uint16_t mask
+
136  )
+
137 {
+
138  HWREG16(baseAddress + OFS_UCAxIE) |= mask;
+
139 }
+
140 
+
141 void EUSCI_A_SPI_disableInterrupt (uint16_t baseAddress,
+
142  uint16_t mask
+
143  )
+
144 {
+
145  HWREG16(baseAddress + OFS_UCAxIE) &= ~mask;
+
146 }
+
147 
+
148 uint8_t EUSCI_A_SPI_getInterruptStatus (uint16_t baseAddress,
+
149  uint8_t mask
+
150  )
+
151 {
+
152  return ( HWREG16(baseAddress + OFS_UCAxIFG) & mask );
+
153 }
+
154 
+
155 void EUSCI_A_SPI_clearInterrupt (uint16_t baseAddress,
+
156  uint16_t mask
+
157  )
+
158 {
+
159  HWREG16(baseAddress + OFS_UCAxIFG) &= ~mask;
+
160 }
+
161 
+
162 void EUSCI_A_SPI_enable (uint16_t baseAddress)
+
163 {
+
164  //Reset the UCSWRST bit to enable the USCI Module
+
165  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~(UCSWRST);
+
166 }
+
167 
+
168 void EUSCI_A_SPI_disable (uint16_t baseAddress)
+
169 {
+
170  //Set the UCSWRST bit to disable the USCI Module
+
171  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCSWRST;
+
172 }
+
173 
+
174 uint32_t EUSCI_A_SPI_getReceiveBufferAddress (uint16_t baseAddress)
+
175 {
+
176  return ( baseAddress + OFS_UCAxRXBUF );
+
177 }
+
178 
+
179 uint32_t EUSCI_A_SPI_getTransmitBufferAddress (uint16_t baseAddress)
+
180 {
+
181  return ( baseAddress + OFS_UCAxTXBUF );
+
182 }
+
183 
+
184 uint16_t EUSCI_A_SPI_isBusy (uint16_t baseAddress)
+
185 {
+
186  //Return the bus busy status.
+
187  return (HWREG16(baseAddress + OFS_UCAxSTATW) & UCBUSY);
+
188 }
+
189 
+
190 
+
191 #endif
+
192 //*****************************************************************************
+
193 //
+
196 //
+
197 //*****************************************************************************
+ + +
#define HWREG16(x)
Definition: hw_memmap.h:39
+
+
+ + + + diff --git a/Documentation/html/eusci__a__spi_8h.html b/Documentation/html/eusci__a__spi_8h.html new file mode 100644 index 0000000..4099f49 --- /dev/null +++ b/Documentation/html/eusci__a__spi_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_a_spi.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_a_spi.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/eusci__a__spi_8h_source.html b/Documentation/html/eusci__a__spi_8h_source.html new file mode 100644 index 0000000..525a159 --- /dev/null +++ b/Documentation/html/eusci__a__spi_8h_source.html @@ -0,0 +1,368 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_a_spi.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_a_spi.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // eusci_a_spi.h - Driver for the EUSCI_A_SPI Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_EUSCI_A_SPI_H__
+
8 #define __MSP430WARE_EUSCI_A_SPI_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_EUSCI_Ax__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 #include "inc/hw_memmap.h"
+
26 //*****************************************************************************
+
27 //
+
30 //
+
31 //*****************************************************************************
+
32 typedef struct EUSCI_A_SPI_changeMasterClockParam {
+
34  uint32_t clockSourceFrequency;
+
36  uint32_t desiredSpiClock;
+
37 } EUSCI_A_SPI_changeMasterClockParam;
+
38 
+
39 //*****************************************************************************
+
40 //
+
42 //
+
43 //*****************************************************************************
+
44 typedef struct EUSCI_A_SPI_initSlaveParam {
+
49  uint16_t msbFirst;
+
54  uint16_t clockPhase;
+
59  uint16_t clockPolarity;
+
65  uint16_t spiMode;
+
66 } EUSCI_A_SPI_initSlaveParam;
+
67 
+
68 //*****************************************************************************
+
69 //
+
72 //
+
73 //*****************************************************************************
+
74 typedef struct EUSCI_A_SPI_initMasterParam {
+
80  uint8_t selectClockSource;
+
82  uint32_t clockSourceFrequency;
+
84  uint32_t desiredSpiClock;
+
89  uint16_t msbFirst;
+
94  uint16_t clockPhase;
+
99  uint16_t clockPolarity;
+
105  uint16_t spiMode;
+
106 } EUSCI_A_SPI_initMasterParam;
+
107 
+
108 
+
109 //*****************************************************************************
+
110 //
+
111 // The following are values that can be passed to the clockPhase parameter for
+
112 // functions: EUSCI_A_SPI_changeClockPhasePolarity(); the param parameter for
+
113 // functions: EUSCI_A_SPI_initMaster(), and EUSCI_A_SPI_initSlave().
+
114 //
+
115 //*****************************************************************************
+
116 #define EUSCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
+
117 #define EUSCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
+
118 
+
119 //*****************************************************************************
+
120 //
+
121 // The following are values that can be passed to the param parameter for
+
122 // functions: EUSCI_A_SPI_initMaster(), and EUSCI_A_SPI_initSlave().
+
123 //
+
124 //*****************************************************************************
+
125 #define EUSCI_A_SPI_MSB_FIRST UCMSB
+
126 #define EUSCI_A_SPI_LSB_FIRST 0x00
+
127 
+
128 //*****************************************************************************
+
129 //
+
130 // The following are values that can be passed to the param parameter for
+
131 // functions: EUSCI_A_SPI_initMaster(), and EUSCI_A_SPI_initSlave(); the
+
132 // clockPolarity parameter for functions:
+
133 // EUSCI_A_SPI_changeClockPhasePolarity().
+
134 //
+
135 //*****************************************************************************
+
136 #define EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
+
137 #define EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
+
138 
+
139 //*****************************************************************************
+
140 //
+
141 // The following are values that can be passed to the param parameter for
+
142 // functions: EUSCI_A_SPI_initMaster().
+
143 //
+
144 //*****************************************************************************
+
145 #define EUSCI_A_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
+
146 #define EUSCI_A_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
+
147 
+
148 //*****************************************************************************
+
149 //
+
150 // The following are values that can be passed to the param parameter for
+
151 // functions: EUSCI_A_SPI_initMaster(), and EUSCI_A_SPI_initSlave().
+
152 //
+
153 //*****************************************************************************
+
154 #define EUSCI_A_SPI_3PIN UCMODE_0
+
155 #define EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_HIGH UCMODE_1
+
156 #define EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_LOW UCMODE_2
+
157 
+
158 //*****************************************************************************
+
159 //
+
160 // The following are values that can be passed to the select4PinFunctionality
+
161 // parameter for functions: EUSCI_A_SPI_select4PinFunctionality().
+
162 //
+
163 //*****************************************************************************
+
164 #define EUSCI_A_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x0000
+
165 #define EUSCI_A_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE UCSTEM
+
166 
+
167 //*****************************************************************************
+
168 //
+
169 // The following are values that can be passed to the mask parameter for
+
170 // functions: EUSCI_A_SPI_enableInterrupt(), EUSCI_A_SPI_disableInterrupt(),
+
171 // EUSCI_A_SPI_getInterruptStatus(), and EUSCI_A_SPI_clearInterrupt() as well
+
172 // as returned by the EUSCI_A_SPI_getInterruptStatus() function.
+
173 //
+
174 //*****************************************************************************
+
175 #define EUSCI_A_SPI_TRANSMIT_INTERRUPT UCTXIE
+
176 #define EUSCI_A_SPI_RECEIVE_INTERRUPT UCRXIE
+
177 
+
178 //*****************************************************************************
+
179 //
+
180 // The following are values that can be passed toThe following are values that
+
181 // can be returned by the EUSCI_A_SPI_isBusy() function.
+
182 //
+
183 //*****************************************************************************
+
184 #define EUSCI_A_SPI_BUSY UCBUSY
+
185 #define EUSCI_A_SPI_NOT_BUSY 0x00
+
186 
+
187 //*****************************************************************************
+
188 //
+
189 // Prototypes for the APIs.
+
190 //
+
191 //*****************************************************************************
+
192 
+
193 //*****************************************************************************
+
194 //
+
208 //
+
209 //*****************************************************************************
+
210 extern void EUSCI_A_SPI_initMaster(uint16_t baseAddress,
+
211  EUSCI_A_SPI_initMasterParam *param);
+
212 
+
213 //*****************************************************************************
+
214 //
+
229 //
+
230 //*****************************************************************************
+
231 extern void EUSCI_A_SPI_select4PinFunctionality(uint16_t baseAddress,
+
232  uint16_t select4PinFunctionality);
+
233 
+
234 //*****************************************************************************
+
235 //
+
245 //
+
246 //*****************************************************************************
+
247 extern void EUSCI_A_SPI_changeMasterClock(uint16_t baseAddress,
+
248  EUSCI_A_SPI_changeMasterClockParam *param);
+
249 
+
250 //*****************************************************************************
+
251 //
+
265 //
+
266 //*****************************************************************************
+
267 extern void EUSCI_A_SPI_initSlave(uint16_t baseAddress,
+
268  EUSCI_A_SPI_initSlaveParam *param);
+
269 
+
270 //*****************************************************************************
+
271 //
+
290 //
+
291 //*****************************************************************************
+
292 extern void EUSCI_A_SPI_changeClockPhasePolarity(uint16_t baseAddress,
+
293  uint16_t clockPhase,
+
294  uint16_t clockPolarity);
+
295 
+
296 //*****************************************************************************
+
297 //
+
307 //
+
308 //*****************************************************************************
+
309 extern void EUSCI_A_SPI_transmitData(uint16_t baseAddress,
+
310  uint8_t transmitData);
+
311 
+
312 //*****************************************************************************
+
313 //
+
322 //
+
323 //*****************************************************************************
+
324 extern uint8_t EUSCI_A_SPI_receiveData(uint16_t baseAddress);
+
325 
+
326 //*****************************************************************************
+
327 //
+
343 //
+
344 //*****************************************************************************
+
345 extern void EUSCI_A_SPI_enableInterrupt(uint16_t baseAddress,
+
346  uint16_t mask);
+
347 
+
348 //*****************************************************************************
+
349 //
+
365 //
+
366 //*****************************************************************************
+
367 extern void EUSCI_A_SPI_disableInterrupt(uint16_t baseAddress,
+
368  uint16_t mask);
+
369 
+
370 //*****************************************************************************
+
371 //
+
387 //
+
388 //*****************************************************************************
+
389 extern uint8_t EUSCI_A_SPI_getInterruptStatus(uint16_t baseAddress,
+
390  uint8_t mask);
+
391 
+
392 //*****************************************************************************
+
393 //
+
405 //
+
406 //*****************************************************************************
+
407 extern void EUSCI_A_SPI_clearInterrupt(uint16_t baseAddress,
+
408  uint16_t mask);
+
409 
+
410 //*****************************************************************************
+
411 //
+
421 //
+
422 //*****************************************************************************
+
423 extern void EUSCI_A_SPI_enable(uint16_t baseAddress);
+
424 
+
425 //*****************************************************************************
+
426 //
+
436 //
+
437 //*****************************************************************************
+
438 extern void EUSCI_A_SPI_disable(uint16_t baseAddress);
+
439 
+
440 //*****************************************************************************
+
441 //
+
450 //
+
451 //*****************************************************************************
+
452 extern uint32_t EUSCI_A_SPI_getReceiveBufferAddress(uint16_t baseAddress);
+
453 
+
454 //*****************************************************************************
+
455 //
+
464 //
+
465 //*****************************************************************************
+
466 extern uint32_t EUSCI_A_SPI_getTransmitBufferAddress(uint16_t baseAddress);
+
467 
+
468 //*****************************************************************************
+
469 //
+
481 //
+
482 //*****************************************************************************
+
483 extern uint16_t EUSCI_A_SPI_isBusy(uint16_t baseAddress);
+
484 
+
485 //*****************************************************************************
+
486 //
+
487 // Mark the end of the C bindings section for C++ compilers.
+
488 //
+
489 //*****************************************************************************
+
490 #ifdef __cplusplus
+
491 }
+
492 #endif
+
493 
+
494 #endif
+
495 #endif // __MSP430WARE_EUSCI_A_SPI_H__
+ +
+
+ + + + diff --git a/Documentation/html/eusci__a__uart_8c.html b/Documentation/html/eusci__a__uart_8c.html new file mode 100644 index 0000000..34f4a23 --- /dev/null +++ b/Documentation/html/eusci__a__uart_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_a_uart.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_a_uart.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/eusci__a__uart_8c_source.html b/Documentation/html/eusci__a__uart_8c_source.html new file mode 100644 index 0000000..6ac8b51 --- /dev/null +++ b/Documentation/html/eusci__a__uart_8c_source.html @@ -0,0 +1,341 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_a_uart.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_a_uart.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // eusci_a_uart.c - Driver for the eusci_a_uart Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_EUSCI_Ax__
+
17 #include "eusci_a_uart.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 bool EUSCI_A_UART_init(uint16_t baseAddress, EUSCI_A_UART_initParam *param)
+
22 {
+
23  bool retVal = STATUS_SUCCESS;
+
24 
+
25  //Disable the USCI Module
+
26  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCSWRST;
+
27 
+
28  //Clock source select
+
29  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~UCSSEL_3;
+
30  HWREG16(baseAddress + OFS_UCAxCTLW0) |= (uint16_t)param->selectClockSource;
+
31 
+
32  //MSB, LSB select
+
33  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~UCMSB;
+
34  HWREG16(baseAddress + OFS_UCAxCTLW0) |= param->msborLsbFirst;
+
35 
+
36  //UCSPB = 0(1 stop bit) OR 1(2 stop bits)
+
37  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~UCSPB;
+
38  HWREG16(baseAddress + OFS_UCAxCTLW0) |= param->numberofStopBits;
+
39 
+
40  //Parity
+
41  switch (param->parity){
+
42  case EUSCI_A_UART_NO_PARITY:
+
43  //No Parity
+
44  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~UCPEN;
+
45  break;
+
46  case EUSCI_A_UART_ODD_PARITY:
+
47  //Odd Parity
+
48  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCPEN;
+
49  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~UCPAR;
+
50  break;
+
51  case EUSCI_A_UART_EVEN_PARITY:
+
52  //Even Parity
+
53  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCPEN;
+
54  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCPAR;
+
55  break;
+
56  }
+
57 
+
58  //BaudRate Control Register
+
59  HWREG16(baseAddress + OFS_UCAxBRW ) = param->clockPrescalar;
+
60  //Modulation Control Register
+
61  HWREG16(baseAddress + OFS_UCAxMCTLW) = ((param->secondModReg <<8)
+
62  + (param->firstModReg <<4) + param->overSampling );
+
63 
+
64  //Asynchronous mode & 8 bit character select & clear mode
+
65  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~(UCSYNC +
+
66  UC7BIT +
+
67  UCMODE_3
+
68  );
+
69 
+
70  //Configure UART mode.
+
71  HWREG16(baseAddress + OFS_UCAxCTLW0) |= param->uartMode ;
+
72 
+
73  //Reset UCRXIE, UCBRKIE, UCDORM, UCTXADDR, UCTXBRK
+
74  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~(UCRXEIE + UCBRKIE + UCDORM +
+
75  UCTXADDR + UCTXBRK
+
76  );
+
77  return (retVal);
+
78 }
+
79 
+
80 void EUSCI_A_UART_transmitData ( uint16_t baseAddress,
+
81  uint8_t transmitData
+
82  )
+
83 {
+
84  //If interrupts are not used, poll for flags
+
85  if (!(HWREG16(baseAddress + OFS_UCAxIE) & UCTXIE)){
+
86  //Poll for transmit interrupt flag
+
87  while (!(HWREG16(baseAddress + OFS_UCAxIFG) & UCTXIFG));
+
88  }
+
89 
+
90  HWREG16(baseAddress + OFS_UCAxTXBUF) = transmitData;
+
91 }
+
92 
+
93 uint8_t EUSCI_A_UART_receiveData (uint16_t baseAddress)
+
94 {
+
95  //If interrupts are not used, poll for flags
+
96  if (!(HWREG16(baseAddress + OFS_UCAxIE) & UCRXIE)){
+
97  //Poll for receive interrupt flag
+
98  while (!(HWREG16(baseAddress + OFS_UCAxIFG) & UCRXIFG));
+
99  }
+
100 
+
101  return ( HWREG16(baseAddress + OFS_UCAxRXBUF)) ;
+
102 }
+
103 
+
104 void EUSCI_A_UART_enableInterrupt (uint16_t baseAddress,
+
105  uint8_t mask
+
106  )
+
107 {
+
108  uint8_t locMask;
+
109 
+
110  locMask = (mask & (EUSCI_A_UART_RECEIVE_INTERRUPT
+
111  | EUSCI_A_UART_TRANSMIT_INTERRUPT
+
112  | EUSCI_A_UART_STARTBIT_INTERRUPT
+
113  | EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT));
+
114 
+
115  HWREG16(baseAddress + OFS_UCAxIE) |= (uint16_t)locMask;
+
116 
+
117  locMask = (mask & (EUSCI_A_UART_RECEIVE_ERRONEOUSCHAR_INTERRUPT
+
118  | EUSCI_A_UART_BREAKCHAR_INTERRUPT));
+
119  HWREG16(baseAddress + OFS_UCAxCTLW0) |= (uint16_t)locMask;
+
120 }
+
121 
+
122 void EUSCI_A_UART_disableInterrupt (uint16_t baseAddress,
+
123  uint8_t mask
+
124  )
+
125 {
+
126  uint8_t locMask;
+
127 
+
128  locMask = (mask & (EUSCI_A_UART_RECEIVE_INTERRUPT
+
129  | EUSCI_A_UART_TRANSMIT_INTERRUPT
+
130  | EUSCI_A_UART_STARTBIT_INTERRUPT
+
131  | EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT));
+
132  HWREG16(baseAddress + OFS_UCAxIE) &= (uint16_t)~locMask;
+
133 
+
134  locMask = (mask & (EUSCI_A_UART_RECEIVE_ERRONEOUSCHAR_INTERRUPT
+
135  | EUSCI_A_UART_BREAKCHAR_INTERRUPT));
+
136  HWREG16(baseAddress + OFS_UCAxCTLW0) &= (uint16_t)~locMask;
+
137 }
+
138 
+
139 uint8_t EUSCI_A_UART_getInterruptStatus (uint16_t baseAddress,
+
140  uint8_t mask)
+
141 {
+
142  return ( HWREG16(baseAddress + OFS_UCAxIFG) & mask );
+
143 }
+
144 
+
145 void EUSCI_A_UART_clearInterrupt (uint16_t baseAddress, uint16_t mask)
+
146 {
+
147  //Clear the UART interrupt source.
+
148  HWREG16(baseAddress + OFS_UCAxIFG) &= ~(mask);
+
149 }
+
150 
+
151 void EUSCI_A_UART_enable (uint16_t baseAddress)
+
152 {
+
153  //Reset the UCSWRST bit to enable the USCI Module
+
154  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~(UCSWRST);
+
155 }
+
156 
+
157 void EUSCI_A_UART_disable (uint16_t baseAddress)
+
158 {
+
159  //Set the UCSWRST bit to disable the USCI Module
+
160  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCSWRST;
+
161 }
+
162 
+
163 uint8_t EUSCI_A_UART_queryStatusFlags (uint16_t baseAddress,
+
164  uint8_t mask)
+
165 {
+
166  return ( HWREG16(baseAddress + OFS_UCAxSTATW) & mask );
+
167 }
+
168 
+
169 void EUSCI_A_UART_setDormant (uint16_t baseAddress)
+
170 {
+
171  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCDORM;
+
172 }
+
173 
+
174 void EUSCI_A_UART_resetDormant (uint16_t baseAddress)
+
175 {
+
176  HWREG16(baseAddress + OFS_UCAxCTLW0) &= ~UCDORM;
+
177 }
+
178 
+
179 void EUSCI_A_UART_transmitAddress (uint16_t baseAddress,
+
180  uint8_t transmitAddress)
+
181 {
+
182  //Set UCTXADDR bit
+
183  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCTXADDR;
+
184 
+
185  //Place next byte to be sent into the transmit buffer
+
186  HWREG16(baseAddress + OFS_UCAxTXBUF) = transmitAddress;
+
187 }
+
188 
+
189 void EUSCI_A_UART_transmitBreak (uint16_t baseAddress)
+
190 {
+
191  //Set UCTXADDR bit
+
192  HWREG16(baseAddress + OFS_UCAxCTLW0) |= UCTXBRK;
+
193 
+
194  //If current mode is automatic baud-rate detection
+
195  if (EUSCI_A_UART_AUTOMATIC_BAUDRATE_DETECTION_MODE ==
+
196  (HWREG16(baseAddress + OFS_UCAxCTLW0) &
+
197  EUSCI_A_UART_AUTOMATIC_BAUDRATE_DETECTION_MODE)){
+
198  HWREG16(baseAddress + OFS_UCAxTXBUF) = EUSCI_A_UART_AUTOMATICBAUDRATE_SYNC;
+
199  } else {
+
200  HWREG16(baseAddress + OFS_UCAxTXBUF) = DEFAULT_SYNC;
+
201  }
+
202 
+
203  //If interrupts are not used, poll for flags
+
204  if (!(HWREG16(baseAddress + OFS_UCAxIE) & UCTXIE)){
+
205  //Poll for transmit interrupt flag
+
206  while (!(HWREG16(baseAddress + OFS_UCAxIFG) & UCTXIFG));
+
207  }
+
208 }
+
209 
+
210 uint32_t EUSCI_A_UART_getReceiveBufferAddress (uint16_t baseAddress)
+
211 {
+
212  return ( baseAddress + OFS_UCAxRXBUF );
+
213 }
+
214 
+
215 uint32_t EUSCI_A_UART_getTransmitBufferAddress (uint16_t baseAddress)
+
216 {
+
217  return ( baseAddress + OFS_UCAxTXBUF );
+
218 }
+
219 
+
220 void EUSCI_A_UART_selectDeglitchTime(uint16_t baseAddress,
+
221  uint16_t deglitchTime
+
222  )
+
223 {
+
224  HWREG16(baseAddress + OFS_UCAxCTLW1) &= ~(UCGLIT1 + UCGLIT0);
+
225 
+
226  HWREG16(baseAddress + OFS_UCAxCTLW1) |= deglitchTime;
+
227 }
+
228 
+
229 
+
230 #endif
+
231 //*****************************************************************************
+
232 //
+
235 //
+
236 //*****************************************************************************
+ + +
#define HWREG16(x)
Definition: hw_memmap.h:39
+
#define STATUS_SUCCESS
Definition: hw_memmap.h:22
+
+
+ + + + diff --git a/Documentation/html/eusci__a__uart_8h.html b/Documentation/html/eusci__a__uart_8h.html new file mode 100644 index 0000000..34de55b --- /dev/null +++ b/Documentation/html/eusci__a__uart_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_a_uart.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_a_uart.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/eusci__a__uart_8h_source.html b/Documentation/html/eusci__a__uart_8h_source.html new file mode 100644 index 0000000..a842c14 --- /dev/null +++ b/Documentation/html/eusci__a__uart_8h_source.html @@ -0,0 +1,396 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_a_uart.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_a_uart.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // eusci_a_uart.h - Driver for the EUSCI_A_UART Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_EUSCI_A_UART_H__
+
8 #define __MSP430WARE_EUSCI_A_UART_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_EUSCI_Ax__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 #include "inc/hw_memmap.h"
+
26 //*****************************************************************************
+
27 //
+
28 // The following values are the sync characters possible.
+
29 //
+
30 //*****************************************************************************
+
31 #define DEFAULT_SYNC 0x00
+
32 #define EUSCI_A_UART_AUTOMATICBAUDRATE_SYNC 0x55
+
33 
+
34 //*****************************************************************************
+
35 //
+
37 //
+
38 //*****************************************************************************
+
39 typedef struct EUSCI_A_UART_initParam {
+
45  uint8_t selectClockSource;
+
47  uint16_t clockPrescalar;
+
51  uint8_t firstModReg;
+
55  uint8_t secondModReg;
+
61  uint8_t parity;
+
66  uint16_t msborLsbFirst;
+
71  uint16_t numberofStopBits;
+
78  uint16_t uartMode;
+
83  uint8_t overSampling;
+
84 } EUSCI_A_UART_initParam;
+
85 
+
86 
+
87 //*****************************************************************************
+
88 //
+
89 // The following are values that can be passed to the param parameter for
+
90 // functions: EUSCI_A_UART_init().
+
91 //
+
92 //*****************************************************************************
+
93 #define EUSCI_A_UART_NO_PARITY 0x00
+
94 #define EUSCI_A_UART_ODD_PARITY 0x01
+
95 #define EUSCI_A_UART_EVEN_PARITY 0x02
+
96 
+
97 //*****************************************************************************
+
98 //
+
99 // The following are values that can be passed to the param parameter for
+
100 // functions: EUSCI_A_UART_init().
+
101 //
+
102 //*****************************************************************************
+
103 #define EUSCI_A_UART_MSB_FIRST UCMSB
+
104 #define EUSCI_A_UART_LSB_FIRST 0x00
+
105 
+
106 //*****************************************************************************
+
107 //
+
108 // The following are values that can be passed to the param parameter for
+
109 // functions: EUSCI_A_UART_init().
+
110 //
+
111 //*****************************************************************************
+
112 #define EUSCI_A_UART_MODE UCMODE_0
+
113 #define EUSCI_A_UART_IDLE_LINE_MULTI_PROCESSOR_MODE UCMODE_1
+
114 #define EUSCI_A_UART_ADDRESS_BIT_MULTI_PROCESSOR_MODE UCMODE_2
+
115 #define EUSCI_A_UART_AUTOMATIC_BAUDRATE_DETECTION_MODE UCMODE_3
+
116 
+
117 //*****************************************************************************
+
118 //
+
119 // The following are values that can be passed to the param parameter for
+
120 // functions: EUSCI_A_UART_init().
+
121 //
+
122 //*****************************************************************************
+
123 #define EUSCI_A_UART_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
+
124 #define EUSCI_A_UART_CLOCKSOURCE_ACLK UCSSEL__ACLK
+
125 
+
126 //*****************************************************************************
+
127 //
+
128 // The following are values that can be passed to the param parameter for
+
129 // functions: EUSCI_A_UART_init().
+
130 //
+
131 //*****************************************************************************
+
132 #define EUSCI_A_UART_ONE_STOP_BIT 0x00
+
133 #define EUSCI_A_UART_TWO_STOP_BITS UCSPB
+
134 
+
135 //*****************************************************************************
+
136 //
+
137 // The following are values that can be passed to the param parameter for
+
138 // functions: EUSCI_A_UART_init().
+
139 //
+
140 //*****************************************************************************
+
141 #define EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION 0x01
+
142 #define EUSCI_A_UART_LOW_FREQUENCY_BAUDRATE_GENERATION 0x00
+
143 
+
144 //*****************************************************************************
+
145 //
+
146 // The following are values that can be passed to the mask parameter for
+
147 // functions: EUSCI_A_UART_enableInterrupt(), and
+
148 // EUSCI_A_UART_disableInterrupt().
+
149 //
+
150 //*****************************************************************************
+
151 #define EUSCI_A_UART_RECEIVE_INTERRUPT UCRXIE
+
152 #define EUSCI_A_UART_TRANSMIT_INTERRUPT UCTXIE
+
153 #define EUSCI_A_UART_RECEIVE_ERRONEOUSCHAR_INTERRUPT UCRXEIE
+
154 #define EUSCI_A_UART_BREAKCHAR_INTERRUPT UCBRKIE
+
155 #define EUSCI_A_UART_STARTBIT_INTERRUPT UCSTTIE
+
156 #define EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT UCTXCPTIE
+
157 
+
158 //*****************************************************************************
+
159 //
+
160 // The following are values that can be passed to the mask parameter for
+
161 // functions: EUSCI_A_UART_getInterruptStatus(), and
+
162 // EUSCI_A_UART_clearInterrupt() as well as returned by the
+
163 // EUSCI_A_UART_getInterruptStatus() function.
+
164 //
+
165 //*****************************************************************************
+
166 #define EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG UCRXIFG
+
167 #define EUSCI_A_UART_TRANSMIT_INTERRUPT_FLAG UCTXIFG
+
168 #define EUSCI_A_UART_STARTBIT_INTERRUPT_FLAG UCSTTIFG
+
169 #define EUSCI_A_UART_TRANSMIT_COMPLETE_INTERRUPT_FLAG UCTXCPTIFG
+
170 
+
171 //*****************************************************************************
+
172 //
+
173 // The following are values that can be passed to the mask parameter for
+
174 // functions: EUSCI_A_UART_queryStatusFlags() as well as returned by the
+
175 // EUSCI_A_UART_queryStatusFlags() function.
+
176 //
+
177 //*****************************************************************************
+
178 #define EUSCI_A_UART_LISTEN_ENABLE UCLISTEN
+
179 #define EUSCI_A_UART_FRAMING_ERROR UCFE
+
180 #define EUSCI_A_UART_OVERRUN_ERROR UCOE
+
181 #define EUSCI_A_UART_PARITY_ERROR UCPE
+
182 #define EUSCI_A_UART_BREAK_DETECT UCBRK
+
183 #define EUSCI_A_UART_RECEIVE_ERROR UCRXERR
+
184 #define EUSCI_A_UART_ADDRESS_RECEIVED UCADDR
+
185 #define EUSCI_A_UART_IDLELINE UCIDLE
+
186 #define EUSCI_A_UART_BUSY UCBUSY
+
187 
+
188 //*****************************************************************************
+
189 //
+
190 // The following are values that can be passed to the deglitchTime parameter
+
191 // for functions: EUSCI_A_UART_selectDeglitchTime().
+
192 //
+
193 //*****************************************************************************
+
194 #define EUSCI_A_UART_DEGLITCH_TIME_2ns 0x00
+
195 #define EUSCI_A_UART_DEGLITCH_TIME_50ns UCGLIT0
+
196 #define EUSCI_A_UART_DEGLITCH_TIME_100ns UCGLIT1
+
197 #define EUSCI_A_UART_DEGLITCH_TIME_200ns (UCGLIT0 + UCGLIT1)
+
198 
+
199 //*****************************************************************************
+
200 //
+
201 // Prototypes for the APIs.
+
202 //
+
203 //*****************************************************************************
+
204 
+
205 //*****************************************************************************
+
206 //
+
228 //
+
229 //*****************************************************************************
+
230 extern bool EUSCI_A_UART_init(uint16_t baseAddress,
+
231  EUSCI_A_UART_initParam *param);
+
232 
+
233 //*****************************************************************************
+
234 //
+
249 //
+
250 //*****************************************************************************
+
251 extern void EUSCI_A_UART_transmitData(uint16_t baseAddress,
+
252  uint8_t transmitData);
+
253 
+
254 //*****************************************************************************
+
255 //
+
266 //
+
267 //*****************************************************************************
+
268 extern uint8_t EUSCI_A_UART_receiveData(uint16_t baseAddress);
+
269 
+
270 //*****************************************************************************
+
271 //
+
296 //
+
297 //*****************************************************************************
+
298 extern void EUSCI_A_UART_enableInterrupt(uint16_t baseAddress,
+
299  uint8_t mask);
+
300 
+
301 //*****************************************************************************
+
302 //
+
326 //
+
327 //*****************************************************************************
+
328 extern void EUSCI_A_UART_disableInterrupt(uint16_t baseAddress,
+
329  uint8_t mask);
+
330 
+
331 //*****************************************************************************
+
332 //
+
354 //
+
355 //*****************************************************************************
+
356 extern uint8_t EUSCI_A_UART_getInterruptStatus(uint16_t baseAddress,
+
357  uint8_t mask);
+
358 
+
359 //*****************************************************************************
+
360 //
+
378 //
+
379 //*****************************************************************************
+
380 extern void EUSCI_A_UART_clearInterrupt(uint16_t baseAddress,
+
381  uint16_t mask);
+
382 
+
383 //*****************************************************************************
+
384 //
+
394 //
+
395 //*****************************************************************************
+
396 extern void EUSCI_A_UART_enable(uint16_t baseAddress);
+
397 
+
398 //*****************************************************************************
+
399 //
+
409 //
+
410 //*****************************************************************************
+
411 extern void EUSCI_A_UART_disable(uint16_t baseAddress);
+
412 
+
413 //*****************************************************************************
+
414 //
+
445 //
+
446 //*****************************************************************************
+
447 extern uint8_t EUSCI_A_UART_queryStatusFlags(uint16_t baseAddress,
+
448  uint8_t mask);
+
449 
+
450 //*****************************************************************************
+
451 //
+
463 //
+
464 //*****************************************************************************
+
465 extern void EUSCI_A_UART_setDormant(uint16_t baseAddress);
+
466 
+
467 //*****************************************************************************
+
468 //
+
478 //
+
479 //*****************************************************************************
+
480 extern void EUSCI_A_UART_resetDormant(uint16_t baseAddress);
+
481 
+
482 //*****************************************************************************
+
483 //
+
493 //
+
494 //*****************************************************************************
+
495 extern void EUSCI_A_UART_transmitAddress(uint16_t baseAddress,
+
496  uint8_t transmitAddress);
+
497 
+
498 //*****************************************************************************
+
499 //
+
514 //
+
515 //*****************************************************************************
+
516 extern void EUSCI_A_UART_transmitBreak(uint16_t baseAddress);
+
517 
+
518 //*****************************************************************************
+
519 //
+
528 //
+
529 //*****************************************************************************
+
530 extern uint32_t EUSCI_A_UART_getReceiveBufferAddress(uint16_t baseAddress);
+
531 
+
532 //*****************************************************************************
+
533 //
+
542 //
+
543 //*****************************************************************************
+
544 extern uint32_t EUSCI_A_UART_getTransmitBufferAddress(uint16_t baseAddress);
+
545 
+
546 //*****************************************************************************
+
547 //
+
559 //
+
560 //*****************************************************************************
+
561 extern void EUSCI_A_UART_selectDeglitchTime(uint16_t baseAddress,
+
562  uint16_t deglitchTime);
+
563 
+
564 //*****************************************************************************
+
565 //
+
566 // Mark the end of the C bindings section for C++ compilers.
+
567 //
+
568 //*****************************************************************************
+
569 #ifdef __cplusplus
+
570 }
+
571 #endif
+
572 
+
573 #endif
+
574 #endif // __MSP430WARE_EUSCI_A_UART_H__
+ +
+
+ + + + diff --git a/Documentation/html/eusci__b__i2c_8c.html b/Documentation/html/eusci__b__i2c_8c.html new file mode 100644 index 0000000..3ad6ae9 --- /dev/null +++ b/Documentation/html/eusci__b__i2c_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_b_i2c.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_b_i2c.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/eusci__b__i2c_8c_source.html b/Documentation/html/eusci__b__i2c_8c_source.html new file mode 100644 index 0000000..d7e33a0 --- /dev/null +++ b/Documentation/html/eusci__b__i2c_8c_source.html @@ -0,0 +1,685 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_b_i2c.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_b_i2c.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // eusci_b_i2c.c - Driver for the eusci_b_i2c Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_EUSCI_Bx__
+
17 #include "eusci_b_i2c.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 void EUSCI_B_I2C_initMaster (uint16_t baseAddress,
+
22  EUSCI_B_I2C_initMasterParam *param
+
23  )
+
24 {
+
25  uint16_t preScalarValue;
+
26 
+
27  //Disable the USCI module and clears the other bits of control register
+
28  HWREG16(baseAddress + OFS_UCBxCTLW0) = UCSWRST;
+
29 
+
30  //Configure Automatic STOP condition generation
+
31  HWREG16(baseAddress + OFS_UCBxCTLW1) &= ~UCASTP_3;
+
32  HWREG16(baseAddress + OFS_UCBxCTLW1) |= (uint16_t)param->autoSTOPGeneration;
+
33 
+
34  //Byte Count Threshold
+
35  HWREG16(baseAddress + OFS_UCBxTBCNT) = param->byteCounterThreshold;
+
36  /*
+
37  * Configure as I2C master mode.
+
38  * UCMST = Master mode
+
39  * UCMODE_3 = I2C mode
+
40  * UCSYNC = Synchronous mode
+
41  */
+
42  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCMST + UCMODE_3 + UCSYNC;
+
43 
+
44  //Configure I2C clock source
+
45  HWREG16(baseAddress + OFS_UCBxCTLW0) |= (param->selectClockSource + UCSWRST);
+
46 
+
47  /*
+
48  * Compute the clock divider that achieves the fastest speed less than or
+
49  * equal to the desired speed. The numerator is biased to favor a larger
+
50  * clock divider so that the resulting clock is always less than or equal
+
51  * to the desired clock, never greater.
+
52  */
+
53  preScalarValue = (uint16_t)(param->i2cClk / param->dataRate);
+
54  HWREG16(baseAddress + OFS_UCBxBRW) = preScalarValue;
+
55 }
+
56 
+
57 void EUSCI_B_I2C_initSlave (uint16_t baseAddress,
+
58  EUSCI_B_I2C_initSlaveParam *param
+
59  )
+
60 {
+
61  //Disable the USCI module
+
62  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCSWRST;
+
63 
+
64  //Clear USCI master mode
+
65  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~UCMST;
+
66 
+
67  //Configure I2C as Slave and Synchronous mode
+
68  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCMODE_3 + UCSYNC;
+
69 
+
70  //Set up the slave address.
+
71  HWREG16(baseAddress + OFS_UCBxI2COA0 + param->slaveAddressOffset)
+
72  = param->slaveAddress + param->slaveOwnAddressEnable;
+
73 }
+
74 
+
75 void EUSCI_B_I2C_enable (uint16_t baseAddress)
+
76 {
+
77  //Reset the UCSWRST bit to enable the USCI Module
+
78  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~(UCSWRST);
+
79 }
+
80 
+
81 void EUSCI_B_I2C_disable (uint16_t baseAddress)
+
82 {
+
83  //Set the UCSWRST bit to disable the USCI Module
+
84  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCSWRST;
+
85 }
+
86 
+
87 void EUSCI_B_I2C_setSlaveAddress (uint16_t baseAddress,
+
88  uint8_t slaveAddress
+
89  )
+
90 {
+
91  //Set the address of the slave with which the master will communicate.
+
92  HWREG16(baseAddress + OFS_UCBxI2CSA) = (slaveAddress);
+
93 }
+
94 
+
95 void EUSCI_B_I2C_setMode (uint16_t baseAddress,
+
96  uint16_t mode
+
97  )
+
98 {
+
99  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~EUSCI_B_I2C_TRANSMIT_MODE;
+
100  HWREG16(baseAddress + OFS_UCBxCTLW0) |= mode;
+
101 }
+
102 
+
103 uint8_t EUSCI_B_I2C_getMode (uint16_t baseAddress)
+
104 {
+
105  //Read the I2C mode.
+
106  return ((HWREG16(baseAddress + OFS_UCBxCTLW0) & UCTR));
+
107 
+
108 }
+
109 
+
110 void EUSCI_B_I2C_slavePutData (uint16_t baseAddress,
+
111  uint8_t transmitData
+
112  )
+
113 {
+
114  //Send single byte data.
+
115  HWREG16(baseAddress + OFS_UCBxTXBUF) = transmitData;
+
116 }
+
117 
+
118 uint8_t EUSCI_B_I2C_slaveGetData (uint16_t baseAddress)
+
119 {
+
120  //Read a byte.
+
121  return (HWREG16(baseAddress + OFS_UCBxRXBUF));
+
122 }
+
123 
+
124 uint16_t EUSCI_B_I2C_isBusBusy (uint16_t baseAddress)
+
125 {
+
126  //Return the bus busy status.
+
127  return (HWREG16(baseAddress + OFS_UCBxSTATW) & UCBBUSY);
+
128 }
+
129 
+
130 uint16_t EUSCI_B_I2C_masterIsStopSent (uint16_t baseAddress)
+
131 {
+
132  return (HWREG16(baseAddress + OFS_UCBxCTLW0) & UCTXSTP);
+
133 }
+
134 
+
135 uint16_t EUSCI_B_I2C_masterIsStartSent (uint16_t baseAddress)
+
136 {
+
137  return (HWREG16(baseAddress + OFS_UCBxCTLW0) & UCTXSTT);
+
138 }
+
139 
+
140 void EUSCI_B_I2C_enableInterrupt (uint16_t baseAddress,
+
141  uint16_t mask
+
142  )
+
143 {
+
144  //Enable the interrupt masked bit
+
145  HWREG16(baseAddress + OFS_UCBxIE) |= mask;
+
146 }
+
147 
+
148 void EUSCI_B_I2C_disableInterrupt (uint16_t baseAddress,
+
149  uint16_t mask
+
150  )
+
151 {
+
152  //Disable the interrupt masked bit
+
153  HWREG16(baseAddress + OFS_UCBxIE) &= ~(mask);
+
154 }
+
155 
+
156 void EUSCI_B_I2C_clearInterrupt (uint16_t baseAddress,
+
157  uint16_t mask
+
158  )
+
159 {
+
160  //Clear the I2C interrupt source.
+
161  HWREG16(baseAddress + OFS_UCBxIFG) &= ~(mask);
+
162 }
+
163 
+
164 uint16_t EUSCI_B_I2C_getInterruptStatus (uint16_t baseAddress,
+
165  uint16_t mask
+
166  )
+
167 {
+
168  //Return the interrupt status of the request masked bit.
+
169  return (HWREG16(baseAddress + OFS_UCBxIFG) & mask);
+
170 }
+
171 
+
172 void EUSCI_B_I2C_masterSendSingleByte (uint16_t baseAddress,
+
173  uint8_t txData
+
174  )
+
175 {
+
176  //Store current TXIE status
+
177  uint16_t txieStatus = HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE;
+
178 
+
179  //Disable transmit interrupt enable
+
180  HWREG16(baseAddress + OFS_UCBxIE) &= ~(UCTXIE);
+
181 
+
182  //Send start condition.
+
183  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTR + UCTXSTT;
+
184 
+
185  //Poll for transmit interrupt flag.
+
186  while (!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
+
187 
+
188  //Send single byte data.
+
189  HWREG16(baseAddress + OFS_UCBxTXBUF) = txData;
+
190 
+
191  //Poll for transmit interrupt flag.
+
192  while (!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
+
193 
+
194  //Send stop condition.
+
195  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP;
+
196 
+
197  //Clear transmit interrupt flag before enabling interrupt again
+
198  HWREG16(baseAddress + OFS_UCBxIFG) &= ~(UCTXIFG);
+
199 
+
200  //Reinstate transmit interrupt enable
+
201  HWREG16(baseAddress + OFS_UCBxIE) |= txieStatus;
+
202 }
+
203 
+
204 uint8_t EUSCI_B_I2C_masterReceiveSingleByte (uint16_t baseAddress)
+
205 {
+
206  //Set USCI in Receive mode
+
207  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~UCTR;
+
208 
+
209  //Send start condition
+
210  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTT;
+
211 
+
212  //Poll for start condition transmission
+
213  while(HWREG16(baseAddress + OFS_UCBxCTLW0) & UCTXSTT);
+
214 
+
215  //Send stop condition
+
216  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP;
+
217 
+
218  //Poll for receive interrupt flag.
+
219  while (!(HWREG16(baseAddress + OFS_UCBxIFG) & UCRXIFG));
+
220 
+
221  //Send single byte data.
+
222  return (HWREG16(baseAddress + OFS_UCBxRXBUF));
+
223 }
+
224 
+
225 bool EUSCI_B_I2C_masterSendSingleByteWithTimeout (uint16_t baseAddress,
+
226  uint8_t txData,
+
227  uint32_t timeout
+
228  )
+
229 {
+
230  // Creating variable for second timeout scenario
+
231  uint32_t timeout2 = timeout;
+
232 
+
233  //Store current TXIE status
+
234  uint16_t txieStatus = HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE;
+
235 
+
236  //Disable transmit interrupt enable
+
237  HWREG16(baseAddress + OFS_UCBxIE) &= ~(UCTXIE);
+
238 
+
239  //Send start condition.
+
240  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTR + UCTXSTT;
+
241 
+
242  //Poll for transmit interrupt flag.
+
243  while ((!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout);
+
244 
+
245  //Check if transfer timed out
+
246  if (timeout == 0){
+
247  return (STATUS_FAIL);
+
248  }
+
249 
+
250  //Send single byte data.
+
251  HWREG16(baseAddress + OFS_UCBxTXBUF) = txData;
+
252 
+
253  //Poll for transmit interrupt flag.
+
254  while ((!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout2);
+
255 
+
256  //Check if transfer timed out
+
257  if (timeout2 == 0){
+
258  return (STATUS_FAIL);
+
259  }
+
260 
+
261  //Send stop condition.
+
262  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP;
+
263 
+
264  //Clear transmit interrupt flag before enabling interrupt again
+
265  HWREG16(baseAddress + OFS_UCBxIFG) &= ~(UCTXIFG);
+
266 
+
267  //Reinstate transmit interrupt enable
+
268  HWREG16(baseAddress + OFS_UCBxIE) |= txieStatus;
+
269 
+
270  return (STATUS_SUCCESS);
+
271 }
+
272 
+
273 void EUSCI_B_I2C_masterSendMultiByteStart (uint16_t baseAddress,
+
274  uint8_t txData
+
275  )
+
276 {
+
277  //Store current transmit interrupt enable
+
278  uint16_t txieStatus = HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE;
+
279 
+
280  //Disable transmit interrupt enable
+
281  HWREG16(baseAddress + OFS_UCBxIE) &= ~(UCTXIE);
+
282 
+
283  //Send start condition.
+
284  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTR + UCTXSTT;
+
285 
+
286  //Poll for transmit interrupt flag.
+
287  while (!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
+
288 
+
289  //Send single byte data.
+
290  HWREG16(baseAddress + OFS_UCBxTXBUF) = txData;
+
291 
+
292  //Reinstate transmit interrupt enable
+
293  HWREG16(baseAddress + OFS_UCBxIE) |= txieStatus;
+
294 }
+
295 
+
296 bool EUSCI_B_I2C_masterSendMultiByteStartWithTimeout (uint16_t baseAddress,
+
297  uint8_t txData,
+
298  uint32_t timeout
+
299  )
+
300 {
+
301  //Store current transmit interrupt enable
+
302  uint16_t txieStatus = HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE;
+
303 
+
304  //Disable transmit interrupt enable
+
305  HWREG16(baseAddress + OFS_UCBxIE) &= ~(UCTXIE);
+
306 
+
307  //Send start condition.
+
308  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTR + UCTXSTT;
+
309 
+
310  //Poll for transmit interrupt flag.
+
311  while ((!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout);
+
312 
+
313  //Check if transfer timed out
+
314  if (timeout == 0){
+
315  return (STATUS_FAIL);
+
316  }
+
317 
+
318  //Send single byte data.
+
319  HWREG16(baseAddress + OFS_UCBxTXBUF) = txData;
+
320 
+
321  //Reinstate transmit interrupt enable
+
322  HWREG16(baseAddress + OFS_UCBxIE) |= txieStatus;
+
323 
+
324  return(STATUS_SUCCESS);
+
325 }
+
326 
+
327 void EUSCI_B_I2C_masterSendMultiByteNext (uint16_t baseAddress,
+
328  uint8_t txData
+
329  )
+
330 {
+
331  //If interrupts are not used, poll for flags
+
332  if (!(HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE)){
+
333  //Poll for transmit interrupt flag.
+
334  while (!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
+
335  }
+
336 
+
337  //Send single byte data.
+
338  HWREG16(baseAddress + OFS_UCBxTXBUF) = txData;
+
339 }
+
340 
+
341 bool EUSCI_B_I2C_masterSendMultiByteNextWithTimeout (uint16_t baseAddress,
+
342  uint8_t txData,
+
343  uint32_t timeout
+
344  )
+
345 {
+
346  //If interrupts are not used, poll for flags
+
347  if (!(HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE)){
+
348  //Poll for transmit interrupt flag.
+
349  while ((!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout);
+
350 
+
351  //Check if transfer timed out
+
352  if (timeout == 0){
+
353  return (STATUS_FAIL);
+
354  }
+
355  }
+
356 
+
357  //Send single byte data.
+
358  HWREG16(baseAddress + OFS_UCBxTXBUF) = txData;
+
359 
+
360  return(STATUS_SUCCESS);
+
361 }
+
362 
+
363 void EUSCI_B_I2C_masterSendMultiByteFinish (uint16_t baseAddress,
+
364  uint8_t txData
+
365  )
+
366 {
+
367  //If interrupts are not used, poll for flags
+
368  if (!(HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE)){
+
369  //Poll for transmit interrupt flag.
+
370  while (!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
+
371  }
+
372 
+
373  //Send single byte data.
+
374  HWREG16(baseAddress + OFS_UCBxTXBUF) = txData;
+
375 
+
376  //Poll for transmit interrupt flag.
+
377  while (!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
+
378 
+
379  //Send stop condition.
+
380  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP;
+
381 }
+
382 
+
383 bool EUSCI_B_I2C_masterSendMultiByteFinishWithTimeout (uint16_t baseAddress,
+
384  uint8_t txData,
+
385  uint32_t timeout
+
386  )
+
387 {
+
388  uint32_t timeout2 = timeout;
+
389 
+
390  //If interrupts are not used, poll for flags
+
391  if (!(HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE)){
+
392  //Poll for transmit interrupt flag.
+
393  while ((!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout) ;
+
394 
+
395  //Check if transfer timed out
+
396  if (timeout == 0){
+
397  return (STATUS_FAIL);
+
398  }
+
399  }
+
400 
+
401  //Send single byte data.
+
402  HWREG16(baseAddress + OFS_UCBxTXBUF) = txData;
+
403 
+
404  //Poll for transmit interrupt flag.
+
405  while ((!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout2) ;
+
406 
+
407  //Check if transfer timed out
+
408  if (timeout2 == 0){
+
409  return (STATUS_FAIL);
+
410  }
+
411 
+
412  //Send stop condition.
+
413  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP;
+
414 
+
415  return(STATUS_SUCCESS);
+
416 }
+
417 
+
418 void EUSCI_B_I2C_masterSendStart (uint16_t baseAddress)
+
419 {
+
420  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTT;
+
421 }
+
422 
+
423 void EUSCI_B_I2C_masterSendMultiByteStop (uint16_t baseAddress)
+
424 {
+
425  //If interrupts are not used, poll for flags
+
426  if (!(HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE)){
+
427  //Poll for transmit interrupt flag.
+
428  while (!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
+
429  }
+
430 
+
431  //Send stop condition.
+
432  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP;
+
433 }
+
434 
+
435 bool EUSCI_B_I2C_masterSendMultiByteStopWithTimeout (uint16_t baseAddress,
+
436  uint32_t timeout)
+
437 {
+
438  //If interrupts are not used, poll for flags
+
439  if (!(HWREG16(baseAddress + OFS_UCBxIE) & UCTXIE)){
+
440  //Poll for transmit interrupt flag.
+
441  while ((!(HWREG16(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout) ;
+
442 
+
443  //Check if transfer timed out
+
444  if (timeout == 0){
+
445  return (STATUS_FAIL);
+
446  }
+
447  }
+
448 
+
449  //Send stop condition.
+
450  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP;
+
451 
+
452  return (STATUS_SUCCESS);
+
453 }
+
454 
+
455 void EUSCI_B_I2C_masterReceiveStart (uint16_t baseAddress)
+
456 {
+
457  //Set USCI in Receive mode
+
458  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~UCTR;
+
459  //Send start
+
460  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTT;
+
461 }
+
462 
+
463 uint8_t EUSCI_B_I2C_masterReceiveMultiByteNext (uint16_t baseAddress)
+
464 {
+
465  return (HWREG16(baseAddress + OFS_UCBxRXBUF));
+
466 }
+
467 
+
468 uint8_t EUSCI_B_I2C_masterReceiveMultiByteFinish (uint16_t baseAddress)
+
469 {
+
470  //Send stop condition.
+
471  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP;
+
472 
+
473  //Wait for Stop to finish
+
474  while (HWREG16(baseAddress + OFS_UCBxCTLW0) & UCTXSTP)
+
475 
+
476  // Wait for RX buffer
+
477  while (!(HWREG16(baseAddress + OFS_UCBxIFG) & UCRXIFG)) ;
+
478 
+
479  //Capture data from receive buffer after setting stop bit due to
+
480  //MSP430 I2C critical timing.
+
481  return (HWREG16(baseAddress + OFS_UCBxRXBUF));
+
482 }
+
483 
+
484 bool EUSCI_B_I2C_masterReceiveMultiByteFinishWithTimeout (uint16_t baseAddress,
+
485  uint8_t *txData,
+
486  uint32_t timeout
+
487  )
+
488 {
+
489  uint32_t timeout2 = timeout;
+
490 
+
491  //Send stop condition.
+
492  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP;
+
493 
+
494  //Wait for Stop to finish
+
495  while ((HWREG16(baseAddress + OFS_UCBxCTLW0) & UCTXSTP) && --timeout);
+
496 
+
497  //Check if transfer timed out
+
498  if (timeout == 0){
+
499  return (STATUS_FAIL);
+
500  }
+
501 
+
502  // Wait for RX buffer
+
503  while ((!(HWREG16(baseAddress + OFS_UCBxIFG) & UCRXIFG)) && --timeout2);
+
504 
+
505  //Check if transfer timed out
+
506  if (timeout2 == 0){
+
507  return (STATUS_FAIL);
+
508  }
+
509 
+
510  //Capture data from receive buffer after setting stop bit due to
+
511  //MSP430 I2C critical timing.
+
512  *txData = (HWREG8(baseAddress + OFS_UCBxRXBUF));
+
513 
+
514  return (STATUS_SUCCESS);
+
515 }
+
516 
+
517 void EUSCI_B_I2C_masterReceiveMultiByteStop (uint16_t baseAddress)
+
518 {
+
519  //Send stop condition.
+
520  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCTXSTP;
+
521 }
+
522 
+
523 void EUSCI_B_I2C_enableMultiMasterMode(uint16_t baseAddress)
+
524 {
+
525  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCSWRST;
+
526  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCMM;
+
527 }
+
528 
+
529 void EUSCI_B_I2C_disableMultiMasterMode(uint16_t baseAddress)
+
530 {
+
531 
+
532  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCSWRST;
+
533  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~UCMM;
+
534 }
+
535 
+
536 uint8_t EUSCI_B_I2C_masterReceiveSingle (uint16_t baseAddress)
+
537 {
+
538  //Polling RXIFG0 if RXIE is not enabled
+
539  if(!(HWREG16(baseAddress + OFS_UCBxIE) & UCRXIE0)) {
+
540  while(!(HWREG16(baseAddress + OFS_UCBxIFG) & UCRXIFG0));
+
541  }
+
542 
+
543  //Read a byte.
+
544  return (HWREG16(baseAddress + OFS_UCBxRXBUF));
+
545 }
+
546 
+
547 uint32_t EUSCI_B_I2C_getReceiveBufferAddress (uint16_t baseAddress)
+
548 {
+
549  return ( baseAddress + OFS_UCBxRXBUF );
+
550 }
+
551 
+
552 uint32_t EUSCI_B_I2C_getTransmitBufferAddress (uint16_t baseAddress)
+
553 {
+
554  return ( baseAddress + OFS_UCBxTXBUF );
+
555 }
+
556 void EUSCI_B_I2C_setTimeout(uint16_t baseAddress, uint16_t timeout)
+
557 {
+
558  uint16_t tempUCBxCTLW0;
+
559 
+
560  //Save value of UCSWRST bit before we disable eUSCI module
+
561  tempUCBxCTLW0 = HWREG16(baseAddress + OFS_UCBxCTLW0);
+
562  //Disable the USCI module
+
563  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCSWRST;
+
564 
+
565  //Set timeout
+
566  HWREG16(baseAddress + OFS_UCBxCTLW1) = (HWREG16(baseAddress + OFS_UCBxCTLW1) & (~UCCLTO_3)) | timeout;
+
567 
+
568  //Restore value of UCSWRST bit
+
569  HWREG16(baseAddress + OFS_UCBxCTLW0) = tempUCBxCTLW0;
+
570 }
+
571 
+
572 #endif
+
573 //*****************************************************************************
+
574 //
+
577 //
+
578 //*****************************************************************************
+ + +
#define HWREG8(x)
Definition: hw_memmap.h:41
+
#define HWREG16(x)
Definition: hw_memmap.h:39
+
#define STATUS_FAIL
Definition: hw_memmap.h:23
+
#define STATUS_SUCCESS
Definition: hw_memmap.h:22
+
+
+ + + + diff --git a/Documentation/html/eusci__b__i2c_8h.html b/Documentation/html/eusci__b__i2c_8h.html new file mode 100644 index 0000000..3d043de --- /dev/null +++ b/Documentation/html/eusci__b__i2c_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_b_i2c.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_b_i2c.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/eusci__b__i2c_8h_source.html b/Documentation/html/eusci__b__i2c_8h_source.html new file mode 100644 index 0000000..200f9ee --- /dev/null +++ b/Documentation/html/eusci__b__i2c_8h_source.html @@ -0,0 +1,550 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_b_i2c.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_b_i2c.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // eusci_b_i2c.h - Driver for the EUSCI_B_I2C Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_EUSCI_B_I2C_H__
+
8 #define __MSP430WARE_EUSCI_B_I2C_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_EUSCI_Bx__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 #include "inc/hw_memmap.h"
+
26 //*****************************************************************************
+
27 //
+
30 //
+
31 //*****************************************************************************
+
32 typedef struct EUSCI_B_I2C_initMasterParam {
+
38  uint8_t selectClockSource;
+
41  uint32_t i2cClk;
+
46  uint32_t dataRate;
+
48  uint8_t byteCounterThreshold;
+
54  uint8_t autoSTOPGeneration;
+
55 } EUSCI_B_I2C_initMasterParam;
+
56 
+
57 //*****************************************************************************
+
58 //
+
60 //
+
61 //*****************************************************************************
+
62 typedef struct EUSCI_B_I2C_initSlaveParam {
+
64  uint8_t slaveAddress;
+
71  uint8_t slaveAddressOffset;
+
76  uint32_t slaveOwnAddressEnable;
+
77 } EUSCI_B_I2C_initSlaveParam;
+
78 
+
79 
+
80 //*****************************************************************************
+
81 //
+
82 // The following are values that can be passed to the param parameter for
+
83 // functions: EUSCI_B_I2C_initMaster().
+
84 //
+
85 //*****************************************************************************
+
86 #define EUSCI_B_I2C_NO_AUTO_STOP UCASTP_0
+
87 #define EUSCI_B_I2C_SET_BYTECOUNT_THRESHOLD_FLAG UCASTP_1
+
88 #define EUSCI_B_I2C_SEND_STOP_AUTOMATICALLY_ON_BYTECOUNT_THRESHOLD UCASTP_2
+
89 
+
90 //*****************************************************************************
+
91 //
+
92 // The following are values that can be passed to the param parameter for
+
93 // functions: EUSCI_B_I2C_initMaster().
+
94 //
+
95 //*****************************************************************************
+
96 #define EUSCI_B_I2C_SET_DATA_RATE_400KBPS 400000
+
97 #define EUSCI_B_I2C_SET_DATA_RATE_100KBPS 100000
+
98 
+
99 //*****************************************************************************
+
100 //
+
101 // The following are values that can be passed to the param parameter for
+
102 // functions: EUSCI_B_I2C_initMaster().
+
103 //
+
104 //*****************************************************************************
+
105 #define EUSCI_B_I2C_CLOCKSOURCE_ACLK UCSSEL__ACLK
+
106 #define EUSCI_B_I2C_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
+
107 
+
108 //*****************************************************************************
+
109 //
+
110 // The following are values that can be passed to the param parameter for
+
111 // functions: EUSCI_B_I2C_initSlave().
+
112 //
+
113 //*****************************************************************************
+
114 #define EUSCI_B_I2C_OWN_ADDRESS_OFFSET0 0x00
+
115 #define EUSCI_B_I2C_OWN_ADDRESS_OFFSET1 0x02
+
116 #define EUSCI_B_I2C_OWN_ADDRESS_OFFSET2 0x04
+
117 #define EUSCI_B_I2C_OWN_ADDRESS_OFFSET3 0x06
+
118 
+
119 //*****************************************************************************
+
120 //
+
121 // The following are values that can be passed to the param parameter for
+
122 // functions: EUSCI_B_I2C_initSlave().
+
123 //
+
124 //*****************************************************************************
+
125 #define EUSCI_B_I2C_OWN_ADDRESS_DISABLE 0x00
+
126 #define EUSCI_B_I2C_OWN_ADDRESS_ENABLE UCOAEN
+
127 
+
128 //*****************************************************************************
+
129 //
+
130 // The following are values that can be passed to the mode parameter for
+
131 // functions: EUSCI_B_I2C_setMode() as well as returned by the
+
132 // EUSCI_B_I2C_getMode() function.
+
133 //
+
134 //*****************************************************************************
+
135 #define EUSCI_B_I2C_TRANSMIT_MODE UCTR
+
136 #define EUSCI_B_I2C_RECEIVE_MODE 0x0000
+
137 
+
138 //*****************************************************************************
+
139 //
+
140 // The following are values that can be passed to the mask parameter for
+
141 // functions: EUSCI_B_I2C_enableInterrupt(), EUSCI_B_I2C_disableInterrupt(),
+
142 // EUSCI_B_I2C_clearInterrupt(), and EUSCI_B_I2C_getInterruptStatus() as well
+
143 // as returned by the EUSCI_B_I2C_getInterruptStatus() function.
+
144 //
+
145 //*****************************************************************************
+
146 #define EUSCI_B_I2C_NAK_INTERRUPT UCNACKIE
+
147 #define EUSCI_B_I2C_ARBITRATIONLOST_INTERRUPT UCALIE
+
148 #define EUSCI_B_I2C_STOP_INTERRUPT UCSTPIE
+
149 #define EUSCI_B_I2C_START_INTERRUPT UCSTTIE
+
150 #define EUSCI_B_I2C_TRANSMIT_INTERRUPT0 UCTXIE0
+
151 #define EUSCI_B_I2C_TRANSMIT_INTERRUPT1 UCTXIE1
+
152 #define EUSCI_B_I2C_TRANSMIT_INTERRUPT2 UCTXIE2
+
153 #define EUSCI_B_I2C_TRANSMIT_INTERRUPT3 UCTXIE3
+
154 #define EUSCI_B_I2C_RECEIVE_INTERRUPT0 UCRXIE0
+
155 #define EUSCI_B_I2C_RECEIVE_INTERRUPT1 UCRXIE1
+
156 #define EUSCI_B_I2C_RECEIVE_INTERRUPT2 UCRXIE2
+
157 #define EUSCI_B_I2C_RECEIVE_INTERRUPT3 UCRXIE3
+
158 #define EUSCI_B_I2C_BIT9_POSITION_INTERRUPT UCBIT9IE
+
159 #define EUSCI_B_I2C_CLOCK_LOW_TIMEOUT_INTERRUPT UCCLTOIE
+
160 #define EUSCI_B_I2C_BYTE_COUNTER_INTERRUPT UCBCNTIE
+
161 
+
162 //*****************************************************************************
+
163 //
+
164 // The following are values that can be passed toThe following are values that
+
165 // can be returned by the EUSCI_B_I2C_isBusBusy() function.
+
166 //
+
167 //*****************************************************************************
+
168 #define EUSCI_B_I2C_BUS_BUSY UCBBUSY
+
169 #define EUSCI_B_I2C_BUS_NOT_BUSY 0x00
+
170 
+
171 //*****************************************************************************
+
172 //
+
173 // The following are values that can be passed toThe following are values that
+
174 // can be returned by the EUSCI_B_I2C_masterIsStopSent() function.
+
175 //
+
176 //*****************************************************************************
+
177 #define EUSCI_B_I2C_STOP_SEND_COMPLETE 0x00
+
178 #define EUSCI_B_I2C_SENDING_STOP UCTXSTP
+
179 
+
180 //*****************************************************************************
+
181 //
+
182 // The following are values that can be passed toThe following are values that
+
183 // can be returned by the EUSCI_B_I2C_masterIsStartSent() function.
+
184 //
+
185 //*****************************************************************************
+
186 #define EUSCI_B_I2C_START_SEND_COMPLETE 0x00
+
187 #define EUSCI_B_I2C_SENDING_START UCTXSTT
+
188 
+
189 //*****************************************************************************
+
190 //
+
191 // The following are values that can be passed to the timeout parameter for
+
192 // functions: EUSCI_B_I2C_setTimeout().
+
193 //
+
194 //*****************************************************************************
+
195 #define EUSCI_B_I2C_TIMEOUT_DISABLE UCCLTO_0
+
196 #define EUSCI_B_I2C_TIMEOUT_28_MS UCCLTO_1
+
197 #define EUSCI_B_I2C_TIMEOUT_31_MS UCCLTO_2
+
198 #define EUSCI_B_I2C_TIMEOUT_34_MS UCCLTO_3
+
199 
+
200 //*****************************************************************************
+
201 //
+
202 // Prototypes for the APIs.
+
203 //
+
204 //*****************************************************************************
+
205 
+
206 //*****************************************************************************
+
207 //
+
219 //
+
220 //*****************************************************************************
+
221 extern void EUSCI_B_I2C_initMaster(uint16_t baseAddress,
+
222  EUSCI_B_I2C_initMasterParam *param);
+
223 
+
224 //*****************************************************************************
+
225 //
+
237 //
+
238 //*****************************************************************************
+
239 extern void EUSCI_B_I2C_initSlave(uint16_t baseAddress,
+
240  EUSCI_B_I2C_initSlaveParam *param);
+
241 
+
242 //*****************************************************************************
+
243 //
+
253 //
+
254 //*****************************************************************************
+
255 extern void EUSCI_B_I2C_enable(uint16_t baseAddress);
+
256 
+
257 //*****************************************************************************
+
258 //
+
268 //
+
269 //*****************************************************************************
+
270 extern void EUSCI_B_I2C_disable(uint16_t baseAddress);
+
271 
+
272 //*****************************************************************************
+
273 //
+
285 //
+
286 //*****************************************************************************
+
287 extern void EUSCI_B_I2C_setSlaveAddress(uint16_t baseAddress,
+
288  uint8_t slaveAddress);
+
289 
+
290 //*****************************************************************************
+
291 //
+
307 //
+
308 //*****************************************************************************
+
309 extern void EUSCI_B_I2C_setMode(uint16_t baseAddress,
+
310  uint16_t mode);
+
311 
+
312 //*****************************************************************************
+
313 //
+
326 //
+
327 //*****************************************************************************
+
328 extern uint8_t EUSCI_B_I2C_getMode(uint16_t baseAddress);
+
329 
+
330 //*****************************************************************************
+
331 //
+
343 //
+
344 //*****************************************************************************
+
345 extern void EUSCI_B_I2C_slavePutData(uint16_t baseAddress,
+
346  uint8_t transmitData);
+
347 
+
348 //*****************************************************************************
+
349 //
+
358 //
+
359 //*****************************************************************************
+
360 extern uint8_t EUSCI_B_I2C_slaveGetData(uint16_t baseAddress);
+
361 
+
362 //*****************************************************************************
+
363 //
+
376 //
+
377 //*****************************************************************************
+
378 extern uint16_t EUSCI_B_I2C_isBusBusy(uint16_t baseAddress);
+
379 
+
380 //*****************************************************************************
+
381 //
+
393 //
+
394 //*****************************************************************************
+
395 extern uint16_t EUSCI_B_I2C_masterIsStopSent(uint16_t baseAddress);
+
396 
+
397 //*****************************************************************************
+
398 //
+
410 //
+
411 //*****************************************************************************
+
412 extern uint16_t EUSCI_B_I2C_masterIsStartSent(uint16_t baseAddress);
+
413 
+
414 //*****************************************************************************
+
415 //
+
447 //
+
448 //*****************************************************************************
+
449 extern void EUSCI_B_I2C_enableInterrupt(uint16_t baseAddress,
+
450  uint16_t mask);
+
451 
+
452 //*****************************************************************************
+
453 //
+
485 //
+
486 //*****************************************************************************
+
487 extern void EUSCI_B_I2C_disableInterrupt(uint16_t baseAddress,
+
488  uint16_t mask);
+
489 
+
490 //*****************************************************************************
+
491 //
+
523 //
+
524 //*****************************************************************************
+
525 extern void EUSCI_B_I2C_clearInterrupt(uint16_t baseAddress,
+
526  uint16_t mask);
+
527 
+
528 //*****************************************************************************
+
529 //
+
577 //
+
578 //*****************************************************************************
+
579 extern uint16_t EUSCI_B_I2C_getInterruptStatus(uint16_t baseAddress,
+
580  uint16_t mask);
+
581 
+
582 //*****************************************************************************
+
583 //
+
597 //
+
598 //*****************************************************************************
+
599 extern void EUSCI_B_I2C_masterSendSingleByte(uint16_t baseAddress,
+
600  uint8_t txData);
+
601 
+
602 //*****************************************************************************
+
603 //
+
616 //
+
617 //*****************************************************************************
+
618 extern uint8_t EUSCI_B_I2C_masterReceiveSingleByte(uint16_t baseAddress);
+
619 
+
620 //*****************************************************************************
+
621 //
+
636 //
+
637 //*****************************************************************************
+
638 extern bool EUSCI_B_I2C_masterSendSingleByteWithTimeout(uint16_t baseAddress,
+
639  uint8_t txData,
+
640  uint32_t timeout);
+
641 
+
642 //*****************************************************************************
+
643 //
+
656 //
+
657 //*****************************************************************************
+
658 extern void EUSCI_B_I2C_masterSendMultiByteStart(uint16_t baseAddress,
+
659  uint8_t txData);
+
660 
+
661 //*****************************************************************************
+
662 //
+
676 //
+
677 //*****************************************************************************
+
678 extern bool EUSCI_B_I2C_masterSendMultiByteStartWithTimeout(uint16_t baseAddress,
+
679  uint8_t txData,
+
680  uint32_t timeout);
+
681 
+
682 //*****************************************************************************
+
683 //
+
696 //
+
697 //*****************************************************************************
+
698 extern void EUSCI_B_I2C_masterSendMultiByteNext(uint16_t baseAddress,
+
699  uint8_t txData);
+
700 
+
701 //*****************************************************************************
+
702 //
+
716 //
+
717 //*****************************************************************************
+
718 extern bool EUSCI_B_I2C_masterSendMultiByteNextWithTimeout(uint16_t baseAddress,
+
719  uint8_t txData,
+
720  uint32_t timeout);
+
721 
+
722 //*****************************************************************************
+
723 //
+
737 //
+
738 //*****************************************************************************
+
739 extern void EUSCI_B_I2C_masterSendMultiByteFinish(uint16_t baseAddress,
+
740  uint8_t txData);
+
741 
+
742 //*****************************************************************************
+
743 //
+
758 //
+
759 //*****************************************************************************
+
760 extern bool EUSCI_B_I2C_masterSendMultiByteFinishWithTimeout(uint16_t baseAddress,
+
761  uint8_t txData,
+
762  uint32_t timeout);
+
763 
+
764 //*****************************************************************************
+
765 //
+
775 //
+
776 //*****************************************************************************
+
777 extern void EUSCI_B_I2C_masterSendStart(uint16_t baseAddress);
+
778 
+
779 //*****************************************************************************
+
780 //
+
793 //
+
794 //*****************************************************************************
+
795 extern void EUSCI_B_I2C_masterSendMultiByteStop(uint16_t baseAddress);
+
796 
+
797 //*****************************************************************************
+
798 //
+
812 //
+
813 //*****************************************************************************
+
814 extern bool EUSCI_B_I2C_masterSendMultiByteStopWithTimeout(uint16_t baseAddress,
+
815  uint32_t timeout);
+
816 
+
817 //*****************************************************************************
+
818 //
+
829 //
+
830 //*****************************************************************************
+
831 extern void EUSCI_B_I2C_masterReceiveStart(uint16_t baseAddress);
+
832 
+
833 //*****************************************************************************
+
834 //
+
843 //
+
844 //*****************************************************************************
+
845 extern uint8_t EUSCI_B_I2C_masterReceiveMultiByteNext(uint16_t baseAddress);
+
846 
+
847 //*****************************************************************************
+
848 //
+
860 //
+
861 //*****************************************************************************
+
862 extern uint8_t EUSCI_B_I2C_masterReceiveMultiByteFinish(uint16_t baseAddress);
+
863 
+
864 //*****************************************************************************
+
865 //
+
880 //
+
881 //*****************************************************************************
+
882 extern bool EUSCI_B_I2C_masterReceiveMultiByteFinishWithTimeout(uint16_t baseAddress,
+
883  uint8_t *txData,
+
884  uint32_t timeout);
+
885 
+
886 //*****************************************************************************
+
887 //
+
898 //
+
899 //*****************************************************************************
+
900 extern void EUSCI_B_I2C_masterReceiveMultiByteStop(uint16_t baseAddress);
+
901 
+
902 //*****************************************************************************
+
903 //
+
914 //
+
915 //*****************************************************************************
+
916 extern void EUSCI_B_I2C_enableMultiMasterMode(uint16_t baseAddress);
+
917 
+
918 //*****************************************************************************
+
919 //
+
930 //
+
931 //*****************************************************************************
+
932 extern void EUSCI_B_I2C_disableMultiMasterMode(uint16_t baseAddress);
+
933 
+
934 //*****************************************************************************
+
935 //
+
944 //
+
945 //*****************************************************************************
+
946 extern uint8_t EUSCI_B_I2C_masterReceiveSingle(uint16_t baseAddress);
+
947 
+
948 //*****************************************************************************
+
949 //
+
958 //
+
959 //*****************************************************************************
+
960 extern uint32_t EUSCI_B_I2C_getReceiveBufferAddress(uint16_t baseAddress);
+
961 
+
962 //*****************************************************************************
+
963 //
+
972 //
+
973 //*****************************************************************************
+
974 extern uint32_t EUSCI_B_I2C_getTransmitBufferAddress(uint16_t baseAddress);
+
975 
+
976 //*****************************************************************************
+
977 //
+
1001 //
+
1002 //*****************************************************************************
+
1003 extern void EUSCI_B_I2C_setTimeout(uint16_t baseAddress,
+
1004  uint16_t timeout);
+
1005 
+
1006 //*****************************************************************************
+
1007 //
+
1008 // Mark the end of the C bindings section for C++ compilers.
+
1009 //
+
1010 //*****************************************************************************
+
1011 #ifdef __cplusplus
+
1012 }
+
1013 #endif
+
1014 
+
1015 #endif
+
1016 #endif // __MSP430WARE_EUSCI_B_I2C_H__
+ +
+
+ + + + diff --git a/Documentation/html/eusci__b__spi_8c.html b/Documentation/html/eusci__b__spi_8c.html new file mode 100644 index 0000000..42ea996 --- /dev/null +++ b/Documentation/html/eusci__b__spi_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_b_spi.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_b_spi.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/eusci__b__spi_8c_source.html b/Documentation/html/eusci__b__spi_8c_source.html new file mode 100644 index 0000000..0e3dc88 --- /dev/null +++ b/Documentation/html/eusci__b__spi_8c_source.html @@ -0,0 +1,299 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_b_spi.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_b_spi.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // eusci_b_spi.c - Driver for the eusci_b_spi Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_EUSCI_Bx__
+
17 #include "eusci_b_spi.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 void EUSCI_B_SPI_initMaster (uint16_t baseAddress,
+
22  EUSCI_B_SPI_initMasterParam *param)
+
23 {
+
24  //Disable the USCI Module
+
25  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCSWRST;
+
26 
+
27  //Reset OFS_UCBxCTLW0 values
+
28  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~(UCCKPH + UCCKPL + UC7BIT + UCMSB +
+
29  UCMST + UCMODE_3 + UCSYNC);
+
30 
+
31  //Reset OFS_UCBxCTLW0 values
+
32  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~(UCSSEL_3);
+
33 
+
34  //Select Clock
+
35  HWREG16(baseAddress + OFS_UCBxCTLW0) |= (uint16_t)param->selectClockSource;
+
36 
+
37  HWREG16(baseAddress + OFS_UCBxBRW) =
+
38  (uint16_t)(param->clockSourceFrequency / param->desiredSpiClock);
+
39 
+
40  /*
+
41  * Configure as SPI master mode.
+
42  * Clock phase select, polarity, msb
+
43  * UCMST = Master mode
+
44  * UCSYNC = Synchronous mode
+
45  * UCMODE_0 = 3-pin SPI
+
46  */
+
47  HWREG16(baseAddress + OFS_UCBxCTLW0) |= (
+
48  param->msbFirst +
+
49  param->clockPhase +
+
50  param->clockPolarity +
+
51  UCMST +
+
52  UCSYNC +
+
53  param->spiMode
+
54  );
+
55 }
+
56 
+
57 void EUSCI_B_SPI_select4PinFunctionality (uint16_t baseAddress,
+
58  uint16_t select4PinFunctionality
+
59  )
+
60 {
+
61  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~UCSTEM;
+
62  HWREG16(baseAddress + OFS_UCBxCTLW0) |= select4PinFunctionality;
+
63 }
+
64 
+
65 void EUSCI_B_SPI_changeMasterClock (uint16_t baseAddress,
+
66  EUSCI_B_SPI_changeMasterClockParam *param)
+
67 {
+
68  //Disable the USCI Module
+
69  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCSWRST;
+
70 
+
71  HWREG16(baseAddress + OFS_UCBxBRW) =
+
72  (uint16_t)(param->clockSourceFrequency / param->desiredSpiClock);
+
73 
+
74  //Reset the UCSWRST bit to enable the USCI Module
+
75  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~(UCSWRST);
+
76 }
+
77 
+
78 void EUSCI_B_SPI_initSlave (uint16_t baseAddress, EUSCI_B_SPI_initSlaveParam *param)
+
79 {
+
80  //Disable USCI Module
+
81  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCSWRST;
+
82 
+
83  //Reset OFS_UCBxCTLW0 register
+
84  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~(UCMSB +
+
85  UC7BIT +
+
86  UCMST +
+
87  UCCKPL +
+
88  UCCKPH +
+
89  UCMODE_3
+
90  );
+
91 
+
92  //Clock polarity, phase select, msbFirst, SYNC, Mode0
+
93  HWREG16(baseAddress + OFS_UCBxCTLW0) |= (param->clockPhase +
+
94  param->clockPolarity +
+
95  param->msbFirst +
+
96  UCSYNC +
+
97  param->spiMode
+
98  );
+
99 }
+
100 
+
101 void EUSCI_B_SPI_changeClockPhasePolarity (uint16_t baseAddress,
+
102  uint16_t clockPhase,
+
103  uint16_t clockPolarity
+
104  )
+
105 {
+
106  //Disable the USCI Module
+
107  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCSWRST;
+
108 
+
109  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~(UCCKPH + UCCKPL);
+
110 
+
111  HWREG16(baseAddress + OFS_UCBxCTLW0) |= (
+
112  clockPhase +
+
113  clockPolarity
+
114  );
+
115 
+
116  //Reset the UCSWRST bit to enable the USCI Module
+
117  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~(UCSWRST);
+
118 }
+
119 
+
120 void EUSCI_B_SPI_transmitData ( uint16_t baseAddress,
+
121  uint8_t transmitData
+
122  )
+
123 {
+
124  HWREG16(baseAddress + OFS_UCBxTXBUF) = transmitData;
+
125 }
+
126 
+
127 uint8_t EUSCI_B_SPI_receiveData (uint16_t baseAddress)
+
128 {
+
129  return ( HWREG16(baseAddress + OFS_UCBxRXBUF)) ;
+
130 }
+
131 
+
132 void EUSCI_B_SPI_enableInterrupt (uint16_t baseAddress,
+
133  uint16_t mask
+
134  )
+
135 {
+
136  HWREG16(baseAddress + OFS_UCBxIE) |= mask;
+
137 }
+
138 
+
139 void EUSCI_B_SPI_disableInterrupt (uint16_t baseAddress,
+
140  uint16_t mask
+
141  )
+
142 {
+
143  HWREG16(baseAddress + OFS_UCBxIE) &= ~mask;
+
144 }
+
145 
+
146 uint8_t EUSCI_B_SPI_getInterruptStatus (uint16_t baseAddress,
+
147  uint8_t mask
+
148  )
+
149 {
+
150  return ( HWREG16(baseAddress + OFS_UCBxIFG) & mask );
+
151 }
+
152 
+
153 void EUSCI_B_SPI_clearInterrupt (uint16_t baseAddress,
+
154  uint16_t mask
+
155  )
+
156 {
+
157  HWREG16(baseAddress + OFS_UCBxIFG) &= ~mask;
+
158 }
+
159 
+
160 void EUSCI_B_SPI_enable (uint16_t baseAddress)
+
161 {
+
162  //Reset the UCSWRST bit to enable the USCI Module
+
163  HWREG16(baseAddress + OFS_UCBxCTLW0) &= ~(UCSWRST);
+
164 }
+
165 
+
166 void EUSCI_B_SPI_disable (uint16_t baseAddress)
+
167 {
+
168  //Set the UCSWRST bit to disable the USCI Module
+
169  HWREG16(baseAddress + OFS_UCBxCTLW0) |= UCSWRST;
+
170 }
+
171 
+
172 uint32_t EUSCI_B_SPI_getReceiveBufferAddress (uint16_t baseAddress)
+
173 {
+
174  return ( baseAddress + OFS_UCBxRXBUF );
+
175 }
+
176 
+
177 uint32_t EUSCI_B_SPI_getTransmitBufferAddress (uint16_t baseAddress)
+
178 {
+
179  return ( baseAddress + OFS_UCBxTXBUF );
+
180 }
+
181 
+
182 uint16_t EUSCI_B_SPI_isBusy (uint16_t baseAddress)
+
183 {
+
184  //Return the bus busy status.
+
185  return (HWREG16(baseAddress + OFS_UCBxSTATW) & UCBUSY);
+
186 }
+
187 
+
188 
+
189 #endif
+
190 //*****************************************************************************
+
191 //
+
194 //
+
195 //*****************************************************************************
+ + +
#define HWREG16(x)
Definition: hw_memmap.h:39
+
+
+ + + + diff --git a/Documentation/html/eusci__b__spi_8h.html b/Documentation/html/eusci__b__spi_8h.html new file mode 100644 index 0000000..43622c3 --- /dev/null +++ b/Documentation/html/eusci__b__spi_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_b_spi.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_b_spi.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/eusci__b__spi_8h_source.html b/Documentation/html/eusci__b__spi_8h_source.html new file mode 100644 index 0000000..f95825e --- /dev/null +++ b/Documentation/html/eusci__b__spi_8h_source.html @@ -0,0 +1,368 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/eusci_b_spi.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_b_spi.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // eusci_b_spi.h - Driver for the EUSCI_B_SPI Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_EUSCI_B_SPI_H__
+
8 #define __MSP430WARE_EUSCI_B_SPI_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_EUSCI_Bx__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 #include "inc/hw_memmap.h"
+
26 //*****************************************************************************
+
27 //
+
30 //
+
31 //*****************************************************************************
+
32 typedef struct EUSCI_B_SPI_initMasterParam {
+
38  uint8_t selectClockSource;
+
40  uint32_t clockSourceFrequency;
+
42  uint32_t desiredSpiClock;
+
47  uint16_t msbFirst;
+
52  uint16_t clockPhase;
+
57  uint16_t clockPolarity;
+
63  uint16_t spiMode;
+
64 } EUSCI_B_SPI_initMasterParam;
+
65 
+
66 //*****************************************************************************
+
67 //
+
69 //
+
70 //*****************************************************************************
+
71 typedef struct EUSCI_B_SPI_initSlaveParam {
+
76  uint16_t msbFirst;
+
81  uint16_t clockPhase;
+
86  uint16_t clockPolarity;
+
92  uint16_t spiMode;
+
93 } EUSCI_B_SPI_initSlaveParam;
+
94 
+
95 //*****************************************************************************
+
96 //
+
99 //
+
100 //*****************************************************************************
+
101 typedef struct EUSCI_B_SPI_changeMasterClockParam {
+
103  uint32_t clockSourceFrequency;
+
105  uint32_t desiredSpiClock;
+
106 } EUSCI_B_SPI_changeMasterClockParam;
+
107 
+
108 
+
109 //*****************************************************************************
+
110 //
+
111 // The following are values that can be passed to the clockPhase parameter for
+
112 // functions: EUSCI_B_SPI_changeClockPhasePolarity(); the param parameter for
+
113 // functions: EUSCI_B_SPI_initMaster(), and EUSCI_B_SPI_initSlave().
+
114 //
+
115 //*****************************************************************************
+
116 #define EUSCI_B_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
+
117 #define EUSCI_B_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
+
118 
+
119 //*****************************************************************************
+
120 //
+
121 // The following are values that can be passed to the param parameter for
+
122 // functions: EUSCI_B_SPI_initMaster(), and EUSCI_B_SPI_initSlave().
+
123 //
+
124 //*****************************************************************************
+
125 #define EUSCI_B_SPI_MSB_FIRST UCMSB
+
126 #define EUSCI_B_SPI_LSB_FIRST 0x00
+
127 
+
128 //*****************************************************************************
+
129 //
+
130 // The following are values that can be passed to the param parameter for
+
131 // functions: EUSCI_B_SPI_initMaster(), and EUSCI_B_SPI_initSlave(); the
+
132 // clockPolarity parameter for functions:
+
133 // EUSCI_B_SPI_changeClockPhasePolarity().
+
134 //
+
135 //*****************************************************************************
+
136 #define EUSCI_B_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
+
137 #define EUSCI_B_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
+
138 
+
139 //*****************************************************************************
+
140 //
+
141 // The following are values that can be passed to the param parameter for
+
142 // functions: EUSCI_B_SPI_initMaster().
+
143 //
+
144 //*****************************************************************************
+
145 #define EUSCI_B_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
+
146 #define EUSCI_B_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
+
147 
+
148 //*****************************************************************************
+
149 //
+
150 // The following are values that can be passed to the param parameter for
+
151 // functions: EUSCI_B_SPI_initMaster(), and EUSCI_B_SPI_initSlave().
+
152 //
+
153 //*****************************************************************************
+
154 #define EUSCI_B_SPI_3PIN UCMODE_0
+
155 #define EUSCI_B_SPI_4PIN_UCxSTE_ACTIVE_HIGH UCMODE_1
+
156 #define EUSCI_B_SPI_4PIN_UCxSTE_ACTIVE_LOW UCMODE_2
+
157 
+
158 //*****************************************************************************
+
159 //
+
160 // The following are values that can be passed to the select4PinFunctionality
+
161 // parameter for functions: EUSCI_B_SPI_select4PinFunctionality().
+
162 //
+
163 //*****************************************************************************
+
164 #define EUSCI_B_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x0000
+
165 #define EUSCI_B_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE UCSTEM
+
166 
+
167 //*****************************************************************************
+
168 //
+
169 // The following are values that can be passed to the mask parameter for
+
170 // functions: EUSCI_B_SPI_enableInterrupt(), EUSCI_B_SPI_disableInterrupt(),
+
171 // EUSCI_B_SPI_getInterruptStatus(), and EUSCI_B_SPI_clearInterrupt() as well
+
172 // as returned by the EUSCI_B_SPI_getInterruptStatus() function.
+
173 //
+
174 //*****************************************************************************
+
175 #define EUSCI_B_SPI_TRANSMIT_INTERRUPT UCTXIE
+
176 #define EUSCI_B_SPI_RECEIVE_INTERRUPT UCRXIE
+
177 
+
178 //*****************************************************************************
+
179 //
+
180 // The following are values that can be passed toThe following are values that
+
181 // can be returned by the EUSCI_B_SPI_isBusy() function.
+
182 //
+
183 //*****************************************************************************
+
184 #define EUSCI_B_SPI_BUSY UCBUSY
+
185 #define EUSCI_B_SPI_NOT_BUSY 0x00
+
186 
+
187 //*****************************************************************************
+
188 //
+
189 // Prototypes for the APIs.
+
190 //
+
191 //*****************************************************************************
+
192 
+
193 //*****************************************************************************
+
194 //
+
208 //
+
209 //*****************************************************************************
+
210 extern void EUSCI_B_SPI_initMaster(uint16_t baseAddress,
+
211  EUSCI_B_SPI_initMasterParam *param);
+
212 
+
213 //*****************************************************************************
+
214 //
+
229 //
+
230 //*****************************************************************************
+
231 extern void EUSCI_B_SPI_select4PinFunctionality(uint16_t baseAddress,
+
232  uint16_t select4PinFunctionality);
+
233 
+
234 //*****************************************************************************
+
235 //
+
245 //
+
246 //*****************************************************************************
+
247 extern void EUSCI_B_SPI_changeMasterClock(uint16_t baseAddress,
+
248  EUSCI_B_SPI_changeMasterClockParam *param);
+
249 
+
250 //*****************************************************************************
+
251 //
+
265 //
+
266 //*****************************************************************************
+
267 extern void EUSCI_B_SPI_initSlave(uint16_t baseAddress,
+
268  EUSCI_B_SPI_initSlaveParam *param);
+
269 
+
270 //*****************************************************************************
+
271 //
+
290 //
+
291 //*****************************************************************************
+
292 extern void EUSCI_B_SPI_changeClockPhasePolarity(uint16_t baseAddress,
+
293  uint16_t clockPhase,
+
294  uint16_t clockPolarity);
+
295 
+
296 //*****************************************************************************
+
297 //
+
307 //
+
308 //*****************************************************************************
+
309 extern void EUSCI_B_SPI_transmitData(uint16_t baseAddress,
+
310  uint8_t transmitData);
+
311 
+
312 //*****************************************************************************
+
313 //
+
322 //
+
323 //*****************************************************************************
+
324 extern uint8_t EUSCI_B_SPI_receiveData(uint16_t baseAddress);
+
325 
+
326 //*****************************************************************************
+
327 //
+
343 //
+
344 //*****************************************************************************
+
345 extern void EUSCI_B_SPI_enableInterrupt(uint16_t baseAddress,
+
346  uint16_t mask);
+
347 
+
348 //*****************************************************************************
+
349 //
+
365 //
+
366 //*****************************************************************************
+
367 extern void EUSCI_B_SPI_disableInterrupt(uint16_t baseAddress,
+
368  uint16_t mask);
+
369 
+
370 //*****************************************************************************
+
371 //
+
387 //
+
388 //*****************************************************************************
+
389 extern uint8_t EUSCI_B_SPI_getInterruptStatus(uint16_t baseAddress,
+
390  uint8_t mask);
+
391 
+
392 //*****************************************************************************
+
393 //
+
405 //
+
406 //*****************************************************************************
+
407 extern void EUSCI_B_SPI_clearInterrupt(uint16_t baseAddress,
+
408  uint16_t mask);
+
409 
+
410 //*****************************************************************************
+
411 //
+
421 //
+
422 //*****************************************************************************
+
423 extern void EUSCI_B_SPI_enable(uint16_t baseAddress);
+
424 
+
425 //*****************************************************************************
+
426 //
+
436 //
+
437 //*****************************************************************************
+
438 extern void EUSCI_B_SPI_disable(uint16_t baseAddress);
+
439 
+
440 //*****************************************************************************
+
441 //
+
450 //
+
451 //*****************************************************************************
+
452 extern uint32_t EUSCI_B_SPI_getReceiveBufferAddress(uint16_t baseAddress);
+
453 
+
454 //*****************************************************************************
+
455 //
+
464 //
+
465 //*****************************************************************************
+
466 extern uint32_t EUSCI_B_SPI_getTransmitBufferAddress(uint16_t baseAddress);
+
467 
+
468 //*****************************************************************************
+
469 //
+
481 //
+
482 //*****************************************************************************
+
483 extern uint16_t EUSCI_B_SPI_isBusy(uint16_t baseAddress);
+
484 
+
485 //*****************************************************************************
+
486 //
+
487 // Mark the end of the C bindings section for C++ compilers.
+
488 //
+
489 //*****************************************************************************
+
490 #ifdef __cplusplus
+
491 }
+
492 #endif
+
493 
+
494 #endif
+
495 #endif // __MSP430WARE_EUSCI_B_SPI_H__
+ +
+
+ + + + diff --git a/Documentation/html/files.html b/Documentation/html/files.html index 499b74b..a3d37cb 100644 --- a/Documentation/html/files.html +++ b/Documentation/html/files.html @@ -93,13 +93,104 @@ $(document).ready(function(){initNavTree('files.html',''); initResizable(); });
Here is a list of all files with brief descriptions:
@@ -107,7 +198,7 @@ $(document).ready(function(){initNavTree('files.html',''); initResizable(); }); diff --git a/Documentation/html/files_dup.js b/Documentation/html/files_dup.js index 5b0d271..c9e145a 100644 --- a/Documentation/html/files_dup.js +++ b/Documentation/html/files_dup.js @@ -1,6 +1,6 @@ var files_dup = [ - [ "Hardware", "dir_6cc751a9e685a986d41d35de353de328.html", "dir_6cc751a9e685a986d41d35de353de328" ], + [ "Hardware", "dir_6cc751a9e685a986d41d35de353de328.html", null ], [ "Meta", "dir_7795a02a4813dcd036f04e5f7854f185.html", null ], [ "Software", "dir_4e9c05acfa2c3671b8618fcb95d57d96.html", "dir_4e9c05acfa2c3671b8618fcb95d57d96" ] ]; \ No newline at end of file diff --git a/Documentation/html/flashctl_8c.html b/Documentation/html/flashctl_8c.html new file mode 100644 index 0000000..68c7b75 --- /dev/null +++ b/Documentation/html/flashctl_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/flashctl.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
flashctl.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/flashctl_8c_source.html b/Documentation/html/flashctl_8c_source.html new file mode 100644 index 0000000..0dfef74 --- /dev/null +++ b/Documentation/html/flashctl_8c_source.html @@ -0,0 +1,384 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/flashctl.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
flashctl.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // flashctl.c - Driver for the flashctl Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_FLASH__
+
17 #include "flashctl.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 void FlashCtl_eraseSegment ( uint8_t *flash_ptr){
+
22  //Clear Lock bit
+
23  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY;
+
24 
+
25  //Set Erase bit
+
26  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY + ERASE;
+
27 
+
28  //Dummy write to erase Flash seg
+
29  *flash_ptr = 0;
+
30 
+
31  //test busy
+
32  while (HWREG8(FLASH_BASE + OFS_FCTL3) & BUSY) ;
+
33 
+
34  //Clear ERASE bit
+
35  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY;
+
36 
+
37  //Set LOCK bit
+
38  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY + LOCK;
+
39 }
+
40 
+
41 void FlashCtl_eraseBank ( uint8_t *flash_ptr){
+
42  uint16_t interruptState;
+
43 
+
44  //Clear Lock bit
+
45  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY;
+
46 
+
47  while (HWREG8(FLASH_BASE + OFS_FCTL3) & BUSY);
+
48 
+
49  //FLASH34 errata: no concurrent access to flash bank while erasing
+
50  interruptState = __get_interrupt_state();
+
51  __disable_interrupt();
+
52  __no_operation();
+
53 
+
54  //Set MERAS bit
+
55  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY + MERAS;
+
56 
+
57  //Dummy write to erase Flash seg
+
58  *flash_ptr = 0;
+
59 
+
60  //test busy
+
61  while (HWREG8(FLASH_BASE + OFS_FCTL3) & BUSY);
+
62 
+
63  //FLASH34 errata
+
64  //Re-enable interrupt state to whatever it was before
+
65  if (interruptState & GIE)
+
66  {
+
67  __enable_interrupt();
+
68  }
+
69 
+
70  //Clear MERAS bit
+
71  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY;
+
72 
+
73  //Set LOCK bit
+
74  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY + LOCK;
+
75 }
+
76 
+
77 void FlashCtl_performMassErase ( uint8_t *flash_ptr){
+
78  //Clear Lock bit
+
79  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY;
+
80 
+
81  while (HWREG8(FLASH_BASE + OFS_FCTL3) & BUSY) ;
+
82 
+
83  //Set MERAS bit
+
84  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY + MERAS + ERASE;
+
85 
+
86  //Dummy write to erase Flash seg
+
87  *flash_ptr = 0;
+
88 
+
89  //test busy
+
90  while (HWREG8(FLASH_BASE + OFS_FCTL3) & BUSY) ;
+
91 
+
92  //Clear MERAS bit
+
93  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY;
+
94 
+
95  //Set LOCK bit
+
96  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY + LOCK;
+
97 }
+
98 
+
99 bool FlashCtl_performEraseCheck (uint8_t *flash_ptr,
+
100  uint16_t numberOfBytes
+
101  )
+
102 {
+
103  uint16_t i;
+
104 
+
105  for (i = 0; i < numberOfBytes; i++)
+
106  {
+
107  //was erasing successfull?
+
108  if ((*(flash_ptr + i)) != 0xFF){
+
109  return ( STATUS_FAIL) ;
+
110  }
+
111  }
+
112  return ( STATUS_SUCCESS) ;
+
113 }
+
114 
+
115 void FlashCtl_write8 (uint8_t *data_ptr,
+
116  uint8_t *flash_ptr,
+
117  uint16_t count
+
118  )
+
119 {
+
120  //Clear Lock bit
+
121  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY;
+
122 
+
123  //Enable byte/word write mode
+
124  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY + WRT;
+
125 
+
126  while (count > 0)
+
127  {
+
128  //test busy
+
129  while (HWREG8(FLASH_BASE + OFS_FCTL3) & BUSY) ;
+
130 
+
131  //Write to Flash
+
132  *flash_ptr++ = *data_ptr++;
+
133  count--;
+
134  }
+
135 
+
136  //Clear WRT bit
+
137  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY;
+
138 
+
139  //Set LOCK bit
+
140  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY + LOCK;
+
141 }
+
142 
+
143 void FlashCtl_write16 (uint16_t *data_ptr,
+
144  uint16_t *flash_ptr,
+
145  uint16_t count
+
146  )
+
147 {
+
148  //Clear Lock bit
+
149  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY;
+
150 
+
151  //Enable byte/word write mode
+
152  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY + WRT;
+
153 
+
154  while (count > 0)
+
155  {
+
156  //test busy
+
157  while (HWREG8(FLASH_BASE + OFS_FCTL3) & BUSY) ;
+
158 
+
159  //Write to Flash
+
160  *flash_ptr++ = *data_ptr++;
+
161  count--;
+
162  }
+
163 
+
164  //Clear WRT bit
+
165  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY;
+
166 
+
167  //Set LOCK bit
+
168  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY + LOCK;
+
169 }
+
170 
+
171 void FlashCtl_write32 (uint32_t *data_ptr,
+
172  uint32_t *flash_ptr,
+
173  uint16_t count
+
174  )
+
175 {
+
176  //Clear Lock bit
+
177  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY;
+
178 
+
179  //Enable long-word write
+
180  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY + BLKWRT;
+
181 
+
182  while (count > 0)
+
183  {
+
184  //test busy
+
185  while (HWREG8(FLASH_BASE + OFS_FCTL3) & BUSY) ;
+
186 
+
187  //Write to Flash
+
188  *flash_ptr++ = *data_ptr++;
+
189 
+
190  count--;
+
191  }
+
192 
+
193  //Clear BLKWRT bit
+
194  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY;
+
195 
+
196  //Set LOCK bit
+
197  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY + LOCK;
+
198 }
+
199 
+
200 void FlashCtl_fillMemory32 (uint32_t value,
+
201  uint32_t *flash_ptr,
+
202  uint16_t count
+
203  )
+
204 {
+
205  //Clear Lock bit
+
206  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY;
+
207 
+
208  //Enable long-word write
+
209  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY + BLKWRT;
+
210 
+
211  //test busy
+
212  while (count > 0)
+
213  {
+
214  while ((HWREG8(FLASH_BASE + OFS_FCTL3)) & BUSY) ;
+
215 
+
216  //Write to Flash
+
217  *flash_ptr++ = value;
+
218 
+
219  count--;
+
220  }
+
221 
+
222  //Clear BLKWRT bit
+
223  HWREG16(FLASH_BASE + OFS_FCTL1) = FWKEY;
+
224 
+
225  //Set LOCK bit
+
226  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY + LOCK;
+
227 }
+
228 
+
229 uint8_t FlashCtl_getStatus (uint8_t mask
+
230  )
+
231 {
+
232  return ((HWREG8(FLASH_BASE + OFS_FCTL3) & mask ));
+
233 }
+
234 
+
235 void FlashCtl_lockInfoA (void)
+
236 {
+
237  //Disable global interrupts while doing RMW operation on LOCKA bit
+
238  uint16_t gieStatus;
+
239  gieStatus = __get_SR_register() & GIE; //Store current SR register
+
240  __disable_interrupt(); //Disable global interrupt
+
241 
+
242  //Set the LOCKA bit in FCTL3.
+
243  //Since LOCKA toggles when you write a 1 (and writing 0 has no effect),
+
244  //read the register, XOR with LOCKA mask, mask the lower byte
+
245  //and write it back.
+
246  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY
+
247  + ((HWREG16(FLASH_BASE + OFS_FCTL3) ^ LOCKA) & 0xFF);
+
248 
+
249  //Reinstate SR register to restore global interrupt enable status
+
250  __bis_SR_register(gieStatus);
+
251 }
+
252 
+
253 void FlashCtl_unlockInfoA (void)
+
254 {
+
255  //Disable global interrupts while doing RMW operation on LOCKA bit
+
256  uint16_t gieStatus;
+
257  gieStatus = __get_SR_register() & GIE; //Store current SR register
+
258  __disable_interrupt(); //Disable global interrupt
+
259 
+
260  //Clear the LOCKA bit in FCTL3.
+
261  //Since LOCKA toggles when you write a 1 (and writing 0 has no effect),
+
262  //read the register, mask the lower byte, and write it back.
+
263  HWREG16(FLASH_BASE + OFS_FCTL3) = FWKEY
+
264  + (HWREG16(FLASH_BASE + OFS_FCTL3) & 0xFF);
+
265 
+
266  //Reinstate SR register to restore global interrupt enable status
+
267  __bis_SR_register(gieStatus);
+
268 }
+
269 
+
270 
+
271 #endif
+
272 //*****************************************************************************
+
273 //
+
276 //
+
277 //*****************************************************************************
+ + +
#define HWREG8(x)
Definition: hw_memmap.h:41
+
#define HWREG16(x)
Definition: hw_memmap.h:39
+
#define STATUS_FAIL
Definition: hw_memmap.h:23
+
#define STATUS_SUCCESS
Definition: hw_memmap.h:22
+
+
+ + + + diff --git a/Documentation/html/flashctl_8h.html b/Documentation/html/flashctl_8h.html new file mode 100644 index 0000000..72d2096 --- /dev/null +++ b/Documentation/html/flashctl_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/flashctl.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
flashctl.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/flashctl_8h_source.html b/Documentation/html/flashctl_8h_source.html new file mode 100644 index 0000000..01b7de7 --- /dev/null +++ b/Documentation/html/flashctl_8h_source.html @@ -0,0 +1,234 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/flashctl.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
flashctl.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // flashctl.h - Driver for the FLASHCTL Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_FLASHCTL_H__
+
8 #define __MSP430WARE_FLASHCTL_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_FLASH__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 //*****************************************************************************
+
26 //
+
27 // The following are values that can be passed to the mask parameter for
+
28 // functions: FlashCtl_getStatus() as well as returned by the
+
29 // FlashCtl_getStatus() function.
+
30 //
+
31 //*****************************************************************************
+
32 #define FLASHCTL_READY_FOR_NEXT_WRITE WAIT
+
33 #define FLASHCTL_ACCESS_VIOLATION_INTERRUPT_FLAG ACCVIFG
+
34 #define FLASHCTL_PASSWORD_WRITTEN_INCORRECTLY KEYV
+
35 #define FLASHCTL_BUSY BUSY
+
36 
+
37 //*****************************************************************************
+
38 //
+
39 // Prototypes for the APIs.
+
40 //
+
41 //*****************************************************************************
+
42 
+
43 //*****************************************************************************
+
44 //
+
54 //
+
55 //*****************************************************************************
+
56 extern void FlashCtl_eraseSegment(uint8_t *flash_ptr);
+
57 
+
58 //*****************************************************************************
+
59 //
+
68 //
+
69 //*****************************************************************************
+
70 extern void FlashCtl_eraseBank(uint8_t *flash_ptr);
+
71 
+
72 //*****************************************************************************
+
73 //
+
86 //
+
87 //*****************************************************************************
+
88 extern void FlashCtl_performMassErase(uint8_t *flash_ptr);
+
89 
+
90 //*****************************************************************************
+
91 //
+
101 //
+
102 //*****************************************************************************
+
103 extern bool FlashCtl_performEraseCheck(uint8_t *flash_ptr,
+
104  uint16_t numberOfBytes);
+
105 
+
106 //*****************************************************************************
+
107 //
+
119 //
+
120 //*****************************************************************************
+
121 extern void FlashCtl_write8(uint8_t *data_ptr,
+
122  uint8_t *flash_ptr,
+
123  uint16_t count);
+
124 
+
125 //*****************************************************************************
+
126 //
+
139 //
+
140 //*****************************************************************************
+
141 extern void FlashCtl_write16(uint16_t *data_ptr,
+
142  uint16_t *flash_ptr,
+
143  uint16_t count);
+
144 
+
145 //*****************************************************************************
+
146 //
+
159 //
+
160 //*****************************************************************************
+
161 extern void FlashCtl_write32(uint32_t *data_ptr,
+
162  uint32_t *flash_ptr,
+
163  uint16_t count);
+
164 
+
165 //*****************************************************************************
+
166 //
+
179 //
+
180 //*****************************************************************************
+
181 extern void FlashCtl_fillMemory32(uint32_t value,
+
182  uint32_t *flash_ptr,
+
183  uint16_t count);
+
184 
+
185 //*****************************************************************************
+
186 //
+
206 //
+
207 //*****************************************************************************
+
208 extern uint8_t FlashCtl_getStatus(uint8_t mask);
+
209 
+
210 //*****************************************************************************
+
211 //
+
220 //
+
221 //*****************************************************************************
+
222 extern void FlashCtl_lockInfoA(void);
+
223 
+
224 //*****************************************************************************
+
225 //
+
233 //
+
234 //*****************************************************************************
+
235 extern void FlashCtl_unlockInfoA(void);
+
236 
+
237 //*****************************************************************************
+
238 //
+
239 // Mark the end of the C bindings section for C++ compilers.
+
240 //
+
241 //*****************************************************************************
+
242 #ifdef __cplusplus
+
243 }
+
244 #endif
+
245 
+
246 #endif
+
247 #endif // __MSP430WARE_FLASHCTL_H__
+ +
+
+ + + + diff --git a/Documentation/html/globals.html b/Documentation/html/globals.html index 85803f7..b900b16 100644 --- a/Documentation/html/globals.html +++ b/Documentation/html/globals.html @@ -89,16 +89,52 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); })
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
diff --git a/Documentation/html/globals_defs.html b/Documentation/html/globals_defs.html new file mode 100644 index 0000000..9ccec3d --- /dev/null +++ b/Documentation/html/globals_defs.html @@ -0,0 +1,138 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/Documentation/html/globals_func.html b/Documentation/html/globals_func.html index 095f42b..f668b3a 100644 --- a/Documentation/html/globals_func.html +++ b/Documentation/html/globals_func.html @@ -98,7 +98,7 @@ $(document).ready(function(){initNavTree('globals_func.html',''); initResizable( diff --git a/Documentation/html/gpio_8c.html b/Documentation/html/gpio_8c.html new file mode 100644 index 0000000..27292fb --- /dev/null +++ b/Documentation/html/gpio_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/gpio.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
gpio.c File Reference
+
+ +
+ + + + diff --git a/Documentation/html/gpio_8c_source.html b/Documentation/html/gpio_8c_source.html new file mode 100644 index 0000000..20003c5 --- /dev/null +++ b/Documentation/html/gpio_8c_source.html @@ -0,0 +1,554 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/gpio.c Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
gpio.c
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // gpio.c - Driver for the gpio Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 //*****************************************************************************
+
8 //
+
11 //
+
12 //*****************************************************************************
+
13 
+
14 #include "inc/hw_memmap.h"
+
15 
+
16 #ifdef __MSP430_HAS_PORT1_R__
+
17 #include "gpio.h"
+
18 
+
19 #include <assert.h>
+
20 
+
21 static const uint16_t GPIO_PORT_TO_BASE[] = {
+
22  0x00,
+
23 #if defined(__MSP430_HAS_PORT1_R__)
+
24  __MSP430_BASEADDRESS_PORT1_R__,
+
25 #elif defined(__MSP430_HAS_PORT1__)
+
26  __MSP430_BASEADDRESS_PORT1__,
+
27 #else
+
28  0xFFFF,
+
29 #endif
+
30 #if defined(__MSP430_HAS_PORT2_R__)
+
31  __MSP430_BASEADDRESS_PORT2_R__,
+
32 #elif defined(__MSP430_HAS_PORT2__)
+
33  __MSP430_BASEADDRESS_PORT2__,
+
34 #else
+
35  0xFFFF,
+
36 #endif
+
37 #if defined(__MSP430_HAS_PORT3_R__)
+
38  __MSP430_BASEADDRESS_PORT3_R__,
+
39 #elif defined(__MSP430_HAS_PORT3__)
+
40  __MSP430_BASEADDRESS_PORT3__,
+
41 #else
+
42  0xFFFF,
+
43 #endif
+
44 #if defined(__MSP430_HAS_PORT4_R__)
+
45  __MSP430_BASEADDRESS_PORT4_R__,
+
46 #elif defined(__MSP430_HAS_PORT4__)
+
47  __MSP430_BASEADDRESS_PORT4__,
+
48 #else
+
49  0xFFFF,
+
50 #endif
+
51 #if defined(__MSP430_HAS_PORT5_R__)
+
52  __MSP430_BASEADDRESS_PORT5_R__,
+
53 #elif defined(__MSP430_HAS_PORT5__)
+
54  __MSP430_BASEADDRESS_PORT5__,
+
55 #else
+
56  0xFFFF,
+
57 #endif
+
58 #if defined(__MSP430_HAS_PORT6_R__)
+
59  __MSP430_BASEADDRESS_PORT6_R__,
+
60 #elif defined(__MSP430_HAS_PORT6__)
+
61  __MSP430_BASEADDRESS_PORT6__,
+
62 #else
+
63  0xFFFF,
+
64 #endif
+
65 #if defined(__MSP430_HAS_PORT7_R__)
+
66  __MSP430_BASEADDRESS_PORT7_R__,
+
67 #elif defined(__MSP430_HAS_PORT7__)
+
68  __MSP430_BASEADDRESS_PORT7__,
+
69 #else
+
70  0xFFFF,
+
71 #endif
+
72 #if defined(__MSP430_HAS_PORT8_R__)
+
73  __MSP430_BASEADDRESS_PORT8_R__,
+
74 #elif defined(__MSP430_HAS_PORT8__)
+
75  __MSP430_BASEADDRESS_PORT8__,
+
76 #else
+
77  0xFFFF,
+
78 #endif
+
79 #if defined(__MSP430_HAS_PORT9_R__)
+
80  __MSP430_BASEADDRESS_PORT9_R__,
+
81 #elif defined(__MSP430_HAS_PORT9__)
+
82  __MSP430_BASEADDRESS_PORT9__,
+
83 #else
+
84  0xFFFF,
+
85 #endif
+
86 #if defined(__MSP430_HAS_PORT10_R__)
+
87  __MSP430_BASEADDRESS_PORT10_R__,
+
88 #elif defined(__MSP430_HAS_PORT10__)
+
89  __MSP430_BASEADDRESS_PORT10__,
+
90 #else
+
91  0xFFFF,
+
92 #endif
+
93 #if defined(__MSP430_HAS_PORT11_R__)
+
94  __MSP430_BASEADDRESS_PORT11_R__,
+
95 #elif defined(__MSP430_HAS_PORT11__)
+
96  __MSP430_BASEADDRESS_PORT11__,
+
97 #else
+
98  0xFFFF,
+
99 #endif
+
100  0xFFFF,
+
101 #if defined(__MSP430_HAS_PORTJ_R__)
+
102  __MSP430_BASEADDRESS_PORTJ_R__
+
103 #elif defined(__MSP430_HAS_PORTJ__)
+
104  __MSP430_BASEADDRESS_PORTJ__
+
105 #else
+
106  0xFFFF
+
107 #endif
+
108 };
+
109 
+
110 void GPIO_setAsOutputPin(uint8_t selectedPort, uint16_t selectedPins) {
+
111 
+
112  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
113 
+
114  #ifndef NDEBUG
+
115  if(baseAddress == 0xFFFF) {
+
116  return;
+
117  }
+
118  #endif
+
119 
+
120  // Shift by 8 if port is even (upper 8-bits)
+
121  if((selectedPort & 1) ^ 1) {
+
122  selectedPins <<= 8;
+
123  }
+
124 
+
125  HWREG16(baseAddress + OFS_PASEL) &= ~selectedPins;
+
126  HWREG16(baseAddress + OFS_PADIR) |= selectedPins;
+
127 
+
128  return;
+
129 }
+
130 
+
131 void GPIO_setAsInputPin(uint8_t selectedPort, uint16_t selectedPins) {
+
132 
+
133  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
134 
+
135  #ifndef NDEBUG
+
136  if(baseAddress == 0xFFFF) {
+
137  return;
+
138  }
+
139  #endif
+
140 
+
141  // Shift by 8 if port is even (upper 8-bits)
+
142  if((selectedPort & 1) ^ 1) {
+
143  selectedPins <<= 8;
+
144  }
+
145 
+
146  HWREG16(baseAddress + OFS_PASEL) &= ~selectedPins;
+
147  HWREG16(baseAddress + OFS_PADIR) &= ~selectedPins;
+
148  HWREG16(baseAddress + OFS_PAREN) &= ~selectedPins;
+
149 }
+
150 
+
151 void GPIO_setAsPeripheralModuleFunctionOutputPin(uint8_t selectedPort,
+
152  uint16_t selectedPins
+
153 ) {
+
154 
+
155  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
156 
+
157  #ifndef NDEBUG
+
158  if(baseAddress == 0xFFFF) {
+
159  return;
+
160  }
+
161  #endif
+
162 
+
163  // Shift by 8 if port is even (upper 8-bits)
+
164  if((selectedPort & 1) ^ 1) {
+
165  selectedPins <<= 8;
+
166  }
+
167 
+
168  HWREG16(baseAddress + OFS_PADIR) |= selectedPins;
+
169  HWREG16(baseAddress + OFS_PASEL) |= selectedPins;
+
170 }
+
171 
+
172 void GPIO_setAsPeripheralModuleFunctionInputPin(uint8_t selectedPort,
+
173  uint16_t selectedPins
+
174 ) {
+
175  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
176 
+
177  #ifndef NDEBUG
+
178  if(baseAddress == 0xFFFF) {
+
179  return;
+
180  }
+
181  #endif
+
182 
+
183  // Shift by 8 if port is even (upper 8-bits)
+
184  if((selectedPort & 1) ^ 1) {
+
185  selectedPins <<= 8;
+
186  }
+
187 
+
188  HWREG16(baseAddress + OFS_PADIR) &= ~selectedPins;
+
189  HWREG16(baseAddress + OFS_PASEL) |= selectedPins;
+
190 }
+
191 
+
192 void GPIO_setOutputHighOnPin (uint8_t selectedPort,
+
193  uint16_t selectedPins) {
+
194 
+
195  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
196 
+
197  #ifndef NDEBUG
+
198  if(baseAddress == 0xFFFF) {
+
199  return;
+
200  }
+
201  #endif
+
202 
+
203  // Shift by 8 if port is even (upper 8-bits)
+
204  if((selectedPort & 1) ^ 1) {
+
205  selectedPins <<= 8;
+
206  }
+
207 
+
208  HWREG16(baseAddress + OFS_PAOUT) |= selectedPins;
+
209 }
+
210 
+
211 void GPIO_setOutputLowOnPin (uint8_t selectedPort, uint16_t selectedPins) {
+
212 
+
213  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
214 
+
215  #ifndef NDEBUG
+
216  if(baseAddress == 0xFFFF) {
+
217  return;
+
218  }
+
219  #endif
+
220 
+
221  // Shift by 8 if port is even (upper 8-bits)
+
222  if((selectedPort & 1) ^ 1) {
+
223  selectedPins <<= 8;
+
224  }
+
225 
+
226  HWREG16(baseAddress + OFS_PAOUT) &= ~selectedPins;
+
227 }
+
228 
+
229 void GPIO_toggleOutputOnPin (uint8_t selectedPort, uint16_t selectedPins) {
+
230 
+
231  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
232 
+
233  #ifndef NDEBUG
+
234  if(baseAddress == 0xFFFF) {
+
235  return;
+
236  }
+
237  #endif
+
238 
+
239  // Shift by 8 if port is even (upper 8-bits)
+
240  if((selectedPort & 1) ^ 1) {
+
241  selectedPins <<= 8;
+
242  }
+
243 
+
244  HWREG16(baseAddress + OFS_PAOUT) ^= selectedPins;
+
245 }
+
246 
+
247 void GPIO_setAsInputPinWithPullDownResistor(uint8_t selectedPort,
+
248  uint16_t selectedPins) {
+
249 
+
250  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
251 
+
252  #ifndef NDEBUG
+
253  if(baseAddress == 0xFFFF) {
+
254  return;
+
255  }
+
256  #endif
+
257 
+
258  // Shift by 8 if port is even (upper 8-bits)
+
259  if((selectedPort & 1) ^ 1) {
+
260  selectedPins <<= 8;
+
261  }
+
262 
+
263  HWREG16(baseAddress + OFS_PASEL) &= ~selectedPins;
+
264 
+
265  HWREG16(baseAddress + OFS_PADIR) &= ~selectedPins;
+
266  HWREG16(baseAddress + OFS_PAREN) |= selectedPins;
+
267  HWREG16(baseAddress + OFS_PAOUT) &= ~selectedPins;
+
268 }
+
269 
+
270 void GPIO_setAsInputPinWithPullUpResistor(uint8_t selectedPort,
+
271  uint16_t selectedPins) {
+
272 
+
273  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
274 
+
275  #ifndef NDEBUG
+
276  if(baseAddress == 0xFFFF) {
+
277  return;
+
278  }
+
279  #endif
+
280 
+
281  // Shift by 8 if port is even (upper 8-bits)
+
282  if((selectedPort & 1) ^ 1) {
+
283  selectedPins <<= 8;
+
284  }
+
285 
+
286  HWREG16(baseAddress + OFS_PASEL) &= ~selectedPins;
+
287  HWREG16(baseAddress + OFS_PADIR) &= ~selectedPins;
+
288  HWREG16(baseAddress + OFS_PAREN) |= selectedPins;
+
289  HWREG16(baseAddress + OFS_PAOUT) |= selectedPins;
+
290 }
+
291 
+
292 uint8_t GPIO_getInputPinValue(uint8_t selectedPort,
+
293  uint16_t selectedPins) {
+
294 
+
295  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
296 
+
297  #ifndef NDEBUG
+
298  if(baseAddress == 0xFFFF) {
+
299  return;
+
300  }
+
301  #endif
+
302 
+
303  // Shift by 8 if port is even (upper 8-bits)
+
304  if((selectedPort & 1) ^ 1) {
+
305  selectedPins <<= 8;
+
306  }
+
307 
+
308  uint16_t inputPinValue = HWREG16(baseAddress + OFS_PAIN) & (selectedPins);
+
309 
+
310  if(inputPinValue > 0){
+
311  return (GPIO_INPUT_PIN_HIGH);
+
312  }
+
313  return (GPIO_INPUT_PIN_LOW);
+
314 }
+
315 
+
316 void GPIO_enableInterrupt(uint8_t selectedPort, uint16_t selectedPins) {
+
317 
+
318  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
319 
+
320  #ifndef NDEBUG
+
321  if(baseAddress == 0xFFFF) {
+
322  return;
+
323  }
+
324  #endif
+
325 
+
326  // Shift by 8 if port is even (upper 8-bits)
+
327  if((selectedPort & 1) ^ 1) {
+
328  selectedPins <<= 8;
+
329  }
+
330 
+
331  HWREG16(baseAddress + OFS_PAIE) |= selectedPins;
+
332 }
+
333 
+
334 void GPIO_disableInterrupt(uint8_t selectedPort, uint16_t selectedPins) {
+
335 
+
336  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
337 
+
338  #ifndef NDEBUG
+
339  if(baseAddress == 0xFFFF) {
+
340  return;
+
341  }
+
342  #endif
+
343 
+
344  // Shift by 8 if port is even (upper 8-bits)
+
345  if((selectedPort & 1) ^ 1) {
+
346  selectedPins <<= 8;
+
347  }
+
348 
+
349  HWREG16(baseAddress + OFS_PAIE) &= ~selectedPins;
+
350 }
+
351 
+
352 uint16_t GPIO_getInterruptStatus(uint8_t selectedPort, uint16_t selectedPins) {
+
353 
+
354  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
355 
+
356  #ifndef NDEBUG
+
357  if(baseAddress == 0xFFFF) {
+
358  return;
+
359  }
+
360  #endif
+
361 
+
362  // Shift by 8 if port is even (upper 8-bits)
+
363  if((selectedPort & 1) ^ 1) {
+
364  if((baseAddress & 0x1) ^ 0x1)
+
365  {
+
366  return (HWREG8(baseAddress + OFS_PAIFG_H) & selectedPins);
+
367  }
+
368  else
+
369  {
+
370  return (HWREG8(baseAddress + OFS_PAIFG) & selectedPins);
+
371  }
+
372  }
+
373  else {
+
374  return (HWREG16(baseAddress + OFS_PAIFG) & selectedPins);
+
375  }
+
376 }
+
377 
+
378 void GPIO_clearInterrupt(uint8_t selectedPort, uint16_t selectedPins) {
+
379 
+
380  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
381 
+
382  #ifndef NDEBUG
+
383  if(baseAddress == 0xFFFF) {
+
384  return;
+
385  }
+
386  #endif
+
387 
+
388  // Shift by 8 if port is even (upper 8-bits)
+
389  if((selectedPort & 1) ^ 1) {
+
390  selectedPins <<= 8;
+
391  }
+
392 
+
393  HWREG16(baseAddress + OFS_PAIFG) &= ~selectedPins;
+
394 }
+
395 
+
396 void GPIO_selectInterruptEdge(uint8_t selectedPort, uint16_t selectedPins,
+
397  uint8_t edgeSelect) {
+
398 
+
399  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
400 
+
401  #ifndef NDEBUG
+
402  if(baseAddress == 0xFFFF) {
+
403  return;
+
404  }
+
405  #endif
+
406 
+
407  // Shift by 8 if port is even (upper 8-bits)
+
408  if((selectedPort & 1) ^ 1) {
+
409  selectedPins <<= 8;
+
410  }
+
411 
+
412  if (GPIO_LOW_TO_HIGH_TRANSITION == edgeSelect){
+
413  HWREG16(baseAddress + OFS_PAIES) &= ~selectedPins;
+
414  }
+
415  else {
+
416  HWREG16(baseAddress + OFS_PAIES) |= selectedPins;
+
417  }
+
418 }
+
419 
+
420 void GPIO_setDriveStrength(uint8_t selectedPort, uint16_t selectedPins,
+
421  uint8_t driveStrength) {
+
422 
+
423  uint16_t baseAddress = GPIO_PORT_TO_BASE[selectedPort];
+
424 
+
425  #ifndef NDEBUG
+
426  if(baseAddress == 0xFFFF) {
+
427  return;
+
428  }
+
429  #endif
+
430 
+
431  // Shift by 8 if port is even (upper 8-bits)
+
432  if((selectedPort & 1) ^ 1) {
+
433  selectedPins <<= 8;
+
434  }
+
435 
+
436  if(GPIO_REDUCED_OUTPUT_DRIVE_STRENGTH == driveStrength) {
+
437  HWREG16(baseAddress + OFS_PADS) &= ~selectedPins;
+
438  } else {
+
439  HWREG16(baseAddress + OFS_PADS) |= selectedPins;
+
440  }
+
441 }
+
442 
+
443 #endif
+
444 //*****************************************************************************
+
445 //
+
448 //
+
449 //*****************************************************************************
+ + +
#define HWREG8(x)
Definition: hw_memmap.h:41
+
#define HWREG16(x)
Definition: hw_memmap.h:39
+
+
+ + + + diff --git a/Documentation/html/gpio_8h.html b/Documentation/html/gpio_8h.html new file mode 100644 index 0000000..913a8a0 --- /dev/null +++ b/Documentation/html/gpio_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/gpio.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
gpio.h File Reference
+
+ +
+ + + + diff --git a/Documentation/html/gpio_8h_source.html b/Documentation/html/gpio_8h_source.html new file mode 100644 index 0000000..83978d9 --- /dev/null +++ b/Documentation/html/gpio_8h_source.html @@ -0,0 +1,355 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/gpio.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
gpio.h
+
+
+Go to the documentation of this file.
1 //*****************************************************************************
+
2 //
+
3 // gpio.h - Driver for the GPIO Module.
+
4 //
+
5 //*****************************************************************************
+
6 
+
7 #ifndef __MSP430WARE_GPIO_H__
+
8 #define __MSP430WARE_GPIO_H__
+
9 
+
10 #include "inc/hw_memmap.h"
+
11 
+
12 #ifdef __MSP430_HAS_PORT1_R__
+
13 
+
14 //*****************************************************************************
+
15 //
+
16 // If building with a C++ compiler, make all of the definitions in this header
+
17 // have a C binding.
+
18 //
+
19 //*****************************************************************************
+
20 #ifdef __cplusplus
+
21 extern "C"
+
22 {
+
23 #endif
+
24 
+
25 //*****************************************************************************
+
26 //
+
27 // The following are values that can be passed to the selectedPort parameter
+
28 // for functions: GPIO_setAsOutputPin(), GPIO_setAsInputPin(),
+
29 // GPIO_setAsPeripheralModuleFunctionOutputPin(),
+
30 // GPIO_setAsPeripheralModuleFunctionInputPin(), GPIO_setOutputHighOnPin(),
+
31 // GPIO_setOutputLowOnPin(), GPIO_toggleOutputOnPin(),
+
32 // GPIO_setAsInputPinWithPullDownResistor(),
+
33 // GPIO_setAsInputPinWithPullUpResistor(), GPIO_getInputPinValue(),
+
34 // GPIO_selectInterruptEdge(), GPIO_setDriveStrength(), GPIO_enableInterrupt(),
+
35 // GPIO_disableInterrupt(), GPIO_getInterruptStatus(), and
+
36 // GPIO_clearInterrupt().
+
37 //
+
38 //*****************************************************************************
+
39 #define GPIO_PORT_P1 1
+
40 #define GPIO_PORT_P2 2
+
41 #define GPIO_PORT_P3 3
+
42 #define GPIO_PORT_P4 4
+
43 #define GPIO_PORT_P5 5
+
44 #define GPIO_PORT_P6 6
+
45 #define GPIO_PORT_P7 7
+
46 #define GPIO_PORT_P8 8
+
47 #define GPIO_PORT_P9 9
+
48 #define GPIO_PORT_P10 10
+
49 #define GPIO_PORT_P11 11
+
50 #define GPIO_PORT_PA 1
+
51 #define GPIO_PORT_PB 3
+
52 #define GPIO_PORT_PC 5
+
53 #define GPIO_PORT_PD 7
+
54 #define GPIO_PORT_PE 9
+
55 #define GPIO_PORT_PF 11
+
56 #define GPIO_PORT_PJ 13
+
57 
+
58 //*****************************************************************************
+
59 //
+
60 // The following are values that can be passed to the selectedPins parameter
+
61 // for functions: GPIO_setAsOutputPin(), GPIO_setAsInputPin(),
+
62 // GPIO_setAsPeripheralModuleFunctionOutputPin(),
+
63 // GPIO_setAsPeripheralModuleFunctionInputPin(), GPIO_setOutputHighOnPin(),
+
64 // GPIO_setOutputLowOnPin(), GPIO_toggleOutputOnPin(),
+
65 // GPIO_setAsInputPinWithPullDownResistor(),
+
66 // GPIO_setAsInputPinWithPullUpResistor(), GPIO_getInputPinValue(),
+
67 // GPIO_enableInterrupt(), GPIO_disableInterrupt(), GPIO_getInterruptStatus(),
+
68 // GPIO_clearInterrupt(), GPIO_selectInterruptEdge(), and
+
69 // GPIO_setDriveStrength() as well as returned by the GPIO_getInterruptStatus()
+
70 // function.
+
71 //
+
72 //*****************************************************************************
+
73 #define GPIO_PIN0 (0x0001)
+
74 #define GPIO_PIN1 (0x0002)
+
75 #define GPIO_PIN2 (0x0004)
+
76 #define GPIO_PIN3 (0x0008)
+
77 #define GPIO_PIN4 (0x0010)
+
78 #define GPIO_PIN5 (0x0020)
+
79 #define GPIO_PIN6 (0x0040)
+
80 #define GPIO_PIN7 (0x0080)
+
81 #define GPIO_PIN8 (0x0100)
+
82 #define GPIO_PIN9 (0x0200)
+
83 #define GPIO_PIN10 (0x0400)
+
84 #define GPIO_PIN11 (0x0800)
+
85 #define GPIO_PIN12 (0x1000)
+
86 #define GPIO_PIN13 (0x2000)
+
87 #define GPIO_PIN14 (0x4000)
+
88 #define GPIO_PIN15 (0x8000)
+
89 #define GPIO_PIN_ALL8 (0xFF)
+
90 #define GPIO_PIN_ALL16 (0xFFFF)
+
91 
+
92 //*****************************************************************************
+
93 //
+
94 // The following are values that can be passed to the edgeSelect parameter for
+
95 // functions: GPIO_selectInterruptEdge().
+
96 //
+
97 //*****************************************************************************
+
98 #define GPIO_HIGH_TO_LOW_TRANSITION (0x01)
+
99 #define GPIO_LOW_TO_HIGH_TRANSITION (0x00)
+
100 
+
101 //*****************************************************************************
+
102 //
+
103 // The following are values that can be passed toThe following are values that
+
104 // can be returned by the GPIO_getInputPinValue() function.
+
105 //
+
106 //*****************************************************************************
+
107 #define GPIO_INPUT_PIN_HIGH (0x01)
+
108 #define GPIO_INPUT_PIN_LOW (0x00)
+
109 
+
110 //*****************************************************************************
+
111 //
+
112 // The following are values that can be passed to the driveStrength parameter
+
113 // for functions: GPIO_setDriveStrength().
+
114 //
+
115 //*****************************************************************************
+
116 #define GPIO_REDUCED_OUTPUT_DRIVE_STRENGTH 0x00
+
117 #define GPIO_FULL_OUTPUT_DRIVE_STRENGTH 0x01
+
118 
+
119 //*****************************************************************************
+
120 //
+
121 // Prototypes for the APIs.
+
122 //
+
123 //*****************************************************************************
+
124 
+
125 //*****************************************************************************
+
126 //
+
175 //
+
176 //*****************************************************************************
+
177 extern void GPIO_setAsOutputPin(uint8_t selectedPort,
+
178  uint16_t selectedPins);
+
179 
+
180 //*****************************************************************************
+
181 //
+
231 //
+
232 //*****************************************************************************
+
233 extern void GPIO_setAsInputPin(uint8_t selectedPort,
+
234  uint16_t selectedPins);
+
235 
+
236 //*****************************************************************************
+
237 //
+
290 //
+
291 //*****************************************************************************
+
292 extern void GPIO_setAsPeripheralModuleFunctionOutputPin(uint8_t selectedPort,
+
293  uint16_t selectedPins);
+
294 
+
295 //*****************************************************************************
+
296 //
+
349 //
+
350 //*****************************************************************************
+
351 extern void GPIO_setAsPeripheralModuleFunctionInputPin(uint8_t selectedPort,
+
352  uint16_t selectedPins);
+
353 
+
354 //*****************************************************************************
+
355 //
+
404 //
+
405 //*****************************************************************************
+
406 extern void GPIO_setOutputHighOnPin(uint8_t selectedPort,
+
407  uint16_t selectedPins);
+
408 
+
409 //*****************************************************************************
+
410 //
+
459 //
+
460 //*****************************************************************************
+
461 extern void GPIO_setOutputLowOnPin(uint8_t selectedPort,
+
462  uint16_t selectedPins);
+
463 
+
464 //*****************************************************************************
+
465 //
+
514 //
+
515 //*****************************************************************************
+
516 extern void GPIO_toggleOutputOnPin(uint8_t selectedPort,
+
517  uint16_t selectedPins);
+
518 
+
519 //*****************************************************************************
+
520 //
+
571 //
+
572 //*****************************************************************************
+
573 extern void GPIO_setAsInputPinWithPullDownResistor(uint8_t selectedPort,
+
574  uint16_t selectedPins);
+
575 
+
576 //*****************************************************************************
+
577 //
+
628 //
+
629 //*****************************************************************************
+
630 extern void GPIO_setAsInputPinWithPullUpResistor(uint8_t selectedPort,
+
631  uint16_t selectedPins);
+
632 
+
633 //*****************************************************************************
+
634 //
+
684 //
+
685 //*****************************************************************************
+
686 extern uint8_t GPIO_getInputPinValue(uint8_t selectedPort,
+
687  uint16_t selectedPins);
+
688 
+
689 //*****************************************************************************
+
690 //
+
740 //
+
741 //*****************************************************************************
+
742 extern void GPIO_enableInterrupt(uint8_t selectedPort,
+
743  uint16_t selectedPins);
+
744 
+
745 //*****************************************************************************
+
746 //
+
796 //
+
797 //*****************************************************************************
+
798 extern void GPIO_disableInterrupt(uint8_t selectedPort,
+
799  uint16_t selectedPins);
+
800 
+
801 //*****************************************************************************
+
802 //
+
870 //
+
871 //*****************************************************************************
+
872 extern uint16_t GPIO_getInterruptStatus(uint8_t selectedPort,
+
873  uint16_t selectedPins);
+
874 
+
875 //*****************************************************************************
+
876 //
+
926 //
+
927 //*****************************************************************************
+
928 extern void GPIO_clearInterrupt(uint8_t selectedPort,
+
929  uint16_t selectedPins);
+
930 
+
931 //*****************************************************************************
+
932 //
+
989 //
+
990 //*****************************************************************************
+
991 extern void GPIO_selectInterruptEdge(uint8_t selectedPort,
+
992  uint16_t selectedPins,
+
993  uint8_t edgeSelect);
+
994 
+
995 //*****************************************************************************
+
996 //
+
1051 //
+
1052 //*****************************************************************************
+
1053 extern void GPIO_setDriveStrength(uint8_t selectedPort,
+
1054  uint16_t selectedPins,
+
1055  uint8_t driveStrength);
+
1056 
+
1057 //*****************************************************************************
+
1058 //
+
1059 // Mark the end of the C bindings section for C++ compilers.
+
1060 //
+
1061 //*****************************************************************************
+
1062 #ifdef __cplusplus
+
1063 }
+
1064 #endif
+
1065 
+
1066 #endif
+
1067 #endif // __MSP430WARE_GPIO_H__
+ +
+
+ + + + diff --git a/Documentation/html/group__adc10__a__api.html b/Documentation/html/group__adc10__a__api.html new file mode 100644 index 0000000..af3acb7 --- /dev/null +++ b/Documentation/html/group__adc10__a__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: adc10_a + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
adc10_a
+
+
+
+
+ + + + diff --git a/Documentation/html/group__adc12__a__api.html b/Documentation/html/group__adc12__a__api.html new file mode 100644 index 0000000..824ac0b --- /dev/null +++ b/Documentation/html/group__adc12__a__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: adc12_a + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
adc12_a
+
+
+
+
+ + + + diff --git a/Documentation/html/group__aes__api.html b/Documentation/html/group__aes__api.html new file mode 100644 index 0000000..72a9351 --- /dev/null +++ b/Documentation/html/group__aes__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: aes + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
aes
+
+
+
+
+ + + + diff --git a/Documentation/html/group__battbak__api.html b/Documentation/html/group__battbak__api.html new file mode 100644 index 0000000..6c66c0e --- /dev/null +++ b/Documentation/html/group__battbak__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: battbak + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
battbak
+
+
+
+
+ + + + diff --git a/Documentation/html/group__comp__b__api.html b/Documentation/html/group__comp__b__api.html new file mode 100644 index 0000000..b653491 --- /dev/null +++ b/Documentation/html/group__comp__b__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: comp_b + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
comp_b
+
+
+
+
+ + + + diff --git a/Documentation/html/group__crc__api.html b/Documentation/html/group__crc__api.html new file mode 100644 index 0000000..275f140 --- /dev/null +++ b/Documentation/html/group__crc__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: crc + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
crc
+
+
+
+
+ + + + diff --git a/Documentation/html/group__ctsd16__api.html b/Documentation/html/group__ctsd16__api.html new file mode 100644 index 0000000..249827a --- /dev/null +++ b/Documentation/html/group__ctsd16__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: ctsd16 + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ctsd16
+
+
+
+
+ + + + diff --git a/Documentation/html/group__dac12__a__api.html b/Documentation/html/group__dac12__a__api.html new file mode 100644 index 0000000..441177d --- /dev/null +++ b/Documentation/html/group__dac12__a__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: dac12_a + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dac12_a
+
+
+
+
+ + + + diff --git a/Documentation/html/group__dma__api.html b/Documentation/html/group__dma__api.html new file mode 100644 index 0000000..82fada3 --- /dev/null +++ b/Documentation/html/group__dma__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: dma + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
dma
+
+
+
+
+ + + + diff --git a/Documentation/html/group__eusci__a__spi__api.html b/Documentation/html/group__eusci__a__spi__api.html new file mode 100644 index 0000000..ae05f62 --- /dev/null +++ b/Documentation/html/group__eusci__a__spi__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: eusci_a_spi + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_a_spi
+
+
+
+
+ + + + diff --git a/Documentation/html/group__eusci__a__uart__api.html b/Documentation/html/group__eusci__a__uart__api.html new file mode 100644 index 0000000..799670a --- /dev/null +++ b/Documentation/html/group__eusci__a__uart__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: eusci_a_uart + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_a_uart
+
+
+
+
+ + + + diff --git a/Documentation/html/group__eusci__b__i2c__api.html b/Documentation/html/group__eusci__b__i2c__api.html new file mode 100644 index 0000000..ed0a2dc --- /dev/null +++ b/Documentation/html/group__eusci__b__i2c__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: eusci_b_i2c + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_b_i2c
+
+
+
+
+ + + + diff --git a/Documentation/html/group__eusci__b__spi__api.html b/Documentation/html/group__eusci__b__spi__api.html new file mode 100644 index 0000000..c672645 --- /dev/null +++ b/Documentation/html/group__eusci__b__spi__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: eusci_b_spi + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
eusci_b_spi
+
+
+
+
+ + + + diff --git a/Documentation/html/group__flashctl__api.html b/Documentation/html/group__flashctl__api.html new file mode 100644 index 0000000..fb72769 --- /dev/null +++ b/Documentation/html/group__flashctl__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: flashctl + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
flashctl
+
+
+
+
+ + + + diff --git a/Documentation/html/group__gpio__api.html b/Documentation/html/group__gpio__api.html new file mode 100644 index 0000000..8c591f7 --- /dev/null +++ b/Documentation/html/group__gpio__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: gpio + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
gpio
+
+
+
+
+ + + + diff --git a/Documentation/html/group__lcd__b__api.html b/Documentation/html/group__lcd__b__api.html new file mode 100644 index 0000000..838abf7 --- /dev/null +++ b/Documentation/html/group__lcd__b__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: lcd_b + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
lcd_b
+
+
+
+
+ + + + diff --git a/Documentation/html/group__lcd__c__api.html b/Documentation/html/group__lcd__c__api.html new file mode 100644 index 0000000..7365998 --- /dev/null +++ b/Documentation/html/group__lcd__c__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: lcd_c + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
lcd_c
+
+
+
+
+ + + + diff --git a/Documentation/html/group__ldopwr__api.html b/Documentation/html/group__ldopwr__api.html new file mode 100644 index 0000000..f93c627 --- /dev/null +++ b/Documentation/html/group__ldopwr__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: ldopwr + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ldopwr
+
+
+
+
+ + + + diff --git a/Documentation/html/group__mpy32__api.html b/Documentation/html/group__mpy32__api.html new file mode 100644 index 0000000..b16da3b --- /dev/null +++ b/Documentation/html/group__mpy32__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: mpy32 + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
mpy32
+
+
+
+
+ + + + diff --git a/Documentation/html/group__oa__api.html b/Documentation/html/group__oa__api.html new file mode 100644 index 0000000..976833b --- /dev/null +++ b/Documentation/html/group__oa__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: oa + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
oa
+
+
+
+
+ + + + diff --git a/Documentation/html/group__pmap__api.html b/Documentation/html/group__pmap__api.html new file mode 100644 index 0000000..7d4072a --- /dev/null +++ b/Documentation/html/group__pmap__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: pmap + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pmap
+
+
+
+
+ + + + diff --git a/Documentation/html/group__pmm__api.html b/Documentation/html/group__pmm__api.html new file mode 100644 index 0000000..06ae3e1 --- /dev/null +++ b/Documentation/html/group__pmm__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: pmm + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
pmm
+
+
+
+
+ + + + diff --git a/Documentation/html/group__ram__api.html b/Documentation/html/group__ram__api.html new file mode 100644 index 0000000..e975c47 --- /dev/null +++ b/Documentation/html/group__ram__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: ram + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ram
+
+
+
+
+ + + + diff --git a/Documentation/html/group__ref__api.html b/Documentation/html/group__ref__api.html new file mode 100644 index 0000000..67ffaf8 --- /dev/null +++ b/Documentation/html/group__ref__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: ref + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ref
+
+
+
+
+ + + + diff --git a/Documentation/html/group__rtc__a__api.html b/Documentation/html/group__rtc__a__api.html new file mode 100644 index 0000000..143e44d --- /dev/null +++ b/Documentation/html/group__rtc__a__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: rtc_a + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rtc_a
+
+
+
+
+ + + + diff --git a/Documentation/html/group__rtc__b__api.html b/Documentation/html/group__rtc__b__api.html new file mode 100644 index 0000000..0b0c83d --- /dev/null +++ b/Documentation/html/group__rtc__b__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: rtc_b + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rtc_b
+
+
+
+
+ + + + diff --git a/Documentation/html/group__rtc__c__api.html b/Documentation/html/group__rtc__c__api.html new file mode 100644 index 0000000..4aa8e0a --- /dev/null +++ b/Documentation/html/group__rtc__c__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: rtc_c + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
rtc_c
+
+
+
+
+ + + + diff --git a/Documentation/html/group__sd24__b__api.html b/Documentation/html/group__sd24__b__api.html new file mode 100644 index 0000000..eec03e0 --- /dev/null +++ b/Documentation/html/group__sd24__b__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: sd24_b + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
sd24_b
+
+
+
+
+ + + + diff --git a/Documentation/html/group__sfr__api.html b/Documentation/html/group__sfr__api.html new file mode 100644 index 0000000..84c2270 --- /dev/null +++ b/Documentation/html/group__sfr__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: sfr + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
sfr
+
+
+
+
+ + + + diff --git a/Documentation/html/group__sysctl__api.html b/Documentation/html/group__sysctl__api.html new file mode 100644 index 0000000..bcece1f --- /dev/null +++ b/Documentation/html/group__sysctl__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: sysctl + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
sysctl
+
+
+
+
+ + + + diff --git a/Documentation/html/group__tec__api.html b/Documentation/html/group__tec__api.html new file mode 100644 index 0000000..fd58fd1 --- /dev/null +++ b/Documentation/html/group__tec__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: tec + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
tec
+
+
+
+
+ + + + diff --git a/Documentation/html/group__timer__a__api.html b/Documentation/html/group__timer__a__api.html new file mode 100644 index 0000000..5c9a3a1 --- /dev/null +++ b/Documentation/html/group__timer__a__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: timer_a + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
timer_a
+
+
+
+
+ + + + diff --git a/Documentation/html/group__timer__b__api.html b/Documentation/html/group__timer__b__api.html new file mode 100644 index 0000000..4cb5506 --- /dev/null +++ b/Documentation/html/group__timer__b__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: timer_b + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
timer_b
+
+
+
+
+ + + + diff --git a/Documentation/html/group__timer__d__api.html b/Documentation/html/group__timer__d__api.html new file mode 100644 index 0000000..d0bfd8a --- /dev/null +++ b/Documentation/html/group__timer__d__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: timer_d + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
timer_d
+
+
+
+
+ + + + diff --git a/Documentation/html/group__tlv__api.html b/Documentation/html/group__tlv__api.html new file mode 100644 index 0000000..3138b92 --- /dev/null +++ b/Documentation/html/group__tlv__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: tlv + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
tlv
+
+
+
+
+ + + + diff --git a/Documentation/html/group__ucs__api.html b/Documentation/html/group__ucs__api.html new file mode 100644 index 0000000..7161819 --- /dev/null +++ b/Documentation/html/group__ucs__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: ucs + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
ucs
+
+
+
+
+ + + + diff --git a/Documentation/html/group__usci__a__spi__api.html b/Documentation/html/group__usci__a__spi__api.html new file mode 100644 index 0000000..8b52aa5 --- /dev/null +++ b/Documentation/html/group__usci__a__spi__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: usci_a_spi + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
usci_a_spi
+
+
+
+
+ + + + diff --git a/Documentation/html/group__usci__a__uart__api.html b/Documentation/html/group__usci__a__uart__api.html new file mode 100644 index 0000000..016b078 --- /dev/null +++ b/Documentation/html/group__usci__a__uart__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: usci_a_uart + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
usci_a_uart
+
+
+
+
+ + + + diff --git a/Documentation/html/group__usci__b__i2c__api.html b/Documentation/html/group__usci__b__i2c__api.html new file mode 100644 index 0000000..4ba8919 --- /dev/null +++ b/Documentation/html/group__usci__b__i2c__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: usci_b_i2c + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
usci_b_i2c
+
+
+
+
+ + + + diff --git a/Documentation/html/group__usci__b__spi__api.html b/Documentation/html/group__usci__b__spi__api.html new file mode 100644 index 0000000..3dc8fb9 --- /dev/null +++ b/Documentation/html/group__usci__b__spi__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: usci_b_spi + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
usci_b_spi
+
+
+
+
+ + + + diff --git a/Documentation/html/group__wdt__a__api.html b/Documentation/html/group__wdt__a__api.html new file mode 100644 index 0000000..84578ba --- /dev/null +++ b/Documentation/html/group__wdt__a__api.html @@ -0,0 +1,104 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: wdt_a + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
wdt_a
+
+
+
+
+ + + + diff --git a/Documentation/html/hardware.html b/Documentation/html/hardware.html index 57f4396..712c85d 100644 --- a/Documentation/html/hardware.html +++ b/Documentation/html/hardware.html @@ -118,7 +118,7 @@ Design Reminders diff --git a/Documentation/html/hardware.js b/Documentation/html/hardware.js index 409ea2b..87b094b 100644 --- a/Documentation/html/hardware.js +++ b/Documentation/html/hardware.js @@ -3,7 +3,7 @@ var hardware = [ "Design Reminders", "hardware.html#autotoc_md1", null ], [ "Design Choices", "design_choices.html", [ [ "JTAG Interface", "design_choices.html#autotoc_md2", null ], - [ "Microcontroller Peripheral Connections", "design_choices.html#autotoc_md3", null ] + [ "Microcontroller Connections", "design_choices.html#autotoc_md3", null ] ] ], [ "Device Specifications", "device_specifications.html", null ] ]; \ No newline at end of file diff --git a/Documentation/html/hw__memmap_8h.html b/Documentation/html/hw__memmap_8h.html new file mode 100644 index 0000000..bedf859 --- /dev/null +++ b/Documentation/html/hw__memmap_8h.html @@ -0,0 +1,256 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/inc/hw_memmap.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
hw_memmap.h File Reference
+
+
+
#include <msp430.h>
+#include "msp430f5xx_6xxgeneric.h"
+#include "stdint.h"
+#include "stdbool.h"
+
+

Go to the source code of this file.

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

+Macros

#define __DRIVERLIB_MSP430F5XX_6XX_FAMILY__
 
#define STATUS_SUCCESS   0x01
 
#define STATUS_FAIL   0x00
 
#define NDEBUG
 
#define HWREG32(x)    (*((volatile uint32_t *)((uint16_t)x)))
 
#define HWREG16(x)    (*((volatile uint16_t *)((uint16_t)x)))
 
#define HWREG8(x)    (*((volatile uint8_t *)((uint16_t)x)))
 
+

Macro Definition Documentation

+ +

◆ __DRIVERLIB_MSP430F5XX_6XX_FAMILY__

+ +
+
+ + + + +
#define __DRIVERLIB_MSP430F5XX_6XX_FAMILY__
+
+ +

Definition at line 4 of file hw_memmap.h.

+ +
+
+ +

◆ HWREG16

+ +
+
+ + + + + + + + +
#define HWREG16( x)    (*((volatile uint16_t *)((uint16_t)x)))
+
+ +

Definition at line 39 of file hw_memmap.h.

+ +
+
+ +

◆ HWREG32

+ +
+
+ + + + + + + + +
#define HWREG32( x)    (*((volatile uint32_t *)((uint16_t)x)))
+
+ +

Definition at line 37 of file hw_memmap.h.

+ +
+
+ +

◆ HWREG8

+ +
+
+ + + + + + + + +
#define HWREG8( x)    (*((volatile uint8_t *)((uint16_t)x)))
+
+ +

Definition at line 41 of file hw_memmap.h.

+ +
+
+ +

◆ NDEBUG

+ +
+
+ + + + +
#define NDEBUG
+
+ +

Definition at line 30 of file hw_memmap.h.

+ +
+
+ +

◆ STATUS_FAIL

+ +
+
+ + + + +
#define STATUS_FAIL   0x00
+
+ +

Definition at line 23 of file hw_memmap.h.

+ +
+
+ +

◆ STATUS_SUCCESS

+ +
+
+ + + + +
#define STATUS_SUCCESS   0x01
+
+ +

Definition at line 22 of file hw_memmap.h.

+ +
+
+
+
+ + + + diff --git a/Documentation/html/hw__memmap_8h.js b/Documentation/html/hw__memmap_8h.js new file mode 100644 index 0000000..fdcc043 --- /dev/null +++ b/Documentation/html/hw__memmap_8h.js @@ -0,0 +1,10 @@ +var hw__memmap_8h = +[ + [ "__DRIVERLIB_MSP430F5XX_6XX_FAMILY__", "hw__memmap_8h.html#a97af2b5e31182f676ac18b271c0edebf", null ], + [ "HWREG16", "hw__memmap_8h.html#a7bb830016238e9f911612eddc5e58143", null ], + [ "HWREG32", "hw__memmap_8h.html#a005bc3d0bebdd1031a77f1fba8947998", null ], + [ "HWREG8", "hw__memmap_8h.html#a437bba8c6aaa7542f8d7522146157b42", null ], + [ "NDEBUG", "hw__memmap_8h.html#a8de3ed741dadc9c979a4ff17c0a9116e", null ], + [ "STATUS_FAIL", "hw__memmap_8h.html#a9024ed05f7df784637ef7b44ca8caf97", null ], + [ "STATUS_SUCCESS", "hw__memmap_8h.html#ae56fdb340b23940f7a64ed2e37c1774a", null ] +]; \ No newline at end of file diff --git a/Documentation/html/hw__memmap_8h_source.html b/Documentation/html/hw__memmap_8h_source.html new file mode 100644 index 0000000..286e597 --- /dev/null +++ b/Documentation/html/hw__memmap_8h_source.html @@ -0,0 +1,150 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/inc/hw_memmap.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
2020-2021 Sunseeker Telemetry and Lighting System +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
hw_memmap.h
+
+
+Go to the documentation of this file.
1 #ifndef __HW_MEMMAP__
+
2 #define __HW_MEMMAP__
+
3 
+
4 #define __DRIVERLIB_MSP430F5XX_6XX_FAMILY__
+
5 //*****************************************************************************
+
6 //
+
7 // Include device specific header file
+
8 //
+
9 //*****************************************************************************
+
10 #include <msp430.h>
+
11 
+
12 #include "msp430f5xx_6xxgeneric.h"
+
13 
+
14 #include "stdint.h"
+
15 #include "stdbool.h"
+
16 
+
17 //*****************************************************************************
+
18 //
+
19 // SUCCESS and FAILURE for API return value
+
20 //
+
21 //*****************************************************************************
+
22 #define STATUS_SUCCESS 0x01
+
23 #define STATUS_FAIL 0x00
+
24 
+
25 //*****************************************************************************
+
26 //
+
27 // Macro for enabling assert statements for debugging
+
28 //
+
29 //*****************************************************************************
+
30 #define NDEBUG
+
31 
+
32 //*****************************************************************************
+
33 //
+
34 // Macros for hardware access
+
35 //
+
36 //*****************************************************************************
+
37 #define HWREG32(x) \
+
38  (*((volatile uint32_t *)((uint16_t)x)))
+
39 #define HWREG16(x) \
+
40  (*((volatile uint16_t *)((uint16_t)x)))
+
41 #define HWREG8(x) \
+
42  (*((volatile uint8_t *)((uint16_t)x)))
+
43 
+
44 
+
45 #endif // #ifndef __HW_MEMMAP__
+
+
+ + + + diff --git a/Documentation/html/index.html b/Documentation/html/index.html index 27af132..6469684 100644 --- a/Documentation/html/index.html +++ b/Documentation/html/index.html @@ -92,14 +92,14 @@ $(document).ready(function(){initNavTree('index.html',''); initResizable(); });
Home
-

+

About

What this project is about (TODO)

-

+

Documentation

For Documentation, we will use "doxygen" to easily create documentation pages for the project. This will be accessible in a variety of means, but primarily through HTML pages accessible through a browser, covering all aspects of the project.

More information here: Documentation Guide

-

+

Tips from Dr. Bazuin

  • Make sub-circuits/sub-designs for schematics to keep things organized and modular/copy-able
  • @@ -119,14 +119,14 @@ Tips from Dr. Bazuin

  • Make peripherals like output on one side and inputs on the other
  • Use SPI Chip Select as a separate command (Use 3-pin SPI and then just use GPIO for Chip Select)
  • -

    +

    Tips from Dr. Gomez

    • Our requirements/specifications should be made to be more measurable
    • Need to design to safety standards, which need to be researched online
    • He said that he is available himself for anything power-related to help out with if needed
    -

    +

    TODO List

    • [ ] Make battery circuitry for Real-Time Clock/Calendar for when the vehicle is off.
    • @@ -140,7 +140,7 @@ TODO List diff --git a/Documentation/html/lcd__b_8c.html b/Documentation/html/lcd__b_8c.html new file mode 100644 index 0000000..a3b4d54 --- /dev/null +++ b/Documentation/html/lcd__b_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/lcd_b.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      lcd_b.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/lcd__b_8c_source.html b/Documentation/html/lcd__b_8c_source.html new file mode 100644 index 0000000..22e7554 --- /dev/null +++ b/Documentation/html/lcd__b_8c_source.html @@ -0,0 +1,403 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/lcd_b.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      lcd_b.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // lcd_b.c - Driver for the lcd_b Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_LCD_B__
      +
      17 #include "lcd_b.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 //*****************************************************************************
      +
      22 //
      +
      23 // Initialization parameter instance
      +
      24 //
      +
      25 //*****************************************************************************
      +
      26 const LCD_B_initParam LCD_B_INIT_PARAM = {
      +
      27  LCD_B_CLOCKSOURCE_ACLK,
      +
      28  LCD_B_CLOCKDIVIDER_1,
      +
      29  LCD_B_CLOCKPRESCALAR_1,
      +
      30  LCD_B_STATIC,
      +
      31  LCD_B_SEGMENTS_DISABLED
      +
      32 };
      +
      33 
      +
      34 static void setLCDFunction(uint16_t baseAddress, uint8_t index, uint16_t value)
      +
      35 {
      +
      36  switch (index){
      +
      37  case 0:
      +
      38  HWREG16(baseAddress + OFS_LCDBPCTL0) |= value;
      +
      39  break;
      +
      40  case 1:
      +
      41  HWREG16(baseAddress + OFS_LCDBPCTL1) |= value;
      +
      42  break;
      +
      43  case 2:
      +
      44  HWREG16(baseAddress + OFS_LCDBPCTL2) |= value;
      +
      45  break;
      +
      46  case 3:
      +
      47  HWREG16(baseAddress + OFS_LCDBPCTL3) |= value;
      +
      48  break;
      +
      49  default:break;
      +
      50  }
      +
      51 }
      +
      52 
      +
      53 void LCD_B_init(uint16_t baseAddress, LCD_B_initParam *initParams)
      +
      54 {
      +
      55  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      56  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~(LCDMX0 | LCDMX1 | LCDSSEL | LCDSON
      +
      57  | LCDDIV_31);
      +
      58 
      +
      59  HWREG16(baseAddress + OFS_LCDBCTL0) |= initParams->muxRate;
      +
      60  HWREG16(baseAddress + OFS_LCDBCTL0) |= initParams->clockSource;
      +
      61  HWREG16(baseAddress + OFS_LCDBCTL0) |= initParams->segments;
      +
      62  HWREG16(baseAddress + OFS_LCDBCTL0) |= initParams->clockDivider;
      +
      63  HWREG16(baseAddress + OFS_LCDBCTL0) |= initParams->clockPrescalar;
      +
      64 }
      +
      65 
      +
      66 void LCD_B_on(uint16_t baseAddress)
      +
      67 {
      +
      68  HWREG16(baseAddress + OFS_LCDBCTL0) |= LCDON;
      +
      69 }
      +
      70 
      +
      71 void LCD_B_off(uint16_t baseAddress)
      +
      72 {
      +
      73  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      74 }
      +
      75 
      +
      76 void LCD_B_clearInterrupt(uint16_t baseAddress, uint16_t mask)
      +
      77 {
      +
      78  HWREG8(baseAddress + OFS_LCDBCTL1_L) &= ~(mask>>8);
      +
      79 }
      +
      80 
      +
      81 uint16_t LCD_B_getInterruptStatus(uint16_t baseAddress, uint16_t mask)
      +
      82 {
      +
      83  return (HWREG8(baseAddress + OFS_LCDBCTL1_L) & (mask>>8));
      +
      84 }
      +
      85 
      +
      86 void LCD_B_enableInterrupt (uint16_t baseAddress, uint16_t mask)
      +
      87 {
      +
      88  HWREG16(baseAddress + OFS_LCDBCTL1) |= mask;
      +
      89 }
      +
      90 
      +
      91 void LCD_B_disableInterrupt (uint16_t baseAddress, uint16_t mask)
      +
      92 {
      +
      93  HWREG16(baseAddress + OFS_LCDBCTL1) &= ~mask;
      +
      94 }
      +
      95 
      +
      96 void LCD_B_clearAllMemory(uint16_t baseAddress)
      +
      97 {
      +
      98  HWREG16(baseAddress + OFS_LCDBMEMCTL) |= LCDCLRM;
      +
      99 }
      +
      100 
      +
      101 void LCD_B_clearAllBlinkingMemory(uint16_t baseAddress)
      +
      102 {
      +
      103  HWREG16(baseAddress + OFS_LCDBMEMCTL) |= LCDCLRBM;
      +
      104 }
      +
      105 
      +
      106 void LCD_B_selectDisplayMemory(uint16_t baseAddress, uint16_t displayMemory)
      +
      107 {
      +
      108  HWREG16(baseAddress + OFS_LCDBMEMCTL) &= ~LCDDISP;
      +
      109  HWREG16(baseAddress + OFS_LCDBMEMCTL) |= displayMemory;
      +
      110 }
      +
      111 
      +
      112 void LCD_B_setBlinkingControl (uint16_t baseAddress,
      +
      113  uint8_t clockDivider,
      +
      114  uint8_t clockPrescalar,
      +
      115  uint8_t mode)
      +
      116 {
      +
      117  HWREG16(baseAddress + OFS_LCDBBLKCTL) &= ~(LCDBLKDIV0 | LCDBLKDIV1 | LCDBLKDIV2
      +
      118  | LCDBLKPRE0 | LCDBLKPRE1 | LCDBLKPRE2 | LCDBLKMOD0 | LCDBLKMOD1);
      +
      119 
      +
      120  HWREG16(baseAddress + OFS_LCDBBLKCTL) |= clockDivider | clockPrescalar | mode;
      +
      121 }
      +
      122 
      +
      123 void LCD_B_enableChargePump(uint16_t baseAddress)
      +
      124 {
      +
      125  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      126  HWREG16(baseAddress + OFS_LCDBVCTL) |= LCDCPEN;
      +
      127 }
      +
      128 
      +
      129 void LCD_B_disableChargePump(uint16_t baseAddress)
      +
      130 {
      +
      131  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      132  HWREG16(baseAddress + OFS_LCDBVCTL) &= ~LCDCPEN;
      +
      133 }
      +
      134 
      +
      135 void LCD_B_selectBias(uint16_t baseAddress, uint16_t bias)
      +
      136 {
      +
      137  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      138  HWREG16(baseAddress + OFS_LCDBVCTL) &= ~LCD2B;
      +
      139 
      +
      140  HWREG16(baseAddress + OFS_LCDBVCTL) |= bias;
      +
      141 }
      +
      142 
      +
      143 void LCD_B_selectChargePumpReference(uint16_t baseAddress, uint16_t reference)
      +
      144 {
      +
      145  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      146  HWREG16(baseAddress + OFS_LCDBVCTL) &= ~VLCDREF_3;
      +
      147 
      +
      148  HWREG16(baseAddress + OFS_LCDBVCTL) |= reference;
      +
      149 }
      +
      150 
      +
      151 void LCD_B_setVLCDSource(uint16_t baseAddress,
      +
      152  uint16_t vlcdSource,
      +
      153  uint16_t v2v3v4Source,
      +
      154  uint16_t v5Source)
      +
      155 {
      +
      156  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      157  HWREG16(baseAddress + OFS_LCDBVCTL) &= ~VLCDEXT;
      +
      158  HWREG16(baseAddress + OFS_LCDBVCTL) &= ~LCDREXT;
      +
      159  HWREG16(baseAddress + OFS_LCDBVCTL) &= ~LCDEXTBIAS;
      +
      160  HWREG16(baseAddress + OFS_LCDBVCTL) &= ~R03EXT;
      +
      161 
      +
      162  HWREG16(baseAddress + OFS_LCDBVCTL) |= vlcdSource;
      +
      163  HWREG16(baseAddress + OFS_LCDBVCTL) |= v2v3v4Source;
      +
      164  HWREG16(baseAddress + OFS_LCDBVCTL) |= v5Source;
      +
      165 }
      +
      166 
      +
      167 void LCD_B_setVLCDVoltage(uint16_t baseAddress,
      +
      168  uint16_t voltage)
      +
      169 {
      +
      170  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      171  HWREG16(baseAddress + OFS_LCDBVCTL) &= ~VLCD_15;
      +
      172 
      +
      173  HWREG16(baseAddress + OFS_LCDBVCTL) |= voltage;
      +
      174 }
      +
      175 
      +
      176 void LCD_B_setPinAsLCDFunction (uint16_t baseAddress, uint8_t pin)
      +
      177 {
      +
      178  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      179 
      +
      180  uint8_t idx = pin>>4;
      +
      181  uint16_t val = 1<<(pin & 0xF);
      +
      182 
      +
      183  setLCDFunction(baseAddress, idx, val);
      +
      184 
      +
      185 }
      +
      186 
      +
      187 void LCD_B_setPinAsPortFunction (uint16_t baseAddress, uint8_t pin)
      +
      188 {
      +
      189  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      190 
      +
      191  uint8_t idx = pin>>4;
      +
      192  uint16_t val = 1<<(pin & 0xF);
      +
      193 
      +
      194  switch (idx){
      +
      195  case 0:
      +
      196  HWREG16(baseAddress + OFS_LCDBPCTL0) &= ~val;
      +
      197  break;
      +
      198  case 1:
      +
      199  HWREG16(baseAddress + OFS_LCDBPCTL1) &= ~val;
      +
      200  break;
      +
      201  case 2:
      +
      202  HWREG16(baseAddress + OFS_LCDBPCTL2) &= ~val;
      +
      203  break;
      +
      204  case 3:
      +
      205  HWREG16(baseAddress + OFS_LCDBPCTL3) &= ~val;
      +
      206  break;
      +
      207  default:break;
      +
      208  }
      +
      209 
      +
      210 }
      +
      211 
      +
      212 void LCD_B_setPinAsLCDFunctionEx(uint16_t baseAddress,
      +
      213  uint8_t startPin,
      +
      214  uint8_t endPin)
      +
      215 {
      +
      216  uint8_t startIdx = startPin>>4;
      +
      217  uint8_t endIdx = endPin>>4;
      +
      218  uint8_t startPos = startPin & 0xF;
      +
      219  uint8_t endPos = endPin & 0xF;
      +
      220  uint16_t val = 0;
      +
      221  uint8_t i = 0;
      +
      222 
      +
      223  HWREG16(baseAddress + OFS_LCDBCTL0) &= ~LCDON;
      +
      224 
      +
      225  if (startIdx == endIdx) {
      +
      226  val = (0xFFFF>>(15-endPos)) & (0xFFFF<<startPos);
      +
      227 
      +
      228  setLCDFunction(baseAddress, startIdx, val);
      +
      229 
      +
      230  }
      +
      231  else {
      +
      232  val = 0xFFFF>>(15-endPos);
      +
      233  setLCDFunction(baseAddress, endIdx, val);
      +
      234 
      +
      235  for (i=endIdx-1; i>startIdx; i--) {
      +
      236  setLCDFunction(baseAddress, i, 0xFFFF);
      +
      237  }
      +
      238 
      +
      239  val = 0xFFFF<<startPos;
      +
      240  setLCDFunction(baseAddress, startIdx, val);
      +
      241  }
      +
      242 }
      +
      243 
      +
      244 void LCD_B_setMemory(uint16_t baseAddress, uint8_t memory, uint8_t mask)
      +
      245 {
      +
      246  HWREG8(baseAddress + OFS_LCDM1 + memory) = mask;
      +
      247 }
      +
      248 
      +
      249 void LCD_B_updateMemory(uint16_t baseAddress, uint8_t memory, uint8_t mask)
      +
      250 {
      +
      251  HWREG8(baseAddress + OFS_LCDM1 + memory) |= mask;
      +
      252 }
      +
      253 
      +
      254 void LCD_B_toggleMemory(uint16_t baseAddress, uint8_t memory, uint8_t mask)
      +
      255 {
      +
      256  HWREG8(baseAddress + OFS_LCDM1 + memory) ^= mask;
      +
      257 }
      +
      258 
      +
      259 void LCD_B_clearMemory(uint16_t baseAddress, uint8_t memory, uint8_t mask)
      +
      260 {
      +
      261  HWREG8(baseAddress + OFS_LCDM1 + memory) &= ~mask;
      +
      262 }
      +
      263 
      +
      264 void LCD_B_setBlinkingMemory(uint16_t baseAddress, uint8_t memory, uint8_t mask)
      +
      265 {
      +
      266  HWREG8(baseAddress + OFS_LCDBM1 + memory) = mask;
      +
      267 }
      +
      268 
      +
      269 void LCD_B_updateBlinkingMemory(uint16_t baseAddress, uint8_t memory, uint8_t mask)
      +
      270 {
      +
      271  HWREG8(baseAddress + OFS_LCDBM1 + memory) |= mask;
      +
      272 }
      +
      273 
      +
      274 void LCD_B_toggleBlinkingMemory(uint16_t baseAddress, uint8_t memory, uint8_t mask)
      +
      275 {
      +
      276  HWREG8(baseAddress + OFS_LCDBM1 + memory) ^= mask;
      +
      277 }
      +
      278 
      +
      279 void LCD_B_clearBlinkingMemory(uint16_t baseAddress, uint8_t memory, uint8_t mask)
      +
      280 {
      +
      281  HWREG8(baseAddress + OFS_LCDBM1 + memory) &= ~mask;
      +
      282 }
      +
      283 
      +
      284 void LCD_B_configureChargePump(uint16_t baseAddress, uint16_t autoDisabled)
      +
      285 {
      +
      286  HWREG16(baseAddress + OFS_LCDBCPCTL) &= ~(LCDCPDIS7 | LCDCPDIS6 | LCDCPDIS5
      +
      287  | LCDCPDIS4 | LCDCPDIS3 | LCDCPDIS2 | LCDCPDIS1 | LCDCPDIS0);
      +
      288 
      +
      289  HWREG16(baseAddress + OFS_LCDBCPCTL) |= autoDisabled;
      +
      290 }
      +
      291 
      +
      292 #endif
      +
      293 //*****************************************************************************
      +
      294 //
      +
      297 //
      +
      298 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/lcd__b_8h.html b/Documentation/html/lcd__b_8h.html new file mode 100644 index 0000000..182441c --- /dev/null +++ b/Documentation/html/lcd__b_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/lcd_b.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      lcd_b.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/lcd__b_8h_source.html b/Documentation/html/lcd__b_8h_source.html new file mode 100644 index 0000000..bf53fd5 --- /dev/null +++ b/Documentation/html/lcd__b_8h_source.html @@ -0,0 +1,719 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/lcd_b.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      lcd_b.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // lcd_b.h - Driver for the LCD_B Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_LCD_B_H__
      +
      8 #define __MSP430WARE_LCD_B_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_LCD_B__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 typedef struct LCD_B_initParam {
      +
      36  uint16_t clockSource;
      +
      71  uint16_t clockDivider;
      +
      80  uint16_t clockPrescalar;
      +
      87  uint16_t muxRate;
      +
      92  uint16_t segments;
      +
      93 } LCD_B_initParam;
      +
      94 
      +
      95 extern const LCD_B_initParam LCD_B_INIT_PARAM;
      +
      96 //*****************************************************************************
      +
      97 //
      +
      98 // The following are values that can be passed to the initParams parameter for
      +
      99 // functions: LCD_B_init().
      +
      100 //
      +
      101 //*****************************************************************************
      +
      102 #define LCD_B_CLOCKSOURCE_ACLK (0x0)
      +
      103 #define LCD_B_CLOCKSOURCE_VLOCLK (LCDSSEL)
      +
      104 
      +
      105 //*****************************************************************************
      +
      106 //
      +
      107 // The following are values that can be passed to the initParams parameter for
      +
      108 // functions: LCD_B_init().
      +
      109 //
      +
      110 //*****************************************************************************
      +
      111 #define LCD_B_CLOCKDIVIDER_1 (LCDDIV_0)
      +
      112 #define LCD_B_CLOCKDIVIDER_2 (LCDDIV_1)
      +
      113 #define LCD_B_CLOCKDIVIDER_3 (LCDDIV_2)
      +
      114 #define LCD_B_CLOCKDIVIDER_4 (LCDDIV_3)
      +
      115 #define LCD_B_CLOCKDIVIDER_5 (LCDDIV_4)
      +
      116 #define LCD_B_CLOCKDIVIDER_6 (LCDDIV_5)
      +
      117 #define LCD_B_CLOCKDIVIDER_7 (LCDDIV_6)
      +
      118 #define LCD_B_CLOCKDIVIDER_8 (LCDDIV_7)
      +
      119 #define LCD_B_CLOCKDIVIDER_9 (LCDDIV_8)
      +
      120 #define LCD_B_CLOCKDIVIDER_10 (LCDDIV_9)
      +
      121 #define LCD_B_CLOCKDIVIDER_11 (LCDDIV_10)
      +
      122 #define LCD_B_CLOCKDIVIDER_12 (LCDDIV_11)
      +
      123 #define LCD_B_CLOCKDIVIDER_13 (LCDDIV_12)
      +
      124 #define LCD_B_CLOCKDIVIDER_14 (LCDDIV_13)
      +
      125 #define LCD_B_CLOCKDIVIDER_15 (LCDDIV_14)
      +
      126 #define LCD_B_CLOCKDIVIDER_16 (LCDDIV_15)
      +
      127 #define LCD_B_CLOCKDIVIDER_17 (LCDDIV_16)
      +
      128 #define LCD_B_CLOCKDIVIDER_18 (LCDDIV_17)
      +
      129 #define LCD_B_CLOCKDIVIDER_19 (LCDDIV_18)
      +
      130 #define LCD_B_CLOCKDIVIDER_20 (LCDDIV_19)
      +
      131 #define LCD_B_CLOCKDIVIDER_21 (LCDDIV_20)
      +
      132 #define LCD_B_CLOCKDIVIDER_22 (LCDDIV_21)
      +
      133 #define LCD_B_CLOCKDIVIDER_23 (LCDDIV_22)
      +
      134 #define LCD_B_CLOCKDIVIDER_24 (LCDDIV_23)
      +
      135 #define LCD_B_CLOCKDIVIDER_25 (LCDDIV_24)
      +
      136 #define LCD_B_CLOCKDIVIDER_26 (LCDDIV_25)
      +
      137 #define LCD_B_CLOCKDIVIDER_27 (LCDDIV_26)
      +
      138 #define LCD_B_CLOCKDIVIDER_28 (LCDDIV_27)
      +
      139 #define LCD_B_CLOCKDIVIDER_29 (LCDDIV_28)
      +
      140 #define LCD_B_CLOCKDIVIDER_30 (LCDDIV_29)
      +
      141 #define LCD_B_CLOCKDIVIDER_31 (LCDDIV_30)
      +
      142 #define LCD_B_CLOCKDIVIDER_32 (LCDDIV_31)
      +
      143 
      +
      144 //*****************************************************************************
      +
      145 //
      +
      146 // The following are values that can be passed to the initParams parameter for
      +
      147 // functions: LCD_B_init().
      +
      148 //
      +
      149 //*****************************************************************************
      +
      150 #define LCD_B_CLOCKPRESCALAR_1 (LCDPRE_0)
      +
      151 #define LCD_B_CLOCKPRESCALAR_2 (LCDPRE_1)
      +
      152 #define LCD_B_CLOCKPRESCALAR_4 (LCDPRE_2)
      +
      153 #define LCD_B_CLOCKPRESCALAR_8 (LCDPRE_3)
      +
      154 #define LCD_B_CLOCKPRESCALAR_16 (LCDPRE_4)
      +
      155 #define LCD_B_CLOCKPRESCALAR_32 (LCDPRE_5)
      +
      156 
      +
      157 //*****************************************************************************
      +
      158 //
      +
      159 // The following are values that can be passed to the initParams parameter for
      +
      160 // functions: LCD_B_init().
      +
      161 //
      +
      162 //*****************************************************************************
      +
      163 #define LCD_B_STATIC (0x0)
      +
      164 #define LCD_B_2_MUX (LCDMX0)
      +
      165 #define LCD_B_3_MUX (LCDMX1)
      +
      166 #define LCD_B_4_MUX (LCDMX1 | LCDMX0)
      +
      167 
      +
      168 //*****************************************************************************
      +
      169 //
      +
      170 // The following are values that can be passed to the initParams parameter for
      +
      171 // functions: LCD_B_init().
      +
      172 //
      +
      173 //*****************************************************************************
      +
      174 #define LCD_B_SEGMENTS_DISABLED (0x0)
      +
      175 #define LCD_B_SEGMENTS_ENABLED (LCDSON)
      +
      176 
      +
      177 //*****************************************************************************
      +
      178 //
      +
      179 // The following are values that can be passed to the mask parameter for
      +
      180 // functions: LCD_B_clearInterrupt(), LCD_B_getInterruptStatus(),
      +
      181 // LCD_B_enableInterrupt(), and LCD_B_disableInterrupt() as well as returned by
      +
      182 // the LCD_B_getInterruptStatus() function.
      +
      183 //
      +
      184 //*****************************************************************************
      +
      185 #define LCD_B_NO_CAPACITANCE_CONNECTED_INTERRUPT (LCDNOCAPIE)
      +
      186 #define LCD_B_BLINKING_SEGMENTS_ON_INTERRUPT (LCDBLKONIE)
      +
      187 #define LCD_B_BLINKING_SEGMENTS_OFF_INTERRUPT (LCDBLKOFFIE)
      +
      188 #define LCD_B_FRAME_INTERRUPT (LCDFRMIE)
      +
      189 
      +
      190 //*****************************************************************************
      +
      191 //
      +
      192 // The following are values that can be passed to the displayMemory parameter
      +
      193 // for functions: LCD_B_selectDisplayMemory().
      +
      194 //
      +
      195 //*****************************************************************************
      +
      196 #define LCD_B_DISPLAYSOURCE_MEMORY (0x0)
      +
      197 #define LCD_B_DISPLAYSOURCE_BLINKINGMEMORY (LCDDISP)
      +
      198 
      +
      199 //*****************************************************************************
      +
      200 //
      +
      201 // The following are values that can be passed to the clockDivider parameter
      +
      202 // for functions: LCD_B_setBlinkingControl().
      +
      203 //
      +
      204 //*****************************************************************************
      +
      205 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_1 (0x0)
      +
      206 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_2 (LCDBLKDIV0)
      +
      207 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_3 (LCDBLKDIV1)
      +
      208 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_4 (LCDBLKDIV0 | LCDBLKDIV1)
      +
      209 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_5 (LCDBLKDIV2)
      +
      210 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_6 (LCDBLKDIV2 | LCDBLKDIV0)
      +
      211 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_7 (LCDBLKDIV2 | LCDBLKDIV1)
      +
      212 #define LCD_B_BLINK_FREQ_CLOCK_DIVIDER_8 (LCDBLKDIV2 | LCDBLKDIV1 | LCDBLKDIV0)
      +
      213 
      +
      214 //*****************************************************************************
      +
      215 //
      +
      216 // The following are values that can be passed to the clockPrescalar parameter
      +
      217 // for functions: LCD_B_setBlinkingControl().
      +
      218 //
      +
      219 //*****************************************************************************
      +
      220 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_512 (0x0)
      +
      221 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_1024 (LCDBLKPRE0)
      +
      222 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_2048 (LCDBLKPRE1)
      +
      223 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_4096 (LCDBLKPRE1 | LCDBLKPRE0)
      +
      224 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_8162 (LCDBLKPRE2)
      +
      225 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_16384 LCDBLKPRE2 | LCDBLKPRE0)
      +
      226 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_32768 (LCDBLKPRE2 | LCDBLKPRE1)
      +
      227 #define LCD_B_BLINK_FREQ_CLOCK_PRESCALAR_65536 \
      +
      228  (LCDBLKPRE2 | LCDBLKPRE1 | LCDBLKPRE0)
      +
      229 
      +
      230 //*****************************************************************************
      +
      231 //
      +
      232 // The following are values that can be passed to the blinkingMode parameter
      +
      233 // for functions: LCD_B_setBlinkingControl().
      +
      234 //
      +
      235 //*****************************************************************************
      +
      236 #define LCD_B_BLINK_MODE_DISABLED (LCDBLKMOD_0)
      +
      237 #define LCD_B_BLINK_MODE_INDIVIDUAL_SEGMENTS (LCDBLKMOD_1)
      +
      238 #define LCD_B_BLINK_MODE_ALL_SEGMENTS (LCDBLKMOD_2)
      +
      239 #define LCD_B_BLINK_MODE_SWITCHING_BETWEEN_DISPLAY_CONTENTS (LCDBLKMOD_3)
      +
      240 
      +
      241 //*****************************************************************************
      +
      242 //
      +
      243 // The following are values that can be passed to the bias parameter for
      +
      244 // functions: LCD_B_selectBias().
      +
      245 //
      +
      246 //*****************************************************************************
      +
      247 #define LCD_B_BIAS_1_3 (0x0)
      +
      248 #define LCD_B_BIAS_1_2 (LCD2B)
      +
      249 
      +
      250 //*****************************************************************************
      +
      251 //
      +
      252 // The following are values that can be passed to the reference parameter for
      +
      253 // functions: LCD_B_selectChargePumpReference().
      +
      254 //
      +
      255 //*****************************************************************************
      +
      256 #define LCD_B_INTERNAL_REFERENCE_VOLTAGE (VLCDREF_0)
      +
      257 #define LCD_B_EXTERNAL_REFERENCE_VOLTAGE (VLCDREF_1)
      +
      258 #define LCD_B_INTERNAL_REFERENCE_VOLTAGE_SWITCHED_TO_EXTERNAL_PIN (VLCDREF_2)
      +
      259 
      +
      260 //*****************************************************************************
      +
      261 //
      +
      262 // The following are values that can be passed to the vlcdSource parameter for
      +
      263 // functions: LCD_B_setVLCDSource().
      +
      264 //
      +
      265 //*****************************************************************************
      +
      266 #define LCD_B_VLCD_GENERATED_INTERNALLY (0x0)
      +
      267 #define LCD_B_VLCD_SOURCED_EXTERNALLY (VLCDEXT)
      +
      268 
      +
      269 //*****************************************************************************
      +
      270 //
      +
      271 // The following are values that can be passed to the v2v3v4Source parameter
      +
      272 // for functions: LCD_B_setVLCDSource().
      +
      273 //
      +
      274 //*****************************************************************************
      +
      275 #define LCD_B_V2V3V4_GENERATED_INTERNALLY_NOT_SWITCHED_TO_PINS (0x0)
      +
      276 #define LCD_B_V2V3V4_GENERATED_INTERNALLY_SWITCHED_TO_PINS (LCDREXT)
      +
      277 #define LCD_B_V2V3V4_SOURCED_EXTERNALLY (LCDEXTBIAS)
      +
      278 
      +
      279 //*****************************************************************************
      +
      280 //
      +
      281 // The following are values that can be passed to the v5Source parameter for
      +
      282 // functions: LCD_B_setVLCDSource().
      +
      283 //
      +
      284 //*****************************************************************************
      +
      285 #define LCD_B_V5_VSS (0x0)
      +
      286 #define LCD_B_V5_SOURCED_FROM_R03 (R03EXT)
      +
      287 
      +
      288 //*****************************************************************************
      +
      289 //
      +
      290 // The following are values that can be passed to the voltage parameter for
      +
      291 // functions: LCD_B_setVLCDVoltage().
      +
      292 //
      +
      293 //*****************************************************************************
      +
      294 #define LCD_B_CHARGEPUMP_DISABLED (0x0)
      +
      295 #define LCD_B_CHARGEPUMP_VOLTAGE_2_60V_OR_2_17VREF (VLCD0)
      +
      296 #define LCD_B_CHARGEPUMP_VOLTAGE_2_66V_OR_2_22VREF (VLCD1)
      +
      297 #define LCD_B_CHARGEPUMP_VOLTAGE_2_72V_OR_2_27VREF (VLCD1 | VLCD0)
      +
      298 #define LCD_B_CHARGEPUMP_VOLTAGE_2_78V_OR_2_32VREF (VLCD2)
      +
      299 #define LCD_B_CHARGEPUMP_VOLTAGE_2_84V_OR_2_37VREF (VLCD2 | VLCD0)
      +
      300 #define LCD_B_CHARGEPUMP_VOLTAGE_2_90V_OR_2_42VREF (VLCD2 | VLCD1)
      +
      301 #define LCD_B_CHARGEPUMP_VOLTAGE_2_96V_OR_2_47VREF (VLCD2 | VLCD1 | VLCD0)
      +
      302 #define LCD_B_CHARGEPUMP_VOLTAGE_3_02V_OR_2_52VREF (VLCD3)
      +
      303 #define LCD_B_CHARGEPUMP_VOLTAGE_3_08V_OR_2_57VREF (VLCD3 | VLCD0)
      +
      304 #define LCD_B_CHARGEPUMP_VOLTAGE_3_14V_OR_2_62VREF (VLCD3 | VLCD1)
      +
      305 #define LCD_B_CHARGEPUMP_VOLTAGE_3_20V_OR_2_67VREF (VLCD3 | VLCD1 | VLCD0)
      +
      306 #define LCD_B_CHARGEPUMP_VOLTAGE_3_26V_OR_2_72VREF (VLCD3 | VLCD2)
      +
      307 #define LCD_B_CHARGEPUMP_VOLTAGE_3_32V_OR_2_77VREF (VLCD3 | VLCD2 | VLCD0)
      +
      308 #define LCD_B_CHARGEPUMP_VOLTAGE_3_38V_OR_2_82VREF (VLCD3 | VLCD2 | VLCD1)
      +
      309 #define LCD_B_CHARGEPUMP_VOLTAGE_3_44V_OR_2_87VREF \
      +
      310  (VLCD3 | VLCD2 | VLCD1 | VLCD0)
      +
      311 
      +
      312 //*****************************************************************************
      +
      313 //
      +
      314 // The following are values that can be passed to the startPin parameter for
      +
      315 // functions: LCD_B_setPinAsLCDFunctionEx(); the endPin parameter for
      +
      316 // functions: LCD_B_setPinAsLCDFunctionEx(); the pin parameter for functions:
      +
      317 // LCD_B_setPinAsLCDFunction(), and LCD_B_setPinAsPortFunction().
      +
      318 //
      +
      319 //*****************************************************************************
      +
      320 #define LCD_B_SEGMENT_LINE_0 (0)
      +
      321 #define LCD_B_SEGMENT_LINE_1 (1)
      +
      322 #define LCD_B_SEGMENT_LINE_2 (2)
      +
      323 #define LCD_B_SEGMENT_LINE_3 (3)
      +
      324 #define LCD_B_SEGMENT_LINE_4 (4)
      +
      325 #define LCD_B_SEGMENT_LINE_5 (5)
      +
      326 #define LCD_B_SEGMENT_LINE_6 (6)
      +
      327 #define LCD_B_SEGMENT_LINE_7 (7)
      +
      328 #define LCD_B_SEGMENT_LINE_8 (8)
      +
      329 #define LCD_B_SEGMENT_LINE_9 (9)
      +
      330 #define LCD_B_SEGMENT_LINE_10 (10)
      +
      331 #define LCD_B_SEGMENT_LINE_11 (11)
      +
      332 #define LCD_B_SEGMENT_LINE_12 (12)
      +
      333 #define LCD_B_SEGMENT_LINE_13 (13)
      +
      334 #define LCD_B_SEGMENT_LINE_14 (14)
      +
      335 #define LCD_B_SEGMENT_LINE_15 (15)
      +
      336 #define LCD_B_SEGMENT_LINE_16 (16)
      +
      337 #define LCD_B_SEGMENT_LINE_17 (17)
      +
      338 #define LCD_B_SEGMENT_LINE_18 (18)
      +
      339 #define LCD_B_SEGMENT_LINE_19 (19)
      +
      340 #define LCD_B_SEGMENT_LINE_20 (20)
      +
      341 #define LCD_B_SEGMENT_LINE_21 (21)
      +
      342 #define LCD_B_SEGMENT_LINE_22 (22)
      +
      343 #define LCD_B_SEGMENT_LINE_23 (23)
      +
      344 #define LCD_B_SEGMENT_LINE_24 (24)
      +
      345 #define LCD_B_SEGMENT_LINE_25 (25)
      +
      346 #define LCD_B_SEGMENT_LINE_26 (26)
      +
      347 #define LCD_B_SEGMENT_LINE_27 (27)
      +
      348 #define LCD_B_SEGMENT_LINE_28 (28)
      +
      349 #define LCD_B_SEGMENT_LINE_29 (29)
      +
      350 #define LCD_B_SEGMENT_LINE_30 (30)
      +
      351 #define LCD_B_SEGMENT_LINE_31 (31)
      +
      352 #define LCD_B_SEGMENT_LINE_32 (32)
      +
      353 #define LCD_B_SEGMENT_LINE_33 (33)
      +
      354 #define LCD_B_SEGMENT_LINE_34 (34)
      +
      355 #define LCD_B_SEGMENT_LINE_35 (35)
      +
      356 #define LCD_B_SEGMENT_LINE_36 (36)
      +
      357 #define LCD_B_SEGMENT_LINE_37 (37)
      +
      358 #define LCD_B_SEGMENT_LINE_38 (38)
      +
      359 #define LCD_B_SEGMENT_LINE_39 (39)
      +
      360 #define LCD_B_SEGMENT_LINE_40 (40)
      +
      361 #define LCD_B_SEGMENT_LINE_41 (41)
      +
      362 #define LCD_B_SEGMENT_LINE_42 (42)
      +
      363 #define LCD_B_SEGMENT_LINE_43 (43)
      +
      364 #define LCD_B_SEGMENT_LINE_44 (44)
      +
      365 #define LCD_B_SEGMENT_LINE_45 (45)
      +
      366 #define LCD_B_SEGMENT_LINE_46 (46)
      +
      367 #define LCD_B_SEGMENT_LINE_47 (47)
      +
      368 #define LCD_B_SEGMENT_LINE_48 (48)
      +
      369 #define LCD_B_SEGMENT_LINE_49 (49)
      +
      370 #define LCD_B_SEGMENT_LINE_50 (50)
      +
      371 #define LCD_B_SEGMENT_LINE_51 (51)
      +
      372 #define LCD_B_SEGMENT_LINE_52 (52)
      +
      373 #define LCD_B_SEGMENT_LINE_53 (53)
      +
      374 #define LCD_B_SEGMENT_LINE_54 (54)
      +
      375 #define LCD_B_SEGMENT_LINE_55 (55)
      +
      376 #define LCD_B_SEGMENT_LINE_56 (56)
      +
      377 #define LCD_B_SEGMENT_LINE_57 (57)
      +
      378 #define LCD_B_SEGMENT_LINE_58 (58)
      +
      379 #define LCD_B_SEGMENT_LINE_59 (59)
      +
      380 #define LCD_B_SEGMENT_LINE_60 (60)
      +
      381 #define LCD_B_SEGMENT_LINE_61 (61)
      +
      382 #define LCD_B_SEGMENT_LINE_62 (62)
      +
      383 #define LCD_B_SEGMENT_LINE_63 (63)
      +
      384 
      +
      385 //*****************************************************************************
      +
      386 //
      +
      387 // The following are values that can be passed to the memory parameter for
      +
      388 // functions: LCD_B_setMemory(), LCD_B_updateMemory(), LCD_B_toggleMemory(),
      +
      389 // LCD_B_clearMemory(), LCD_B_setBlinkingMemory(),
      +
      390 // LCD_B_updateBlinkingMemory(), LCD_B_toggleBlinkingMemory(), and
      +
      391 // LCD_B_clearBlinkingMemory().
      +
      392 //
      +
      393 //*****************************************************************************
      +
      394 #define LCD_B_MEMORY_BLINKINGMEMORY_0 (0)
      +
      395 #define LCD_B_MEMORY_BLINKINGMEMORY_1 (1)
      +
      396 #define LCD_B_MEMORY_BLINKINGMEMORY_2 (2)
      +
      397 #define LCD_B_MEMORY_BLINKINGMEMORY_3 (3)
      +
      398 #define LCD_B_MEMORY_BLINKINGMEMORY_4 (4)
      +
      399 #define LCD_B_MEMORY_BLINKINGMEMORY_5 (5)
      +
      400 #define LCD_B_MEMORY_BLINKINGMEMORY_6 (6)
      +
      401 #define LCD_B_MEMORY_BLINKINGMEMORY_7 (7)
      +
      402 #define LCD_B_MEMORY_BLINKINGMEMORY_8 (8)
      +
      403 #define LCD_B_MEMORY_BLINKINGMEMORY_9 (9)
      +
      404 #define LCD_B_MEMORY_BLINKINGMEMORY_10 (10)
      +
      405 #define LCD_B_MEMORY_BLINKINGMEMORY_11 (11)
      +
      406 #define LCD_B_MEMORY_BLINKINGMEMORY_12 (12)
      +
      407 #define LCD_B_MEMORY_BLINKINGMEMORY_13 (13)
      +
      408 #define LCD_B_MEMORY_BLINKINGMEMORY_14 (14)
      +
      409 #define LCD_B_MEMORY_BLINKINGMEMORY_15 (15)
      +
      410 #define LCD_B_MEMORY_BLINKINGMEMORY_16 (16)
      +
      411 #define LCD_B_MEMORY_BLINKINGMEMORY_17 (17)
      +
      412 #define LCD_B_MEMORY_BLINKINGMEMORY_18 (18)
      +
      413 #define LCD_B_MEMORY_BLINKINGMEMORY_19 (19)
      +
      414 #define LCD_B_MEMORY_BLINKINGMEMORY_20 (20)
      +
      415 #define LCD_B_MEMORY_BLINKINGMEMORY_21 (21)
      +
      416 #define LCD_B_MEMORY_BLINKINGMEMORY_22 (22)
      +
      417 #define LCD_B_MEMORY_BLINKINGMEMORY_23 (23)
      +
      418 #define LCD_B_MEMORY_BLINKINGMEMORY_24 (24)
      +
      419 #define LCD_B_MEMORY_BLINKINGMEMORY_25 (25)
      +
      420 #define LCD_B_MEMORY_BLINKINGMEMORY_26 (26)
      +
      421 #define LCD_B_MEMORY_BLINKINGMEMORY_27 (27)
      +
      422 #define LCD_B_MEMORY_BLINKINGMEMORY_28 (28)
      +
      423 #define LCD_B_MEMORY_BLINKINGMEMORY_29 (29)
      +
      424 #define LCD_B_MEMORY_BLINKINGMEMORY_30 (30)
      +
      425 #define LCD_B_MEMORY_BLINKINGMEMORY_31 (31)
      +
      426 #define LCD_B_MEMORY_BLINKINGMEMORY_32 (32)
      +
      427 #define LCD_B_MEMORY_BLINKINGMEMORY_33 (33)
      +
      428 #define LCD_B_MEMORY_BLINKINGMEMORY_34 (34)
      +
      429 #define LCD_B_MEMORY_BLINKINGMEMORY_35 (35)
      +
      430 #define LCD_B_MEMORY_BLINKINGMEMORY_36 (36)
      +
      431 #define LCD_B_MEMORY_BLINKINGMEMORY_37 (37)
      +
      432 #define LCD_B_MEMORY_BLINKINGMEMORY_38 (38)
      +
      433 #define LCD_B_MEMORY_BLINKINGMEMORY_39 (39)
      +
      434 
      +
      435 //*****************************************************************************
      +
      436 //
      +
      437 // The following are values that can be passed to the autoDisabled parameter
      +
      438 // for functions: LCD_B_configureChargePump().
      +
      439 //
      +
      440 //*****************************************************************************
      +
      441 #define LCD_B_CHARGEPUMP_NOTAUTO_DISABLED_DURING_ADC_CONVERSION (0x0)
      +
      442 #define LCD_B_CHARGEPUMP_AUTO_DISABLED_DURING_ADC_CONVERSION (LCDCPDIS2)
      +
      443 
      +
      444 //*****************************************************************************
      +
      445 //
      +
      446 // Prototypes for the APIs.
      +
      447 //
      +
      448 //*****************************************************************************
      +
      449 
      +
      450 //*****************************************************************************
      +
      451 //
      +
      464 //
      +
      465 //*****************************************************************************
      +
      466 extern void LCD_B_init(uint16_t baseAddress,
      +
      467  LCD_B_initParam *initParams);
      +
      468 
      +
      469 //*****************************************************************************
      +
      470 //
      +
      478 //
      +
      479 //*****************************************************************************
      +
      480 extern void LCD_B_on(uint16_t baseAddress);
      +
      481 
      +
      482 //*****************************************************************************
      +
      483 //
      +
      491 //
      +
      492 //*****************************************************************************
      +
      493 extern void LCD_B_off(uint16_t baseAddress);
      +
      494 
      +
      495 //*****************************************************************************
      +
      496 //
      +
      510 //
      +
      511 //*****************************************************************************
      +
      512 extern void LCD_B_clearInterrupt(uint16_t baseAddress,
      +
      513  uint16_t mask);
      +
      514 
      +
      515 //*****************************************************************************
      +
      516 //
      +
      534 //
      +
      535 //*****************************************************************************
      +
      536 extern uint16_t LCD_B_getInterruptStatus(uint16_t baseAddress,
      +
      537  uint16_t mask);
      +
      538 
      +
      539 //*****************************************************************************
      +
      540 //
      +
      554 //
      +
      555 //*****************************************************************************
      +
      556 extern void LCD_B_enableInterrupt(uint16_t baseAddress,
      +
      557  uint16_t mask);
      +
      558 
      +
      559 //*****************************************************************************
      +
      560 //
      +
      574 //
      +
      575 //*****************************************************************************
      +
      576 extern void LCD_B_disableInterrupt(uint16_t baseAddress,
      +
      577  uint16_t mask);
      +
      578 
      +
      579 //*****************************************************************************
      +
      580 //
      +
      588 //
      +
      589 //*****************************************************************************
      +
      590 extern void LCD_B_clearAllMemory(uint16_t baseAddress);
      +
      591 
      +
      592 //*****************************************************************************
      +
      593 //
      +
      601 //
      +
      602 //*****************************************************************************
      +
      603 extern void LCD_B_clearAllBlinkingMemory(uint16_t baseAddress);
      +
      604 
      +
      605 //*****************************************************************************
      +
      606 //
      +
      624 //
      +
      625 //*****************************************************************************
      +
      626 extern void LCD_B_selectDisplayMemory(uint16_t baseAddress,
      +
      627  uint16_t displayMemory);
      +
      628 
      +
      629 //*****************************************************************************
      +
      630 //
      +
      658 //
      +
      659 //*****************************************************************************
      +
      660 extern void LCD_B_setBlinkingControl(uint16_t baseAddress,
      +
      661  uint8_t clockDivider,
      +
      662  uint8_t clockPrescalar,
      +
      663  uint8_t mode);
      +
      664 
      +
      665 //*****************************************************************************
      +
      666 //
      +
      675 //
      +
      676 //*****************************************************************************
      +
      677 extern void LCD_B_enableChargePump(uint16_t baseAddress);
      +
      678 
      +
      679 //*****************************************************************************
      +
      680 //
      +
      689 //
      +
      690 //*****************************************************************************
      +
      691 extern void LCD_B_disableChargePump(uint16_t baseAddress);
      +
      692 
      +
      693 //*****************************************************************************
      +
      694 //
      +
      707 //
      +
      708 //*****************************************************************************
      +
      709 extern void LCD_B_selectBias(uint16_t baseAddress,
      +
      710  uint16_t bias);
      +
      711 
      +
      712 //*****************************************************************************
      +
      713 //
      +
      733 //
      +
      734 //*****************************************************************************
      +
      735 extern void LCD_B_selectChargePumpReference(uint16_t baseAddress,
      +
      736  uint16_t reference);
      +
      737 
      +
      738 //*****************************************************************************
      +
      739 //
      +
      768 //
      +
      769 //*****************************************************************************
      +
      770 extern void LCD_B_setVLCDSource(uint16_t baseAddress,
      +
      771  uint16_t vlcdSource,
      +
      772  uint16_t v2v3v4Source,
      +
      773  uint16_t v5Source);
      +
      774 
      +
      775 //*****************************************************************************
      +
      776 //
      +
      805 //
      +
      806 //*****************************************************************************
      +
      807 extern void LCD_B_setVLCDVoltage(uint16_t baseAddress,
      +
      808  uint16_t voltage);
      +
      809 
      +
      810 //*****************************************************************************
      +
      811 //
      +
      886 //
      +
      887 //*****************************************************************************
      +
      888 extern void LCD_B_setPinAsLCDFunction(uint16_t baseAddress,
      +
      889  uint8_t pin);
      +
      890 
      +
      891 //*****************************************************************************
      +
      892 //
      +
      967 //
      +
      968 //*****************************************************************************
      +
      969 extern void LCD_B_setPinAsPortFunction(uint16_t baseAddress,
      +
      970  uint8_t pin);
      +
      971 
      +
      972 //*****************************************************************************
      +
      973 //
      +
      1117 //
      +
      1118 //*****************************************************************************
      +
      1119 extern void LCD_B_setPinAsLCDFunctionEx(uint16_t baseAddress,
      +
      1120  uint8_t startPin,
      +
      1121  uint8_t endPin);
      +
      1122 
      +
      1123 //*****************************************************************************
      +
      1124 //
      +
      1177 //
      +
      1178 //*****************************************************************************
      +
      1179 extern void LCD_B_setMemory(uint16_t baseAddress,
      +
      1180  uint8_t memory,
      +
      1181  uint8_t mask);
      +
      1182 
      +
      1183 //*****************************************************************************
      +
      1184 //
      +
      1238 //
      +
      1239 //*****************************************************************************
      +
      1240 extern void LCD_B_updateMemory(uint16_t baseAddress,
      +
      1241  uint8_t memory,
      +
      1242  uint8_t mask);
      +
      1243 
      +
      1244 //*****************************************************************************
      +
      1245 //
      +
      1299 //
      +
      1300 //*****************************************************************************
      +
      1301 extern void LCD_B_toggleMemory(uint16_t baseAddress,
      +
      1302  uint8_t memory,
      +
      1303  uint8_t mask);
      +
      1304 
      +
      1305 //*****************************************************************************
      +
      1306 //
      +
      1360 //
      +
      1361 //*****************************************************************************
      +
      1362 extern void LCD_B_clearMemory(uint16_t baseAddress,
      +
      1363  uint8_t memory,
      +
      1364  uint8_t mask);
      +
      1365 
      +
      1366 //*****************************************************************************
      +
      1367 //
      +
      1420 //
      +
      1421 //*****************************************************************************
      +
      1422 extern void LCD_B_setBlinkingMemory(uint16_t baseAddress,
      +
      1423  uint8_t memory,
      +
      1424  uint8_t mask);
      +
      1425 
      +
      1426 //*****************************************************************************
      +
      1427 //
      +
      1481 //
      +
      1482 //*****************************************************************************
      +
      1483 extern void LCD_B_updateBlinkingMemory(uint16_t baseAddress,
      +
      1484  uint8_t memory,
      +
      1485  uint8_t mask);
      +
      1486 
      +
      1487 //*****************************************************************************
      +
      1488 //
      +
      1542 //
      +
      1543 //*****************************************************************************
      +
      1544 extern void LCD_B_toggleBlinkingMemory(uint16_t baseAddress,
      +
      1545  uint8_t memory,
      +
      1546  uint8_t mask);
      +
      1547 
      +
      1548 //*****************************************************************************
      +
      1549 //
      +
      1603 //
      +
      1604 //*****************************************************************************
      +
      1605 extern void LCD_B_clearBlinkingMemory(uint16_t baseAddress,
      +
      1606  uint8_t memory,
      +
      1607  uint8_t mask);
      +
      1608 
      +
      1609 //*****************************************************************************
      +
      1610 //
      +
      1626 //
      +
      1627 //*****************************************************************************
      +
      1628 extern void LCD_B_configureChargePump(uint16_t baseAddress,
      +
      1629  uint16_t autoDisabled);
      +
      1630 
      +
      1631 //*****************************************************************************
      +
      1632 //
      +
      1633 // Mark the end of the C bindings section for C++ compilers.
      +
      1634 //
      +
      1635 //*****************************************************************************
      +
      1636 #ifdef __cplusplus
      +
      1637 }
      +
      1638 #endif
      +
      1639 
      +
      1640 #endif
      +
      1641 #endif // __MSP430WARE_LCD_B_H__
      + +
      +
      + + + + diff --git a/Documentation/html/lcd__c_8c.html b/Documentation/html/lcd__c_8c.html new file mode 100644 index 0000000..fa7907a --- /dev/null +++ b/Documentation/html/lcd__c_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/lcd_c.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      lcd_c.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/lcd__c_8c_source.html b/Documentation/html/lcd__c_8c_source.html new file mode 100644 index 0000000..9c13672 --- /dev/null +++ b/Documentation/html/lcd__c_8c_source.html @@ -0,0 +1,513 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/lcd_c.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      lcd_c.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // lcd_c.c - Driver for the lcd_c Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_LCD_C__
      +
      17 #include "lcd_c.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 //*****************************************************************************
      +
      22 //
      +
      23 // Initialization parameter instance
      +
      24 //
      +
      25 //*****************************************************************************
      +
      26 const LCD_C_initParam LCD_C_INIT_PARAM = {
      +
      27  LCD_C_CLOCKSOURCE_ACLK,
      +
      28  LCD_C_CLOCKDIVIDER_1,
      +
      29  LCD_C_CLOCKPRESCALAR_1,
      +
      30  LCD_C_STATIC,
      +
      31  LCD_C_STANDARD_WAVEFORMS,
      +
      32  LCD_C_SEGMENTS_DISABLED
      +
      33 };
      +
      34 
      +
      35 static void setLCDFunction(uint16_t baseAddress, uint8_t index, uint16_t value)
      +
      36 {
      +
      37  switch(index) {
      +
      38  case 0:
      +
      39  HWREG16(baseAddress + OFS_LCDCPCTL0) |= value;
      +
      40  break;
      +
      41  case 1:
      +
      42  HWREG16(baseAddress + OFS_LCDCPCTL1) |= value;
      +
      43  break;
      +
      44  case 2:
      +
      45  HWREG16(baseAddress + OFS_LCDCPCTL2) |= value;
      +
      46  break;
      +
      47  case 3:
      +
      48 #ifdef LCDS48
      +
      49  HWREG16(baseAddress + OFS_LCDCPCTL3) |= value;
      +
      50 #endif //LCDS48
      +
      51  break;
      +
      52  default: break;
      +
      53  }
      +
      54 }
      +
      55 
      +
      56 void LCD_C_init(uint16_t baseAddress, LCD_C_initParam *initParams)
      +
      57 {
      +
      58  HWREG16(baseAddress + OFS_LCDCCTL0) &= ~LCDON;
      +
      59  HWREG16(baseAddress + OFS_LCDCCTL0) &= ~(LCDMX0 | LCDMX1 | LCDMX2 | LCDSSEL
      +
      60  | LCDLP | LCDSON | LCDDIV_31);
      +
      61 
      +
      62  HWREG16(baseAddress + OFS_LCDCCTL0) |= initParams->muxRate;
      +
      63  HWREG16(baseAddress + OFS_LCDCCTL0) |= initParams->clockSource;
      +
      64  HWREG16(baseAddress + OFS_LCDCCTL0) |= initParams->waveforms;
      +
      65  HWREG16(baseAddress + OFS_LCDCCTL0) |= initParams->segments;
      +
      66  HWREG16(baseAddress + OFS_LCDCCTL0) |= initParams->clockDivider;
      +
      67  HWREG16(baseAddress + OFS_LCDCCTL0) |= initParams->clockPrescalar;
      +
      68 }
      +
      69 
      +
      70 void LCD_C_on(uint16_t baseAddress)
      +
      71 {
      +
      72  HWREG16(baseAddress + OFS_LCDCCTL0) |= LCDON;
      +
      73 }
      +
      74 
      +
      75 void LCD_C_off(uint16_t baseAddress)
      +
      76 {
      +
      77  HWREG16(baseAddress + OFS_LCDCCTL0) &= ~LCDON;
      +
      78 }
      +
      79 
      +
      80 void LCD_C_clearInterrupt(uint16_t baseAddress, uint16_t mask)
      +
      81 {
      +
      82  HWREG8(baseAddress + OFS_LCDCCTL1_L) &= ~(mask>>8);
      +
      83 }
      +
      84 
      +
      85 uint16_t LCD_C_getInterruptStatus(uint16_t baseAddress, uint16_t mask)
      +
      86 {
      +
      87  return (HWREG8(baseAddress + OFS_LCDCCTL1_L) & (mask>>8));
      +
      88 }
      +
      89 
      +
      90 void LCD_C_enableInterrupt(uint16_t baseAddress, uint16_t mask)
      +
      91 {
      +
      92  HWREG16(baseAddress + OFS_LCDCCTL1) |= mask;
      +
      93 }
      +
      94 
      +
      95 void LCD_C_disableInterrupt (uint16_t baseAddress, uint16_t mask)
      +
      96 {
      +
      97  HWREG16(baseAddress + OFS_LCDCCTL1) &= ~mask;
      +
      98 }
      +
      99 
      +
      100  void LCD_C_clearMemory(uint16_t baseAddress)
      +
      101  {
      +
      102  HWREG16(baseAddress + OFS_LCDCMEMCTL) |= LCDCLRM;
      +
      103  }
      +
      104 
      +
      105 void LCD_C_clearBlinkingMemory(uint16_t baseAddress)
      +
      106 {
      +
      107  HWREG16(baseAddress + OFS_LCDCMEMCTL) |= LCDCLRBM;
      +
      108 }
      +
      109 
      +
      110 void LCD_C_selectDisplayMemory(uint16_t baseAddress, uint16_t displayMemory)
      +
      111 {
      +
      112  HWREG16(baseAddress + OFS_LCDCMEMCTL) &= ~LCDDISP;
      +
      113  HWREG16(baseAddress + OFS_LCDCMEMCTL) |= displayMemory;
      +
      114 }
      +
      115 
      +
      116 void LCD_C_setBlinkingControl (uint16_t baseAddress,
      +
      117  uint8_t clockDivider,
      +
      118  uint8_t clockPrescalar,
      +
      119  uint8_t mode)
      +
      120 {
      +
      121  HWREG16(baseAddress + OFS_LCDCBLKCTL) &= ~(LCDBLKDIV0 | LCDBLKDIV1 | LCDBLKDIV2 |
      +
      122  LCDBLKPRE0 | LCDBLKPRE1 | LCDBLKPRE2 |
      +
      123  LCDBLKMOD0 | LCDBLKMOD1
      +
      124  );
      +
      125  HWREG16(baseAddress + OFS_LCDCBLKCTL) |= clockDivider | clockPrescalar | mode;
      +
      126 }
      +
      127 
      +
      128 void LCD_C_enableChargePump(uint16_t baseAddress)
      +
      129 {
      +
      130  HWREG16(baseAddress + OFS_LCDCVCTL) |= LCDCPEN;
      +
      131 }
      +
      132 
      +
      133 void LCD_C_disableChargePump(uint16_t baseAddress)
      +
      134 {
      +
      135  HWREG16(baseAddress + OFS_LCDCVCTL) &= ~LCDCPEN;
      +
      136 }
      +
      137 
      +
      138 void LCD_C_selectBias(uint16_t baseAddress, uint16_t bias)
      +
      139 {
      +
      140  HWREG16(baseAddress + OFS_LCDCCTL0) &= ~LCDON;
      +
      141  HWREG16(baseAddress + OFS_LCDCVCTL) &= ~LCD2B;
      +
      142 
      +
      143  HWREG16(baseAddress + OFS_LCDCVCTL) |= bias;
      +
      144 }
      +
      145 
      +
      146 void LCD_C_selectChargePumpReference(uint16_t baseAddress, uint16_t reference)
      +
      147 {
      +
      148  HWREG16(baseAddress + OFS_LCDCCTL0) &= ~LCDON;
      +
      149  HWREG16(baseAddress + OFS_LCDCVCTL) &= ~VLCDREF_3;
      +
      150 
      +
      151  HWREG16(baseAddress + OFS_LCDCVCTL) |= reference;
      +
      152 }
      +
      153 
      +
      154 void LCD_C_setVLCDSource(uint16_t baseAddress, uint16_t vlcdSource,
      +
      155  uint16_t v2v3v4Source,
      +
      156  uint16_t v5Source)
      +
      157 {
      +
      158  HWREG16(baseAddress + OFS_LCDCCTL0) &= ~LCDON;
      +
      159  HWREG16(baseAddress + OFS_LCDCVCTL) &= ~VLCDEXT;
      +
      160  HWREG16(baseAddress + OFS_LCDCVCTL) &= ~LCDREXT;
      +
      161  HWREG16(baseAddress + OFS_LCDCVCTL) &= ~LCDEXTBIAS;
      +
      162  HWREG16(baseAddress + OFS_LCDCVCTL) &= ~R03EXT;
      +
      163 
      +
      164  HWREG16(baseAddress + OFS_LCDCVCTL) |= vlcdSource;
      +
      165  HWREG16(baseAddress + OFS_LCDCVCTL) |= v2v3v4Source;
      +
      166  HWREG16(baseAddress + OFS_LCDCVCTL) |= v5Source;
      +
      167 }
      +
      168 
      +
      169 void LCD_C_setVLCDVoltage(uint16_t baseAddress, uint16_t voltage)
      +
      170 {
      +
      171  HWREG16(baseAddress + OFS_LCDCVCTL) &= ~VLCD_15;
      +
      172 
      +
      173  HWREG16(baseAddress + OFS_LCDCVCTL) |= voltage;
      +
      174 }
      +
      175 
      +
      176 void LCD_C_setPinAsLCDFunction(uint16_t baseAddress, uint8_t pin)
      +
      177 {
      +
      178  HWREG16(baseAddress + OFS_LCDCCTL0) &= ~LCDON;
      +
      179 
      +
      180  uint8_t idx = pin>>4;
      +
      181  uint16_t val = 1<<(pin & 0xF);
      +
      182 
      +
      183  setLCDFunction(baseAddress, idx, val);
      +
      184 }
      +
      185 
      +
      186 void LCD_C_setPinAsPortFunction (uint16_t baseAddress, uint8_t pin)
      +
      187 {
      +
      188  HWREG16(baseAddress + OFS_LCDCCTL0) &= ~LCDON;
      +
      189 
      +
      190  uint8_t idx = pin >> 4;
      +
      191  uint16_t val = 1 << (pin & 0xF);
      +
      192 
      +
      193  switch(idx) {
      +
      194  case 0:
      +
      195  HWREG16(baseAddress + OFS_LCDCPCTL0) &= ~val;
      +
      196  break;
      +
      197  case 1:
      +
      198  HWREG16(baseAddress + OFS_LCDCPCTL1) &= ~val;
      +
      199  break;
      +
      200  case 2:
      +
      201  HWREG16(baseAddress + OFS_LCDCPCTL2) &= ~val;
      +
      202  break;
      +
      203  case 3:
      +
      204 #ifdef LCDS48
      +
      205  HWREG16(baseAddress + OFS_LCDCPCTL3) &= ~val;
      +
      206 #endif //LCDS48
      +
      207  break;
      +
      208  default: break;
      +
      209  }
      +
      210 }
      +
      211 
      +
      212 void LCD_C_setPinAsLCDFunctionEx(uint16_t baseAddress, uint8_t startPin,
      +
      213  uint8_t endPin)
      +
      214 {
      +
      215  uint8_t startIdx = startPin>>4;
      +
      216  uint8_t endIdx = endPin>>4;
      +
      217  uint8_t startPos = startPin & 0xF;
      +
      218  uint8_t endPos = endPin & 0xF;
      +
      219  uint16_t val = 0;
      +
      220  uint8_t i = 0;
      +
      221 
      +
      222  HWREG16(baseAddress + OFS_LCDCCTL0) &= ~LCDON;
      +
      223 
      +
      224  if (startIdx == endIdx) {
      +
      225  val = (0xFFFF>>(15-endPos)) & (0xFFFF<<startPos);
      +
      226 
      +
      227  setLCDFunction(baseAddress, startIdx, val);
      +
      228 
      +
      229  }
      +
      230  else {
      +
      231  val = 0xFFFF>>(15-endPos);
      +
      232  setLCDFunction(baseAddress, endIdx, val);
      +
      233 
      +
      234  for (i=endIdx-1; i>startIdx; i--)
      +
      235  setLCDFunction(baseAddress, i, 0xFFFF);
      +
      236 
      +
      237  val = 0xFFFF<<startPos;
      +
      238  setLCDFunction(baseAddress, startIdx, val);
      +
      239  }
      +
      240 }
      +
      241 
      +
      242 void LCD_C_setMemory(uint16_t baseAddress, uint8_t pin, uint8_t value)
      +
      243 {
      +
      244  uint8_t muxRate = HWREG16(baseAddress + OFS_LCDCCTL0)
      +
      245  & (LCDMX2 | LCDMX1 | LCDMX0);
      +
      246 
      +
      247  // static, 2-mux, 3-mux, 4-mux
      +
      248  if (muxRate <= (LCDMX1 | LCDMX0)) {
      +
      249  if (pin & 1) {
      +
      250  HWREG8(baseAddress + OFS_LCDM1 + pin/2) &= 0x0F;
      +
      251  HWREG8(baseAddress + OFS_LCDM1 + pin/2) |= (value & 0xF) << 4;
      +
      252  }
      +
      253  else {
      +
      254  HWREG8(baseAddress + OFS_LCDM1 + pin/2) &= 0xF0;
      +
      255  HWREG8(baseAddress + OFS_LCDM1 + pin/2) |= (value & 0xF);
      +
      256  }
      +
      257  }
      +
      258  else {
      +
      259  //5-mux, 6-mux, 7-mux, 8-mux
      +
      260  HWREG8(baseAddress + OFS_LCDM1 + pin) = value;
      +
      261  }
      +
      262 }
      +
      263 
      +
      264 uint8_t LCD_C_getMemory(uint16_t baseAddress, uint8_t pin)
      +
      265 {
      +
      266  uint8_t muxRate = HWREG16(baseAddress + OFS_LCDCCTL0)
      +
      267  & (LCDMX2 | LCDMX1 | LCDMX0);
      +
      268 
      +
      269  // static, 2-mux, 3-mux, 4-mux
      +
      270  if(muxRate <= (LCDMX1 | LCDMX0))
      +
      271  {
      +
      272  if(pin & 1)
      +
      273  {
      +
      274  return (HWREG8(baseAddress + OFS_LCDM1 + pin / 2) >> 4);
      +
      275  }
      +
      276  else
      +
      277  {
      +
      278  return (HWREG8(baseAddress + OFS_LCDM1 + pin / 2) & 0xF);
      +
      279  }
      +
      280  }
      +
      281  else
      +
      282  {
      +
      283  //5-mux, 6-mux, 7-mux, 8-mux
      +
      284  return HWREG8(baseAddress + OFS_LCDM1 + pin);
      +
      285  }
      +
      286 }
      +
      287 
      +
      288 void LCD_C_setMemoryWithoutOverwrite(uint16_t baseAddress, uint8_t pin, uint8_t value)
      +
      289 {
      +
      290  uint8_t muxRate = HWREG16(baseAddress + OFS_LCDCCTL0)
      +
      291  & (LCDMX2 | LCDMX1 | LCDMX0);
      +
      292 
      +
      293  value |= LCD_C_getMemory(baseAddress, pin);
      +
      294 
      +
      295  // static, 2-mux, 3-mux, 4-mux
      +
      296  if(muxRate <= (LCDMX1 | LCDMX0))
      +
      297  {
      +
      298  if(pin & 1)
      +
      299  {
      +
      300  HWREG8(baseAddress + OFS_LCDM1 + pin / 2) &= 0x0F;
      +
      301  HWREG8(baseAddress + OFS_LCDM1 + pin / 2) |= (value & 0xF) << 4;
      +
      302  }
      +
      303  else
      +
      304  {
      +
      305  HWREG8(baseAddress + OFS_LCDM1 + pin / 2) &= 0xF0;
      +
      306  HWREG8(baseAddress + OFS_LCDM1 + pin / 2) |= (value & 0xF);
      +
      307  }
      +
      308  }
      +
      309  else
      +
      310  {
      +
      311  //5-mux, 6-mux, 7-mux, 8-mux
      +
      312  HWREG8(baseAddress + OFS_LCDM1 + pin) = value;
      +
      313  }
      +
      314 }
      +
      315 
      +
      316 void LCD_C_setBlinkingMemory(uint16_t baseAddress, uint8_t pin, uint8_t value)
      +
      317 {
      +
      318  uint8_t muxRate = HWREG16(baseAddress + OFS_LCDCCTL0)
      +
      319  & (LCDMX2 | LCDMX1 | LCDMX0);
      +
      320 
      +
      321  // static, 2-mux, 3-mux, 4-mux
      +
      322  if (muxRate <= (LCDMX1 | LCDMX0)) {
      +
      323  if (pin & 1) {
      +
      324  HWREG8(baseAddress + OFS_LCDBM1 + pin/2) &= 0x0F;
      +
      325  HWREG8(baseAddress + OFS_LCDBM1 + pin/2) |= (value & 0xF) << 4;
      +
      326  }
      +
      327  else {
      +
      328  HWREG8(baseAddress + OFS_LCDBM1 + pin/2) &= 0xF0;
      +
      329  HWREG8(baseAddress + OFS_LCDBM1 + pin/2) |= (value & 0xF);
      +
      330  }
      +
      331  }
      +
      332  else {
      +
      333  //5-mux, 6-mux, 7-mux, 8-mux
      +
      334  HWREG8(baseAddress + OFS_LCDBM1 + pin) = value;
      +
      335  }
      +
      336 
      +
      337 }
      +
      338 
      +
      339 uint8_t LCD_C_getBlinkingMemory(uint16_t baseAddress, uint8_t pin)
      +
      340 {
      +
      341  uint8_t muxRate = HWREG16(baseAddress + OFS_LCDCCTL0)
      +
      342  & (LCDMX2 | LCDMX1 | LCDMX0);
      +
      343 
      +
      344  // static, 2-mux, 3-mux, 4-mux
      +
      345  if(muxRate <= (LCDMX1 | LCDMX0))
      +
      346  {
      +
      347  if(pin & 1)
      +
      348  {
      +
      349  return (HWREG8(baseAddress + OFS_LCDBM1 + pin / 2) >> 4);
      +
      350  }
      +
      351  else
      +
      352  {
      +
      353  return (HWREG8(baseAddress + OFS_LCDBM1 + pin / 2) & 0xF);
      +
      354  }
      +
      355  }
      +
      356  else
      +
      357  {
      +
      358  //5-mux, 6-mux, 7-mux, 8-mux
      +
      359  return HWREG8(baseAddress + OFS_LCDBM1 + pin);
      +
      360  }
      +
      361 }
      +
      362 
      +
      363 void LCD_C_setBlinkingMemoryWithoutOverwrite(uint16_t baseAddress, uint8_t pin, uint8_t value)
      +
      364 {
      +
      365  uint8_t muxRate = HWREG16(baseAddress + OFS_LCDCCTL0)
      +
      366  & (LCDMX2 | LCDMX1 | LCDMX0);
      +
      367 
      +
      368  value |= LCD_C_getBlinkingMemory(baseAddress, pin);
      +
      369 
      +
      370  // static, 2-mux, 3-mux, 4-mux
      +
      371  if(muxRate <= (LCDMX1 | LCDMX0))
      +
      372  {
      +
      373  if(pin & 1)
      +
      374  {
      +
      375  HWREG8(baseAddress + OFS_LCDBM1 + pin / 2) &= 0x0F;
      +
      376  HWREG8(baseAddress + OFS_LCDBM1 + pin / 2) |= (value & 0xF) << 4;
      +
      377  }
      +
      378  else
      +
      379  {
      +
      380  HWREG8(baseAddress + OFS_LCDBM1 + pin / 2) &= 0xF0;
      +
      381  HWREG8(baseAddress + OFS_LCDBM1 + pin / 2) |= (value & 0xF);
      +
      382  }
      +
      383  }
      +
      384  else
      +
      385  {
      +
      386  //5-mux, 6-mux, 7-mux, 8-mux
      +
      387  HWREG8(baseAddress + OFS_LCDBM1 + pin) = value;
      +
      388  }
      +
      389 }
      +
      390 
      +
      391 void LCD_C_configChargePump(uint16_t baseAddress, uint16_t syncToClock,
      +
      392  uint16_t functionControl)
      +
      393 {
      +
      394  HWREG16(baseAddress + OFS_LCDCCPCTL) &= ~(LCDCPCLKSYNC);
      +
      395  HWREG16(baseAddress + OFS_LCDCCPCTL) &= ~(LCDCPDIS7 | LCDCPDIS6 | LCDCPDIS5
      +
      396  | LCDCPDIS4 | LCDCPDIS3 | LCDCPDIS2 | LCDCPDIS1 | LCDCPDIS0);
      +
      397 
      +
      398  HWREG16(baseAddress + OFS_LCDCCPCTL) |= syncToClock | functionControl;
      +
      399 }
      +
      400 
      +
      401 
      +
      402 #endif
      +
      403 //*****************************************************************************
      +
      404 //
      +
      407 //
      +
      408 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/lcd__c_8h.html b/Documentation/html/lcd__c_8h.html new file mode 100644 index 0000000..e778f92 --- /dev/null +++ b/Documentation/html/lcd__c_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/lcd_c.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      lcd_c.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/lcd__c_8h_source.html b/Documentation/html/lcd__c_8h_source.html new file mode 100644 index 0000000..5132328 --- /dev/null +++ b/Documentation/html/lcd__c_8h_source.html @@ -0,0 +1,669 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/lcd_c.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      lcd_c.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // lcd_c.h - Driver for the LCD_C Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_LCD_C_H__
      +
      8 #define __MSP430WARE_LCD_C_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_LCD_C__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 typedef struct LCD_C_initParam {
      +
      36  uint16_t clockSource;
      +
      71  uint16_t clockDivider;
      +
      80  uint16_t clockPrescalar;
      +
      91  uint16_t muxRate;
      +
      96  uint16_t waveforms;
      +
      101  uint16_t segments;
      +
      102 } LCD_C_initParam;
      +
      103 
      +
      104 
      +
      105 extern const LCD_C_initParam LCD_C_INIT_PARAM;
      +
      106 
      +
      107 //*****************************************************************************
      +
      108 //
      +
      109 // The following are values that can be passed to the initParams parameter for
      +
      110 // functions: LCD_C_init().
      +
      111 //
      +
      112 //*****************************************************************************
      +
      113 #define LCD_C_CLOCKSOURCE_ACLK (0x0)
      +
      114 #define LCD_C_CLOCKSOURCE_VLOCLK (LCDSSEL)
      +
      115 
      +
      116 //*****************************************************************************
      +
      117 //
      +
      118 // The following are values that can be passed to the initParams parameter for
      +
      119 // functions: LCD_C_init().
      +
      120 //
      +
      121 //*****************************************************************************
      +
      122 #define LCD_C_CLOCKDIVIDER_1 (LCDDIV_0)
      +
      123 #define LCD_C_CLOCKDIVIDER_2 (LCDDIV_1)
      +
      124 #define LCD_C_CLOCKDIVIDER_3 (LCDDIV_2)
      +
      125 #define LCD_C_CLOCKDIVIDER_4 (LCDDIV_3)
      +
      126 #define LCD_C_CLOCKDIVIDER_5 (LCDDIV_4)
      +
      127 #define LCD_C_CLOCKDIVIDER_6 (LCDDIV_5)
      +
      128 #define LCD_C_CLOCKDIVIDER_7 (LCDDIV_6)
      +
      129 #define LCD_C_CLOCKDIVIDER_8 (LCDDIV_7)
      +
      130 #define LCD_C_CLOCKDIVIDER_9 (LCDDIV_8)
      +
      131 #define LCD_C_CLOCKDIVIDER_10 (LCDDIV_9)
      +
      132 #define LCD_C_CLOCKDIVIDER_11 (LCDDIV_10)
      +
      133 #define LCD_C_CLOCKDIVIDER_12 (LCDDIV_11)
      +
      134 #define LCD_C_CLOCKDIVIDER_13 (LCDDIV_12)
      +
      135 #define LCD_C_CLOCKDIVIDER_14 (LCDDIV_13)
      +
      136 #define LCD_C_CLOCKDIVIDER_15 (LCDDIV_14)
      +
      137 #define LCD_C_CLOCKDIVIDER_16 (LCDDIV_15)
      +
      138 #define LCD_C_CLOCKDIVIDER_17 (LCDDIV_16)
      +
      139 #define LCD_C_CLOCKDIVIDER_18 (LCDDIV_17)
      +
      140 #define LCD_C_CLOCKDIVIDER_19 (LCDDIV_18)
      +
      141 #define LCD_C_CLOCKDIVIDER_20 (LCDDIV_19)
      +
      142 #define LCD_C_CLOCKDIVIDER_21 (LCDDIV_20)
      +
      143 #define LCD_C_CLOCKDIVIDER_22 (LCDDIV_21)
      +
      144 #define LCD_C_CLOCKDIVIDER_23 (LCDDIV_22)
      +
      145 #define LCD_C_CLOCKDIVIDER_24 (LCDDIV_23)
      +
      146 #define LCD_C_CLOCKDIVIDER_25 (LCDDIV_24)
      +
      147 #define LCD_C_CLOCKDIVIDER_26 (LCDDIV_25)
      +
      148 #define LCD_C_CLOCKDIVIDER_27 (LCDDIV_26)
      +
      149 #define LCD_C_CLOCKDIVIDER_28 (LCDDIV_27)
      +
      150 #define LCD_C_CLOCKDIVIDER_29 (LCDDIV_28)
      +
      151 #define LCD_C_CLOCKDIVIDER_30 (LCDDIV_29)
      +
      152 #define LCD_C_CLOCKDIVIDER_31 (LCDDIV_30)
      +
      153 #define LCD_C_CLOCKDIVIDER_32 (LCDDIV_31)
      +
      154 
      +
      155 //*****************************************************************************
      +
      156 //
      +
      157 // The following are values that can be passed to the initParams parameter for
      +
      158 // functions: LCD_C_init().
      +
      159 //
      +
      160 //*****************************************************************************
      +
      161 #define LCD_C_CLOCKPRESCALAR_1 (LCDPRE_0)
      +
      162 #define LCD_C_CLOCKPRESCALAR_2 (LCDPRE_1)
      +
      163 #define LCD_C_CLOCKPRESCALAR_4 (LCDPRE_2)
      +
      164 #define LCD_C_CLOCKPRESCALAR_8 (LCDPRE_3)
      +
      165 #define LCD_C_CLOCKPRESCALAR_16 (LCDPRE_4)
      +
      166 #define LCD_C_CLOCKPRESCALAR_32 (LCDPRE_5)
      +
      167 
      +
      168 //*****************************************************************************
      +
      169 //
      +
      170 // The following are values that can be passed to the initParams parameter for
      +
      171 // functions: LCD_C_init().
      +
      172 //
      +
      173 //*****************************************************************************
      +
      174 #define LCD_C_STATIC (0x0)
      +
      175 #define LCD_C_2_MUX (LCDMX0)
      +
      176 #define LCD_C_3_MUX (LCDMX1)
      +
      177 #define LCD_C_4_MUX (LCDMX1 | LCDMX0)
      +
      178 #define LCD_C_5_MUX (LCDMX2)
      +
      179 #define LCD_C_6_MUX (LCDMX2 | LCDMX0)
      +
      180 #define LCD_C_7_MUX (LCDMX2 | LCDMX1)
      +
      181 #define LCD_C_8_MUX (LCDMX2 | LCDMX1 | LCDMX0)
      +
      182 
      +
      183 //*****************************************************************************
      +
      184 //
      +
      185 // The following are values that can be passed to the initParams parameter for
      +
      186 // functions: LCD_C_init().
      +
      187 //
      +
      188 //*****************************************************************************
      +
      189 #define LCD_C_STANDARD_WAVEFORMS (0x0)
      +
      190 #define LCD_C_LOW_POWER_WAVEFORMS (LCDLP)
      +
      191 
      +
      192 //*****************************************************************************
      +
      193 //
      +
      194 // The following are values that can be passed to the initParams parameter for
      +
      195 // functions: LCD_C_init().
      +
      196 //
      +
      197 //*****************************************************************************
      +
      198 #define LCD_C_SEGMENTS_DISABLED (0x0)
      +
      199 #define LCD_C_SEGMENTS_ENABLED (LCDSON)
      +
      200 
      +
      201 //*****************************************************************************
      +
      202 //
      +
      203 // The following are values that can be passed to the mask parameter for
      +
      204 // functions: LCD_C_clearInterrupt(), LCD_C_getInterruptStatus(),
      +
      205 // LCD_C_enableInterrupt(), and LCD_C_disableInterrupt() as well as returned by
      +
      206 // the LCD_C_getInterruptStatus() function.
      +
      207 //
      +
      208 //*****************************************************************************
      +
      209 #define LCD_C_NO_CAPACITANCE_CONNECTED_INTERRUPT (LCDNOCAPIE)
      +
      210 #define LCD_C_BLINKING_SEGMENTS_ON_INTERRUPT (LCDBLKONIE)
      +
      211 #define LCD_C_BLINKING_SEGMENTS_OFF_INTERRUPT (LCDBLKOFFIE)
      +
      212 #define LCD_C_FRAME_INTERRUPT (LCDFRMIE)
      +
      213 
      +
      214 //*****************************************************************************
      +
      215 //
      +
      216 // The following are values that can be passed to the displayMemory parameter
      +
      217 // for functions: LCD_C_selectDisplayMemory().
      +
      218 //
      +
      219 //*****************************************************************************
      +
      220 #define LCD_C_DISPLAYSOURCE_MEMORY (0x0)
      +
      221 #define LCD_C_DISPLAYSOURCE_BLINKINGMEMORY (LCDDISP)
      +
      222 
      +
      223 //*****************************************************************************
      +
      224 //
      +
      225 // The following are values that can be passed to the clockDivider parameter
      +
      226 // for functions: LCD_C_setBlinkingControl().
      +
      227 //
      +
      228 //*****************************************************************************
      +
      229 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_1 (0x0)
      +
      230 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_2 (LCDBLKDIV0)
      +
      231 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_3 (LCDBLKDIV1)
      +
      232 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_4 (LCDBLKDIV0 | LCDBLKDIV1)
      +
      233 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_5 (LCDBLKDIV2)
      +
      234 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_6 (LCDBLKDIV2 | LCDBLKDIV0)
      +
      235 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_7 (LCDBLKDIV2 | LCDBLKDIV1)
      +
      236 #define LCD_C_BLINK_FREQ_CLOCK_DIVIDER_8 (LCDBLKDIV2 | LCDBLKDIV1 | LCDBLKDIV0)
      +
      237 
      +
      238 //*****************************************************************************
      +
      239 //
      +
      240 // The following are values that can be passed to the clockPrescalar parameter
      +
      241 // for functions: LCD_C_setBlinkingControl().
      +
      242 //
      +
      243 //*****************************************************************************
      +
      244 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_512 (0x0)
      +
      245 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_1024 (LCDBLKPRE0)
      +
      246 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_2048 (LCDBLKPRE1)
      +
      247 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_4096 (LCDBLKPRE1 | LCDBLKPRE0)
      +
      248 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_8162 (LCDBLKPRE2)
      +
      249 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_16384 (LCDBLKPRE2 | LCDBLKPRE0)
      +
      250 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_32768 (LCDBLKPRE2 | LCDBLKPRE1)
      +
      251 #define LCD_C_BLINK_FREQ_CLOCK_PRESCALAR_65536 \
      +
      252  (LCDBLKPRE2 | LCDBLKPRE1 | LCDBLKPRE0)
      +
      253 
      +
      254 //*****************************************************************************
      +
      255 //
      +
      256 // The following are values that can be passed to the blinkingMode parameter
      +
      257 // for functions: LCD_C_setBlinkingControl().
      +
      258 //
      +
      259 //*****************************************************************************
      +
      260 #define LCD_C_BLINK_MODE_DISABLED (LCDBLKMOD_0)
      +
      261 #define LCD_C_BLINK_MODE_INDIVIDUAL_SEGMENTS (LCDBLKMOD_1)
      +
      262 #define LCD_C_BLINK_MODE_ALL_SEGMENTS (LCDBLKMOD_2)
      +
      263 #define LCD_C_BLINK_MODE_SWITCHING_BETWEEN_DISPLAY_CONTENTS (LCDBLKMOD_3)
      +
      264 
      +
      265 //*****************************************************************************
      +
      266 //
      +
      267 // The following are values that can be passed to the bias parameter for
      +
      268 // functions: LCD_C_selectBias().
      +
      269 //
      +
      270 //*****************************************************************************
      +
      271 #define LCD_C_BIAS_1_3 (0x0)
      +
      272 #define LCD_C_BIAS_1_2 (LCD2B)
      +
      273 
      +
      274 //*****************************************************************************
      +
      275 //
      +
      276 // The following are values that can be passed to the reference parameter for
      +
      277 // functions: LCD_C_selectChargePumpReference().
      +
      278 //
      +
      279 //*****************************************************************************
      +
      280 #define LCD_C_INTERNAL_REFERENCE_VOLTAGE (VLCDREF_0)
      +
      281 #define LCD_C_EXTERNAL_REFERENCE_VOLTAGE (VLCDREF_1)
      +
      282 #define LCD_C_INTERNAL_REFERENCE_VOLTAGE_SWITCHED_TO_EXTERNAL_PIN (VLCDREF_2)
      +
      283 
      +
      284 //*****************************************************************************
      +
      285 //
      +
      286 // The following are values that can be passed to the vlcdSource parameter for
      +
      287 // functions: LCD_C_setVLCDSource().
      +
      288 //
      +
      289 //*****************************************************************************
      +
      290 #define LCD_C_VLCD_GENERATED_INTERNALLY (0x0)
      +
      291 #define LCD_C_VLCD_SOURCED_EXTERNALLY (VLCDEXT)
      +
      292 
      +
      293 //*****************************************************************************
      +
      294 //
      +
      295 // The following are values that can be passed to the v2v3v4Source parameter
      +
      296 // for functions: LCD_C_setVLCDSource().
      +
      297 //
      +
      298 //*****************************************************************************
      +
      299 #define LCD_C_V2V3V4_GENERATED_INTERNALLY_NOT_SWITCHED_TO_PINS (0x0)
      +
      300 #define LCD_C_V2V3V4_GENERATED_INTERNALLY_SWITCHED_TO_PINS (LCDREXT)
      +
      301 #define LCD_C_V2V3V4_SOURCED_EXTERNALLY (LCDEXTBIAS)
      +
      302 
      +
      303 //*****************************************************************************
      +
      304 //
      +
      305 // The following are values that can be passed to the v5Source parameter for
      +
      306 // functions: LCD_C_setVLCDSource().
      +
      307 //
      +
      308 //*****************************************************************************
      +
      309 #define LCD_C_V5_VSS (0x0)
      +
      310 #define LCD_C_V5_SOURCED_FROM_R03 (R03EXT)
      +
      311 
      +
      312 //*****************************************************************************
      +
      313 //
      +
      314 // The following are values that can be passed to the voltage parameter for
      +
      315 // functions: LCD_C_setVLCDVoltage().
      +
      316 //
      +
      317 //*****************************************************************************
      +
      318 #define LCD_C_CHARGEPUMP_DISABLED (0x0)
      +
      319 #define LCD_C_CHARGEPUMP_VOLTAGE_2_60V_OR_2_17VREF (VLCD0)
      +
      320 #define LCD_C_CHARGEPUMP_VOLTAGE_2_66V_OR_2_22VREF (VLCD1)
      +
      321 #define LCD_C_CHARGEPUMP_VOLTAGE_2_72V_OR_2_27VREF (VLCD1 | VLCD0)
      +
      322 #define LCD_C_CHARGEPUMP_VOLTAGE_2_78V_OR_2_32VREF (VLCD2)
      +
      323 #define LCD_C_CHARGEPUMP_VOLTAGE_2_84V_OR_2_37VREF (VLCD2 | VLCD0)
      +
      324 #define LCD_C_CHARGEPUMP_VOLTAGE_2_90V_OR_2_42VREF (VLCD2 | VLCD1)
      +
      325 #define LCD_C_CHARGEPUMP_VOLTAGE_2_96V_OR_2_47VREF (VLCD2 | VLCD1 | VLCD0)
      +
      326 #define LCD_C_CHARGEPUMP_VOLTAGE_3_02V_OR_2_52VREF (VLCD3)
      +
      327 #define LCD_C_CHARGEPUMP_VOLTAGE_3_08V_OR_2_57VREF (VLCD3 | VLCD0)
      +
      328 #define LCD_C_CHARGEPUMP_VOLTAGE_3_14V_OR_2_62VREF (VLCD3 | VLCD1)
      +
      329 #define LCD_C_CHARGEPUMP_VOLTAGE_3_20V_OR_2_67VREF (VLCD3 | VLCD1 | VLCD0)
      +
      330 #define LCD_C_CHARGEPUMP_VOLTAGE_3_26V_OR_2_72VREF (VLCD3 | VLCD2)
      +
      331 #define LCD_C_CHARGEPUMP_VOLTAGE_3_32V_OR_2_77VREF (VLCD3 | VLCD2 | VLCD0)
      +
      332 #define LCD_C_CHARGEPUMP_VOLTAGE_3_38V_OR_2_82VREF (VLCD3 | VLCD2 | VLCD1)
      +
      333 #define LCD_C_CHARGEPUMP_VOLTAGE_3_44V_OR_2_87VREF \
      +
      334  (VLCD3 | VLCD2 | VLCD1 | VLCD0)
      +
      335 
      +
      336 //*****************************************************************************
      +
      337 //
      +
      338 // The following are values that can be passed to the startPin parameter for
      +
      339 // functions: LCD_C_setPinAsLCDFunctionEx(); the endPin parameter for
      +
      340 // functions: LCD_C_setPinAsLCDFunctionEx(); the pin parameter for functions:
      +
      341 // LCD_C_setPinAsLCDFunction(), LCD_C_setPinAsPortFunction(),
      +
      342 // LCD_C_setMemory(), and LCD_C_setBlinkingMemory().
      +
      343 //
      +
      344 //*****************************************************************************
      +
      345 #define LCD_C_SEGMENT_LINE_0 (0)
      +
      346 #define LCD_C_SEGMENT_LINE_1 (1)
      +
      347 #define LCD_C_SEGMENT_LINE_2 (2)
      +
      348 #define LCD_C_SEGMENT_LINE_3 (3)
      +
      349 #define LCD_C_SEGMENT_LINE_4 (4)
      +
      350 #define LCD_C_SEGMENT_LINE_5 (5)
      +
      351 #define LCD_C_SEGMENT_LINE_6 (6)
      +
      352 #define LCD_C_SEGMENT_LINE_7 (7)
      +
      353 #define LCD_C_SEGMENT_LINE_8 (8)
      +
      354 #define LCD_C_SEGMENT_LINE_9 (9)
      +
      355 #define LCD_C_SEGMENT_LINE_10 (10)
      +
      356 #define LCD_C_SEGMENT_LINE_11 (11)
      +
      357 #define LCD_C_SEGMENT_LINE_12 (12)
      +
      358 #define LCD_C_SEGMENT_LINE_13 (13)
      +
      359 #define LCD_C_SEGMENT_LINE_14 (14)
      +
      360 #define LCD_C_SEGMENT_LINE_15 (15)
      +
      361 #define LCD_C_SEGMENT_LINE_16 (16)
      +
      362 #define LCD_C_SEGMENT_LINE_17 (17)
      +
      363 #define LCD_C_SEGMENT_LINE_18 (18)
      +
      364 #define LCD_C_SEGMENT_LINE_19 (19)
      +
      365 #define LCD_C_SEGMENT_LINE_20 (20)
      +
      366 #define LCD_C_SEGMENT_LINE_21 (21)
      +
      367 #define LCD_C_SEGMENT_LINE_22 (22)
      +
      368 #define LCD_C_SEGMENT_LINE_23 (23)
      +
      369 #define LCD_C_SEGMENT_LINE_24 (24)
      +
      370 #define LCD_C_SEGMENT_LINE_25 (25)
      +
      371 #define LCD_C_SEGMENT_LINE_26 (26)
      +
      372 #define LCD_C_SEGMENT_LINE_27 (27)
      +
      373 #define LCD_C_SEGMENT_LINE_28 (28)
      +
      374 #define LCD_C_SEGMENT_LINE_29 (29)
      +
      375 #define LCD_C_SEGMENT_LINE_30 (30)
      +
      376 #define LCD_C_SEGMENT_LINE_31 (31)
      +
      377 #define LCD_C_SEGMENT_LINE_32 (32)
      +
      378 #define LCD_C_SEGMENT_LINE_33 (33)
      +
      379 #define LCD_C_SEGMENT_LINE_34 (34)
      +
      380 #define LCD_C_SEGMENT_LINE_35 (35)
      +
      381 #define LCD_C_SEGMENT_LINE_36 (36)
      +
      382 #define LCD_C_SEGMENT_LINE_37 (37)
      +
      383 #define LCD_C_SEGMENT_LINE_38 (38)
      +
      384 #define LCD_C_SEGMENT_LINE_39 (39)
      +
      385 #define LCD_C_SEGMENT_LINE_40 (40)
      +
      386 #define LCD_C_SEGMENT_LINE_41 (41)
      +
      387 #define LCD_C_SEGMENT_LINE_42 (42)
      +
      388 #define LCD_C_SEGMENT_LINE_43 (43)
      +
      389 #define LCD_C_SEGMENT_LINE_44 (44)
      +
      390 #define LCD_C_SEGMENT_LINE_45 (45)
      +
      391 #define LCD_C_SEGMENT_LINE_46 (46)
      +
      392 #define LCD_C_SEGMENT_LINE_47 (47)
      +
      393 #define LCD_C_SEGMENT_LINE_48 (48)
      +
      394 #define LCD_C_SEGMENT_LINE_49 (49)
      +
      395 #define LCD_C_SEGMENT_LINE_50 (50)
      +
      396 #define LCD_C_SEGMENT_LINE_51 (51)
      +
      397 #define LCD_C_SEGMENT_LINE_52 (52)
      +
      398 #define LCD_C_SEGMENT_LINE_53 (53)
      +
      399 #define LCD_C_SEGMENT_LINE_54 (54)
      +
      400 #define LCD_C_SEGMENT_LINE_55 (55)
      +
      401 #define LCD_C_SEGMENT_LINE_56 (56)
      +
      402 #define LCD_C_SEGMENT_LINE_57 (57)
      +
      403 #define LCD_C_SEGMENT_LINE_58 (58)
      +
      404 #define LCD_C_SEGMENT_LINE_59 (59)
      +
      405 #define LCD_C_SEGMENT_LINE_60 (60)
      +
      406 #define LCD_C_SEGMENT_LINE_61 (61)
      +
      407 #define LCD_C_SEGMENT_LINE_62 (62)
      +
      408 #define LCD_C_SEGMENT_LINE_63 (63)
      +
      409 
      +
      410 //*****************************************************************************
      +
      411 //
      +
      412 // The following are values that can be passed to the syncToClock parameter for
      +
      413 // functions: LCD_C_configChargePump().
      +
      414 //
      +
      415 //*****************************************************************************
      +
      416 #define LCD_C_SYNCHRONIZATION_DISABLED (0x0)
      +
      417 #define LCD_C_SYNCHRONIZATION_ENABLED (LCDCPCLKSYNC)
      +
      418 
      +
      419 //*****************************************************************************
      +
      420 //
      +
      421 // Prototypes for the APIs.
      +
      422 //
      +
      423 //*****************************************************************************
      +
      424 
      +
      425 //*****************************************************************************
      +
      426 //
      +
      439 //
      +
      440 //*****************************************************************************
      +
      441 extern void LCD_C_init(uint16_t baseAddress,
      +
      442  LCD_C_initParam *initParams);
      +
      443 
      +
      444 //*****************************************************************************
      +
      445 //
      +
      453 //
      +
      454 //*****************************************************************************
      +
      455 extern void LCD_C_on(uint16_t baseAddress);
      +
      456 
      +
      457 //*****************************************************************************
      +
      458 //
      +
      466 //
      +
      467 //*****************************************************************************
      +
      468 extern void LCD_C_off(uint16_t baseAddress);
      +
      469 
      +
      470 //*****************************************************************************
      +
      471 //
      +
      485 //
      +
      486 //*****************************************************************************
      +
      487 extern void LCD_C_clearInterrupt(uint16_t baseAddress,
      +
      488  uint16_t mask);
      +
      489 
      +
      490 //*****************************************************************************
      +
      491 //
      +
      509 //
      +
      510 //*****************************************************************************
      +
      511 extern uint16_t LCD_C_getInterruptStatus(uint16_t baseAddress,
      +
      512  uint16_t mask);
      +
      513 
      +
      514 //*****************************************************************************
      +
      515 //
      +
      529 //
      +
      530 //*****************************************************************************
      +
      531 extern void LCD_C_enableInterrupt(uint16_t baseAddress,
      +
      532  uint16_t mask);
      +
      533 
      +
      534 //*****************************************************************************
      +
      535 //
      +
      549 //
      +
      550 //*****************************************************************************
      +
      551 extern void LCD_C_disableInterrupt(uint16_t baseAddress,
      +
      552  uint16_t mask);
      +
      553 
      +
      554 //*****************************************************************************
      +
      555 //
      +
      563 //
      +
      564 //*****************************************************************************
      +
      565 extern void LCD_C_clearMemory(uint16_t baseAddress);
      +
      566 
      +
      567 //*****************************************************************************
      +
      568 //
      +
      576 //
      +
      577 //*****************************************************************************
      +
      578 extern void LCD_C_clearBlinkingMemory(uint16_t baseAddress);
      +
      579 
      +
      580 //*****************************************************************************
      +
      581 //
      +
      599 //
      +
      600 //*****************************************************************************
      +
      601 extern void LCD_C_selectDisplayMemory(uint16_t baseAddress,
      +
      602  uint16_t displayMemory);
      +
      603 
      +
      604 //*****************************************************************************
      +
      605 //
      +
      633 //
      +
      634 //*****************************************************************************
      +
      635 extern void LCD_C_setBlinkingControl(uint16_t baseAddress,
      +
      636  uint8_t clockDivider,
      +
      637  uint8_t clockPrescalar,
      +
      638  uint8_t mode);
      +
      639 
      +
      640 //*****************************************************************************
      +
      641 //
      +
      650 //
      +
      651 //*****************************************************************************
      +
      652 extern void LCD_C_enableChargePump(uint16_t baseAddress);
      +
      653 
      +
      654 //*****************************************************************************
      +
      655 //
      +
      664 //
      +
      665 //*****************************************************************************
      +
      666 extern void LCD_C_disableChargePump(uint16_t baseAddress);
      +
      667 
      +
      668 //*****************************************************************************
      +
      669 //
      +
      682 //
      +
      683 //*****************************************************************************
      +
      684 extern void LCD_C_selectBias(uint16_t baseAddress,
      +
      685  uint16_t bias);
      +
      686 
      +
      687 //*****************************************************************************
      +
      688 //
      +
      708 //
      +
      709 //*****************************************************************************
      +
      710 extern void LCD_C_selectChargePumpReference(uint16_t baseAddress,
      +
      711  uint16_t reference);
      +
      712 
      +
      713 //*****************************************************************************
      +
      714 //
      +
      743 //
      +
      744 //*****************************************************************************
      +
      745 extern void LCD_C_setVLCDSource(uint16_t baseAddress,
      +
      746  uint16_t vlcdSource,
      +
      747  uint16_t v2v3v4Source,
      +
      748  uint16_t v5Source);
      +
      749 
      +
      750 //*****************************************************************************
      +
      751 //
      +
      780 //
      +
      781 //*****************************************************************************
      +
      782 extern void LCD_C_setVLCDVoltage(uint16_t baseAddress,
      +
      783  uint16_t voltage);
      +
      784 
      +
      785 //*****************************************************************************
      +
      786 //
      +
      861 //
      +
      862 //*****************************************************************************
      +
      863 extern void LCD_C_setPinAsLCDFunction(uint16_t baseAddress,
      +
      864  uint8_t pin);
      +
      865 
      +
      866 //*****************************************************************************
      +
      867 //
      +
      942 //
      +
      943 //*****************************************************************************
      +
      944 extern void LCD_C_setPinAsPortFunction(uint16_t baseAddress,
      +
      945  uint8_t pin);
      +
      946 
      +
      947 //*****************************************************************************
      +
      948 //
      +
      1092 //
      +
      1093 //*****************************************************************************
      +
      1094 extern void LCD_C_setPinAsLCDFunctionEx(uint16_t baseAddress,
      +
      1095  uint8_t startPin,
      +
      1096  uint8_t endPin);
      +
      1097 
      +
      1098 //*****************************************************************************
      +
      1099 //
      +
      1174 //
      +
      1175 //*****************************************************************************
      +
      1176 extern void LCD_C_setMemory(uint16_t baseAddress,
      +
      1177  uint8_t pin,
      +
      1178  uint8_t value);
      +
      1179 
      +
      1180 //*****************************************************************************
      +
      1181 //
      +
      1186 //
      +
      1187 //*****************************************************************************
      +
      1188 extern uint8_t LCD_C_getMemory(uint16_t baseAddress,
      +
      1189  uint8_t pin);
      +
      1190 
      +
      1191 //*****************************************************************************
      +
      1192 //
      +
      1200 //
      +
      1201 //*****************************************************************************
      +
      1202 extern void LCD_C_setMemoryWithoutOverwrite(uint16_t baseAddress,
      +
      1203  uint8_t pin,
      +
      1204  uint8_t value);
      +
      1205 
      +
      1206 //*****************************************************************************
      +
      1207 //
      +
      1282 //
      +
      1283 //*****************************************************************************
      +
      1284 extern void LCD_C_setBlinkingMemory(uint16_t baseAddress,
      +
      1285  uint8_t pin,
      +
      1286  uint8_t value);
      +
      1287 
      +
      1288 //*****************************************************************************
      +
      1289 //
      +
      1294 //
      +
      1295 //*****************************************************************************
      +
      1296 extern uint8_t LCD_C_getBlinkingMemory(uint16_t baseAddress,
      +
      1297  uint8_t pin);
      +
      1298 
      +
      1299 //*****************************************************************************
      +
      1300 //
      +
      1308 //
      +
      1309 //*****************************************************************************
      +
      1310 extern void LCD_C_setBlinkingMemoryWithoutOverwrite(uint16_t baseAddress,
      +
      1311  uint8_t pin,
      +
      1312  uint8_t value);
      +
      1313 
      +
      1314 //*****************************************************************************
      +
      1315 //
      +
      1332 //
      +
      1333 //*****************************************************************************
      +
      1334 extern void LCD_C_configChargePump(uint16_t baseAddress,
      +
      1335  uint16_t syncToClock,
      +
      1336  uint16_t functionControl);
      +
      1337 
      +
      1338 //*****************************************************************************
      +
      1339 //
      +
      1340 // Mark the end of the C bindings section for C++ compilers.
      +
      1341 //
      +
      1342 //*****************************************************************************
      +
      1343 #ifdef __cplusplus
      +
      1344 }
      +
      1345 #endif
      +
      1346 
      +
      1347 #endif
      +
      1348 #endif // __MSP430WARE_LCD_C_H__
      + +
      +
      + + + + diff --git a/Documentation/html/ldopwr_8c.html b/Documentation/html/ldopwr_8c.html new file mode 100644 index 0000000..de2bac1 --- /dev/null +++ b/Documentation/html/ldopwr_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ldopwr.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ldopwr.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/ldopwr_8c_source.html b/Documentation/html/ldopwr_8c_source.html new file mode 100644 index 0000000..b276fc9 --- /dev/null +++ b/Documentation/html/ldopwr_8c_source.html @@ -0,0 +1,272 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ldopwr.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ldopwr.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // ldopwr.c - Driver for the ldopwr Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_PU__
      +
      17 #include "ldopwr.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void LDOPWR_unLockConfiguration ( uint16_t baseAddress )
      +
      22 {
      +
      23  HWREG16(baseAddress + OFS_LDOKEYPID) = 0x9628;
      +
      24 }
      +
      25 
      +
      26 void LDOPWR_lockConfiguration ( uint16_t baseAddress )
      +
      27 {
      +
      28  HWREG16(baseAddress + OFS_LDOKEYPID) = 0x0000;
      +
      29 }
      +
      30 
      +
      31 void LDOPWR_enablePort_U_inputs (uint16_t baseAddress )
      +
      32 {
      +
      33  HWREG8(baseAddress + OFS_PUCTL_H) |= PUIPE_H;
      +
      34 }
      +
      35 
      +
      36 void LDOPWR_disablePort_U_inputs (uint16_t baseAddress )
      +
      37 {
      +
      38  HWREG8(baseAddress + OFS_PUCTL_H) &= ~PUIPE_H;
      +
      39 }
      +
      40 
      +
      41 void LDOPWR_enablePort_U_outputs (uint16_t baseAddress )
      +
      42 {
      +
      43  HWREG8(baseAddress + OFS_PUCTL_L) |= PUOPE;
      +
      44 }
      +
      45 
      +
      46 void LDOPWR_disablePort_U_outputs (uint16_t baseAddress )
      +
      47 {
      +
      48  HWREG8(baseAddress + OFS_PUCTL_L) &= ~PUOPE;
      +
      49 }
      +
      50 
      +
      51 uint8_t LDOPWR_getPort_U1_inputData (uint16_t baseAddress )
      +
      52 {
      +
      53  return ((HWREG8(baseAddress + OFS_PUCTL_L) & PUIN1) >> 3 );
      +
      54 }
      +
      55 
      +
      56 uint8_t LDOPWR_getPort_U0_inputData (uint16_t baseAddress )
      +
      57 {
      +
      58  return ((HWREG8(baseAddress + OFS_PUCTL_L) & PUIN0) >> 2 );
      +
      59 }
      +
      60 
      +
      61 uint8_t LDOPWR_getPort_U1_outputData (uint16_t baseAddress )
      +
      62 {
      +
      63  return ((HWREG8(baseAddress + OFS_PUCTL_L) & PUOUT1) >> 1 );
      +
      64 }
      +
      65 
      +
      66 uint8_t LDOPWR_getPort_U0_outputData (uint16_t baseAddress )
      +
      67 {
      +
      68  return (HWREG8(baseAddress + OFS_PUCTL_L) & PUOUT0);
      +
      69 }
      +
      70 
      +
      71 void LDOPWR_setPort_U1_outputData (uint16_t baseAddress,
      +
      72  uint8_t value
      +
      73  )
      +
      74 {
      +
      75  if (LDOPWR_PORTU_PIN_HIGH == value){
      +
      76  HWREG8(baseAddress + OFS_PUCTL_L) |= PUOUT1;
      +
      77  } else {
      +
      78  HWREG8(baseAddress + OFS_PUCTL_L) &= ~PUOUT1;
      +
      79  }
      +
      80 }
      +
      81 
      +
      82 void LDOPWR_setPort_U0_outputData (uint16_t baseAddress,
      +
      83  uint8_t value
      +
      84  )
      +
      85 {
      +
      86  if (LDOPWR_PORTU_PIN_HIGH == value){
      +
      87  HWREG8(baseAddress + OFS_PUCTL_L) |= PUOUT0;
      +
      88  } else {
      +
      89  HWREG8(baseAddress + OFS_PUCTL_L) &= ~PUOUT0;
      +
      90  }
      +
      91 }
      +
      92 
      +
      93 void LDOPWR_togglePort_U1_outputData (uint16_t baseAddress)
      +
      94 {
      +
      95  HWREG8(baseAddress + OFS_PUCTL_L) ^= PUOUT1;
      +
      96 }
      +
      97 
      +
      98 void LDOPWR_togglePort_U0_outputData (uint16_t baseAddress)
      +
      99 {
      +
      100  HWREG8(baseAddress + OFS_PUCTL_L) ^= PUOUT0;
      +
      101 }
      +
      102 
      +
      103 void LDOPWR_enableInterrupt (uint16_t baseAddress,
      +
      104  uint16_t mask
      +
      105  )
      +
      106 {
      +
      107  HWREG8(baseAddress + OFS_LDOPWRCTL_H) |= mask;
      +
      108 }
      +
      109 
      +
      110 void LDOPWR_disableInterrupt (uint16_t baseAddress,
      +
      111  uint16_t mask
      +
      112  )
      +
      113 {
      +
      114  HWREG8(baseAddress + OFS_LDOPWRCTL_H) &= ~mask;
      +
      115 }
      +
      116 
      +
      117 void LDOPWR_enable (uint16_t baseAddress)
      +
      118 {
      +
      119  HWREG8(baseAddress + OFS_LDOPWRCTL_H) |= LDOOEN_H;
      +
      120 }
      +
      121 
      +
      122 void LDOPWR_disable (uint16_t baseAddress)
      +
      123 {
      +
      124  HWREG8(baseAddress + OFS_LDOPWRCTL_H) &= ~LDOOEN_H;
      +
      125 }
      +
      126 
      +
      127 uint8_t LDOPWR_getInterruptStatus (uint16_t baseAddress,
      +
      128  uint16_t mask
      +
      129  )
      +
      130 {
      +
      131  return (HWREG8(baseAddress + OFS_LDOPWRCTL_L) & mask);
      +
      132 }
      +
      133 
      +
      134 void LDOPWR_clearInterrupt (uint16_t baseAddress,
      +
      135  uint16_t mask
      +
      136  )
      +
      137 {
      +
      138  HWREG8(baseAddress + OFS_LDOPWRCTL_L) &= ~mask;
      +
      139 }
      +
      140 
      +
      141 uint8_t LDOPWR_isLDOInputValid (uint16_t baseAddress)
      +
      142 {
      +
      143  return (HWREG8(baseAddress + OFS_LDOPWRCTL_L) & LDOBGVBV);
      +
      144 }
      +
      145 
      +
      146 void LDOPWR_enableOverloadAutoOff (uint16_t baseAddress)
      +
      147 {
      +
      148  HWREG8(baseAddress + OFS_LDOPWRCTL_L) |= OVLAOFF_L;
      +
      149 }
      +
      150 
      +
      151 void LDOPWR_disableOverloadAutoOff (uint16_t baseAddress)
      +
      152 {
      +
      153  HWREG8(baseAddress + OFS_LDOPWRCTL_L) &= ~OVLAOFF_L;
      +
      154 }
      +
      155 
      +
      156 uint8_t LDOPWR_getOverloadAutoOffStatus (uint16_t baseAddress)
      +
      157 {
      +
      158  return (HWREG8(baseAddress + OFS_LDOPWRCTL_L) & OVLAOFF_L);
      +
      159 }
      +
      160 
      +
      161 #endif
      +
      162 //*****************************************************************************
      +
      163 //
      +
      166 //
      +
      167 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/ldopwr_8h.html b/Documentation/html/ldopwr_8h.html new file mode 100644 index 0000000..8e56ccf --- /dev/null +++ b/Documentation/html/ldopwr_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ldopwr.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ldopwr.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/ldopwr_8h_source.html b/Documentation/html/ldopwr_8h_source.html new file mode 100644 index 0000000..2412faa --- /dev/null +++ b/Documentation/html/ldopwr_8h_source.html @@ -0,0 +1,340 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ldopwr.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ldopwr.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // ldopwr.h - Driver for the LDOPWR Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_LDOPWR_H__
      +
      8 #define __MSP430WARE_LDOPWR_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_PU__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 //*****************************************************************************
      +
      26 //
      +
      27 // The following are values that can be passed to the value parameter for
      +
      28 // functions: LDOPWR_setPort_U1_outputData(), and
      +
      29 // LDOPWR_setPort_U0_outputData() as well as returned by the
      +
      30 // LDOPWR_getPort_U1_inputData() function, the LDOPWR_getPort_U0_inputData()
      +
      31 // function, the LDOPWR_getPort_U1_outputData() function and the
      +
      32 // LDOPWR_getPort_U0_outputData() function.
      +
      33 //
      +
      34 //*****************************************************************************
      +
      35 #define LDOPWR_PORTU_PIN_HIGH PUOUT0
      +
      36 #define LDOPWR_PORTU_PIN_LOW 0x00
      +
      37 
      +
      38 //*****************************************************************************
      +
      39 //
      +
      40 // The following are values that can be passed toThe following are values that
      +
      41 // can be returned by the LDOPWR_isLDOInputValid() function.
      +
      42 //
      +
      43 //*****************************************************************************
      +
      44 #define LDOPWR_LDO_INPUT_VALID LDOBGVBV
      +
      45 #define LDOPWR_LDO_INPUT_INVALID 0x00
      +
      46 
      +
      47 //*****************************************************************************
      +
      48 //
      +
      49 // The following are values that can be passed toThe following are values that
      +
      50 // can be returned by the LDOPWR_getOverloadAutoOffStatus() function.
      +
      51 //
      +
      52 //*****************************************************************************
      +
      53 #define LDOPWR_AUTOOFF_ENABLED OVLAOFF_H
      +
      54 #define LDOPWR_AUTOOFF_DISABLED 0x00
      +
      55 
      +
      56 //*****************************************************************************
      +
      57 //
      +
      58 // The following are values that can be passed to the mask parameter for
      +
      59 // functions: LDOPWR_enableInterrupt(), LDOPWR_disableInterrupt(),
      +
      60 // LDOPWR_getInterruptStatus(), and LDOPWR_clearInterrupt() as well as returned
      +
      61 // by the LDOPWR_getInterruptStatus() function.
      +
      62 //
      +
      63 //*****************************************************************************
      +
      64 #define LDOPWR_LDOI_VOLTAGE_GOING_OFF_INTERRUPT LDOOFFIE_H
      +
      65 #define LDOPWR_LDOI_VOLTAGE_COMING_ON_INTERRUPT LDOONIE_H
      +
      66 #define LDOPWR_LDO_OVERLOAD_INDICATION_INTERRUPT LDOOVLIE_H
      +
      67 
      +
      68 //*****************************************************************************
      +
      69 //
      +
      70 // Prototypes for the APIs.
      +
      71 //
      +
      72 //*****************************************************************************
      +
      73 
      +
      74 //*****************************************************************************
      +
      75 //
      +
      83 //
      +
      84 //*****************************************************************************
      +
      85 extern void LDOPWR_unLockConfiguration(uint16_t baseAddress);
      +
      86 
      +
      87 //*****************************************************************************
      +
      88 //
      +
      96 //
      +
      97 //*****************************************************************************
      +
      98 extern void LDOPWR_lockConfiguration(uint16_t baseAddress);
      +
      99 
      +
      100 //*****************************************************************************
      +
      101 //
      +
      109 //
      +
      110 //*****************************************************************************
      +
      111 extern void LDOPWR_enablePort_U_inputs(uint16_t baseAddress);
      +
      112 
      +
      113 //*****************************************************************************
      +
      114 //
      +
      122 //
      +
      123 //*****************************************************************************
      +
      124 extern void LDOPWR_disablePort_U_inputs(uint16_t baseAddress);
      +
      125 
      +
      126 //*****************************************************************************
      +
      127 //
      +
      135 //
      +
      136 //*****************************************************************************
      +
      137 extern void LDOPWR_enablePort_U_outputs(uint16_t baseAddress);
      +
      138 
      +
      139 //*****************************************************************************
      +
      140 //
      +
      148 //
      +
      149 //*****************************************************************************
      +
      150 extern void LDOPWR_disablePort_U_outputs(uint16_t baseAddress);
      +
      151 
      +
      152 //*****************************************************************************
      +
      153 //
      +
      161 //
      +
      162 //*****************************************************************************
      +
      163 extern uint8_t LDOPWR_getPort_U1_inputData(uint16_t baseAddress);
      +
      164 
      +
      165 //*****************************************************************************
      +
      166 //
      +
      174 //
      +
      175 //*****************************************************************************
      +
      176 extern uint8_t LDOPWR_getPort_U0_inputData(uint16_t baseAddress);
      +
      177 
      +
      178 //*****************************************************************************
      +
      179 //
      +
      187 //
      +
      188 //*****************************************************************************
      +
      189 extern uint8_t LDOPWR_getPort_U1_outputData(uint16_t baseAddress);
      +
      190 
      +
      191 //*****************************************************************************
      +
      192 //
      +
      200 //
      +
      201 //*****************************************************************************
      +
      202 extern uint8_t LDOPWR_getPort_U0_outputData(uint16_t baseAddress);
      +
      203 
      +
      204 //*****************************************************************************
      +
      205 //
      +
      217 //
      +
      218 //*****************************************************************************
      +
      219 extern void LDOPWR_setPort_U1_outputData(uint16_t baseAddress,
      +
      220  uint8_t value);
      +
      221 
      +
      222 //*****************************************************************************
      +
      223 //
      +
      235 //
      +
      236 //*****************************************************************************
      +
      237 extern void LDOPWR_setPort_U0_outputData(uint16_t baseAddress,
      +
      238  uint8_t value);
      +
      239 
      +
      240 //*****************************************************************************
      +
      241 //
      +
      249 //
      +
      250 //*****************************************************************************
      +
      251 extern void LDOPWR_togglePort_U1_outputData(uint16_t baseAddress);
      +
      252 
      +
      253 //*****************************************************************************
      +
      254 //
      +
      262 //
      +
      263 //*****************************************************************************
      +
      264 extern void LDOPWR_togglePort_U0_outputData(uint16_t baseAddress);
      +
      265 
      +
      266 //*****************************************************************************
      +
      267 //
      +
      282 //
      +
      283 //*****************************************************************************
      +
      284 extern void LDOPWR_enableInterrupt(uint16_t baseAddress,
      +
      285  uint16_t mask);
      +
      286 
      +
      287 //*****************************************************************************
      +
      288 //
      +
      301 //
      +
      302 //*****************************************************************************
      +
      303 extern void LDOPWR_disableInterrupt(uint16_t baseAddress,
      +
      304  uint16_t mask);
      +
      305 
      +
      306 //*****************************************************************************
      +
      307 //
      +
      315 //
      +
      316 //*****************************************************************************
      +
      317 extern void LDOPWR_enable(uint16_t baseAddress);
      +
      318 
      +
      319 //*****************************************************************************
      +
      320 //
      +
      328 //
      +
      329 //*****************************************************************************
      +
      330 extern void LDOPWR_disable(uint16_t baseAddress);
      +
      331 
      +
      332 //*****************************************************************************
      +
      333 //
      +
      348 //
      +
      349 //*****************************************************************************
      +
      350 extern uint8_t LDOPWR_getInterruptStatus(uint16_t baseAddress,
      +
      351  uint16_t mask);
      +
      352 
      +
      353 //*****************************************************************************
      +
      354 //
      +
      367 //
      +
      368 //*****************************************************************************
      +
      369 extern void LDOPWR_clearInterrupt(uint16_t baseAddress,
      +
      370  uint16_t mask);
      +
      371 
      +
      372 //*****************************************************************************
      +
      373 //
      +
      381 //
      +
      382 //*****************************************************************************
      +
      383 extern uint8_t LDOPWR_isLDOInputValid(uint16_t baseAddress);
      +
      384 
      +
      385 //*****************************************************************************
      +
      386 //
      +
      394 //
      +
      395 //*****************************************************************************
      +
      396 extern void LDOPWR_enableOverloadAutoOff(uint16_t baseAddress);
      +
      397 
      +
      398 //*****************************************************************************
      +
      399 //
      +
      407 //
      +
      408 //*****************************************************************************
      +
      409 extern void LDOPWR_disableOverloadAutoOff(uint16_t baseAddress);
      +
      410 
      +
      411 //*****************************************************************************
      +
      412 //
      +
      420 //
      +
      421 //*****************************************************************************
      +
      422 extern uint8_t LDOPWR_getOverloadAutoOffStatus(uint16_t baseAddress);
      +
      423 
      +
      424 //*****************************************************************************
      +
      425 //
      +
      426 // Mark the end of the C bindings section for C++ compilers.
      +
      427 //
      +
      428 //*****************************************************************************
      +
      429 #ifdef __cplusplus
      +
      430 }
      +
      431 #endif
      +
      432 
      +
      433 #endif
      +
      434 #endif // __MSP430WARE_LDOPWR_H__
      + +
      +
      + + + + diff --git a/Documentation/html/lextab_8py.html b/Documentation/html/lextab_8py.html new file mode 100644 index 0000000..ecd6be3 --- /dev/null +++ b/Documentation/html/lextab_8py.html @@ -0,0 +1,115 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/lextab.py File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      + +
      +
      lextab.py File Reference
      +
      +
      + +

      Go to the source code of this file.

      + + + + +

      +Namespaces

       lextab
       
      +
      +
      + + + + diff --git a/Documentation/html/lextab_8py.js b/Documentation/html/lextab_8py.js new file mode 100644 index 0000000..c5a92af --- /dev/null +++ b/Documentation/html/lextab_8py.js @@ -0,0 +1,12 @@ +var lextab_8py = +[ + [ "_lexliterals", "lextab_8py.html#af2fc66f624e68f793ca308e3bbc69555", null ], + [ "_lexreflags", "lextab_8py.html#ac0d70021ec02e1f746b1a096c9b2e7b9", null ], + [ "_lexstateeoff", "lextab_8py.html#a3e390fda9edffbfa643a3cbbbe979d98", null ], + [ "_lexstateerrorf", "lextab_8py.html#a3a980a86e347674f515e535218236847", null ], + [ "_lexstateignore", "lextab_8py.html#a11962012771d8dd780764eb0fefe1263", null ], + [ "_lexstateinfo", "lextab_8py.html#a83760cc9fe025780564252e1824df1e2", null ], + [ "_lexstatere", "lextab_8py.html#a934157bd68b1e69048006afaa2c0a6cf", null ], + [ "_lextokens", "lextab_8py.html#a4d80053030ab94e1c166b59c4ecb3622", null ], + [ "_tabversion", "lextab_8py.html#acedf8869d5422e43b52dc50f808b0cb0", null ] +]; \ No newline at end of file diff --git a/Documentation/html/lextab_8py_source.html b/Documentation/html/lextab_8py_source.html new file mode 100644 index 0000000..70c2beb --- /dev/null +++ b/Documentation/html/lextab_8py_source.html @@ -0,0 +1,115 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/lextab.py Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      lextab.py
      +
      +
      +Go to the documentation of this file.
      1 # lextab.py. This file automatically created by PLY (version 3.8). Don't edit!
      +
      2 _tabversion = '3.8'
      +
      3 _lextokens = set(['VOID', 'LBRACKET', 'WCHAR_CONST', 'FLOAT_CONST', 'MINUS', 'RPAREN', 'LONG', 'PLUS', 'ELLIPSIS', 'GT', 'GOTO', 'ENUM', 'PERIOD', 'GE', 'INT_CONST_DEC', 'ARROW', 'HEX_FLOAT_CONST', 'DOUBLE', 'MINUSEQUAL', 'INT_CONST_OCT', 'TIMESEQUAL', 'OR', 'SHORT', 'RETURN', 'RSHIFTEQUAL', 'RESTRICT', 'STATIC', 'SIZEOF', 'UNSIGNED', 'UNION', 'COLON', 'WSTRING_LITERAL', 'DIVIDE', 'FOR', 'PLUSPLUS', 'EQUALS', 'ELSE', 'INLINE', 'EQ', 'AND', 'TYPEID', 'LBRACE', 'PPHASH', 'INT', 'SIGNED', 'CONTINUE', 'NOT', 'OREQUAL', 'MOD', 'RSHIFT', 'DEFAULT', 'CHAR', 'WHILE', 'DIVEQUAL', 'EXTERN', 'CASE', 'LAND', 'REGISTER', 'MODEQUAL', 'NE', 'SWITCH', 'INT_CONST_HEX', '_COMPLEX', 'PPPRAGMASTR', 'PLUSEQUAL', 'STRUCT', 'CONDOP', 'BREAK', 'VOLATILE', 'PPPRAGMA', 'ANDEQUAL', 'INT_CONST_BIN', 'DO', 'LNOT', 'CONST', 'LOR', 'CHAR_CONST', 'LSHIFT', 'RBRACE', '_BOOL', 'LE', 'SEMI', 'LT', 'COMMA', 'OFFSETOF', 'TYPEDEF', 'XOR', 'AUTO', 'TIMES', 'LPAREN', 'MINUSMINUS', 'ID', 'IF', 'STRING_LITERAL', 'FLOAT', 'XOREQUAL', 'LSHIFTEQUAL', 'RBRACKET'])
      +
      4 _lexreflags = 0
      +
      5 _lexliterals = ''
      +
      6 _lexstateinfo = {'ppline': 'exclusive', 'pppragma': 'exclusive', 'INITIAL': 'inclusive'}
      +
      7 _lexstatere = {'ppline': [('(?P<t_ppline_FILENAME>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_ppline_LINE_NUMBER>(0(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|([1-9][0-9]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?))|(?P<t_ppline_NEWLINE>\\n)|(?P<t_ppline_PPLINE>line)', [None, ('t_ppline_FILENAME', 'FILENAME'), None, None, None, None, None, None, ('t_ppline_LINE_NUMBER', 'LINE_NUMBER'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_ppline_NEWLINE', 'NEWLINE'), ('t_ppline_PPLINE', 'PPLINE')])], 'pppragma': [('(?P<t_pppragma_NEWLINE>\\n)|(?P<t_pppragma_PPPRAGMA>pragma)|(?P<t_pppragma_STR>.+)', [None, ('t_pppragma_NEWLINE', 'NEWLINE'), ('t_pppragma_PPPRAGMA', 'PPPRAGMA'), ('t_pppragma_STR', 'STR')])], 'INITIAL': [('(?P<t_PPHASH>[ \\t]*\\#)|(?P<t_NEWLINE>\\n+)|(?P<t_LBRACE>\\{)|(?P<t_RBRACE>\\})|(?P<t_FLOAT_CONST>((((([0-9]*\\.[0-9]+)|([0-9]+\\.))([eE][-+]?[0-9]+)?)|([0-9]+([eE][-+]?[0-9]+)))[FfLl]?))|(?P<t_HEX_FLOAT_CONST>(0[xX]([0-9a-fA-F]+|((([0-9a-fA-F]+)?\\.[0-9a-fA-F]+)|([0-9a-fA-F]+\\.)))([pP][+-]?[0-9]+)[FfLl]?))|(?P<t_INT_CONST_HEX>0[xX][0-9a-fA-F]+(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)', [None, ('t_PPHASH', 'PPHASH'), ('t_NEWLINE', 'NEWLINE'), ('t_LBRACE', 'LBRACE'), ('t_RBRACE', 'RBRACE'), ('t_FLOAT_CONST', 'FLOAT_CONST'), None, None, None, None, None, None, None, None, None, ('t_HEX_FLOAT_CONST', 'HEX_FLOAT_CONST'), None, None, None, None, None, None, None, ('t_INT_CONST_HEX', 'INT_CONST_HEX')]), ('(?P<t_INT_CONST_BIN>0[bB][01]+(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|(?P<t_BAD_CONST_OCT>0[0-7]*[89])|(?P<t_INT_CONST_OCT>0[0-7]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|(?P<t_INT_CONST_DEC>(0(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?)|([1-9][0-9]*(([uU]ll)|([uU]LL)|(ll[uU]?)|(LL[uU]?)|([uU][lL])|([lL][uU]?)|[uU])?))|(?P<t_CHAR_CONST>\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))\')|(?P<t_WCHAR_CONST>L\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))\')|(?P<t_UNMATCHED_QUOTE>(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*\\n)|(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*$))|(?P<t_BAD_CHAR_CONST>(\'([^\'\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))[^\'\n]+\')|(\'\')|(\'([\\\\][^a-zA-Z._~^!=&\\^\\-\\\\?\'"x0-7])[^\'\\n]*\'))', [None, ('t_INT_CONST_BIN', 'INT_CONST_BIN'), None, None, None, None, None, None, None, ('t_BAD_CONST_OCT', 'BAD_CONST_OCT'), ('t_INT_CONST_OCT', 'INT_CONST_OCT'), None, None, None, None, None, None, None, ('t_INT_CONST_DEC', 'INT_CONST_DEC'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_CHAR_CONST', 'CHAR_CONST'), None, None, None, None, None, None, ('t_WCHAR_CONST', 'WCHAR_CONST'), None, None, None, None, None, None, ('t_UNMATCHED_QUOTE', 'UNMATCHED_QUOTE'), None, None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_BAD_CHAR_CONST', 'BAD_CHAR_CONST')]), ('(?P<t_WSTRING_LITERAL>L"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_BAD_STRING_LITERAL>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*?([\\\\][^a-zA-Z._~^!=&\\^\\-\\\\?\'"x0-7])([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_ID>[a-zA-Z_$][0-9a-zA-Z_$]*)|(?P<t_STRING_LITERAL>"([^"\\\\\\n]|(\\\\(([a-zA-Z._~!=&\\^\\-\\\\?\'"])|(\\d+)|(x[0-9a-fA-F]+))))*")|(?P<t_ELLIPSIS>\\.\\.\\.)|(?P<t_PLUSPLUS>\\+\\+)|(?P<t_LOR>\\|\\|)|(?P<t_XOREQUAL>\\^=)|(?P<t_OREQUAL>\\|=)|(?P<t_LSHIFTEQUAL><<=)|(?P<t_RSHIFTEQUAL>>>=)|(?P<t_PLUSEQUAL>\\+=)|(?P<t_TIMESEQUAL>\\*=)|(?P<t_PLUS>\\+)|(?P<t_MODEQUAL>%=)|(?P<t_DIVEQUAL>/=)', [None, ('t_WSTRING_LITERAL', 'WSTRING_LITERAL'), None, None, None, None, None, None, ('t_BAD_STRING_LITERAL', 'BAD_STRING_LITERAL'), None, None, None, None, None, None, None, None, None, None, None, None, None, ('t_ID', 'ID'), (None, 'STRING_LITERAL'), None, None, None, None, None, None, (None, 'ELLIPSIS'), (None, 'PLUSPLUS'), (None, 'LOR'), (None, 'XOREQUAL'), (None, 'OREQUAL'), (None, 'LSHIFTEQUAL'), (None, 'RSHIFTEQUAL'), (None, 'PLUSEQUAL'), (None, 'TIMESEQUAL'), (None, 'PLUS'), (None, 'MODEQUAL'), (None, 'DIVEQUAL')]), ('(?P<t_RBRACKET>\\])|(?P<t_CONDOP>\\?)|(?P<t_XOR>\\^)|(?P<t_LSHIFT><<)|(?P<t_LE><=)|(?P<t_LPAREN>\\()|(?P<t_ARROW>->)|(?P<t_EQ>==)|(?P<t_NE>!=)|(?P<t_MINUSMINUS>--)|(?P<t_OR>\\|)|(?P<t_TIMES>\\*)|(?P<t_LBRACKET>\\[)|(?P<t_GE>>=)|(?P<t_RPAREN>\\))|(?P<t_LAND>&&)|(?P<t_RSHIFT>>>)|(?P<t_MINUSEQUAL>-=)|(?P<t_PERIOD>\\.)|(?P<t_ANDEQUAL>&=)|(?P<t_EQUALS>=)|(?P<t_LT><)|(?P<t_COMMA>,)|(?P<t_DIVIDE>/)|(?P<t_AND>&)|(?P<t_MOD>%)|(?P<t_SEMI>;)|(?P<t_MINUS>-)|(?P<t_GT>>)|(?P<t_COLON>:)|(?P<t_NOT>~)|(?P<t_LNOT>!)', [None, (None, 'RBRACKET'), (None, 'CONDOP'), (None, 'XOR'), (None, 'LSHIFT'), (None, 'LE'), (None, 'LPAREN'), (None, 'ARROW'), (None, 'EQ'), (None, 'NE'), (None, 'MINUSMINUS'), (None, 'OR'), (None, 'TIMES'), (None, 'LBRACKET'), (None, 'GE'), (None, 'RPAREN'), (None, 'LAND'), (None, 'RSHIFT'), (None, 'MINUSEQUAL'), (None, 'PERIOD'), (None, 'ANDEQUAL'), (None, 'EQUALS'), (None, 'LT'), (None, 'COMMA'), (None, 'DIVIDE'), (None, 'AND'), (None, 'MOD'), (None, 'SEMI'), (None, 'MINUS'), (None, 'GT'), (None, 'COLON'), (None, 'NOT'), (None, 'LNOT')])]}
      +
      8 _lexstateignore = {'ppline': ' \t', 'pppragma': ' \t', 'INITIAL': ' \t'}
      +
      9 _lexstateerrorf = {'ppline': 't_ppline_error', 'pppragma': 't_pppragma_error', 'INITIAL': 't_error'}
      +
      10 _lexstateeoff = {}
      +
      +
      + + + + diff --git a/Documentation/html/main_8c.html b/Documentation/html/main_8c.html index 920ba04..ea49148 100644 --- a/Documentation/html/main_8c.html +++ b/Documentation/html/main_8c.html @@ -131,7 +131,7 @@ Functions diff --git a/Documentation/html/main_8c_source.html b/Documentation/html/main_8c_source.html index f7677e6..16526d8 100644 --- a/Documentation/html/main_8c_source.html +++ b/Documentation/html/main_8c_source.html @@ -108,7 +108,7 @@ $(document).ready(function(){initNavTree('main_8c_source.html',''); initResizabl diff --git a/Documentation/html/menudata.js b/Documentation/html/menudata.js index 3e229a8..d4a42fa 100644 --- a/Documentation/html/menudata.js +++ b/Documentation/html/menudata.js @@ -25,8 +25,12 @@ var menudata={children:[ {text:"Main Page",url:"index.html"}, {text:"Related Pages",url:"pages.html"}, +{text:"Modules",url:"modules.html"}, +{text:"Namespaces",url:"namespaces.html",children:[ +{text:"Namespace List",url:"namespaces.html"}]}, {text:"Files",url:"files.html",children:[ {text:"File List",url:"files.html"}, {text:"Globals",url:"globals.html",children:[ {text:"All",url:"globals.html"}, -{text:"Functions",url:"globals_func.html"}]}]}]} +{text:"Functions",url:"globals_func.html"}, +{text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/Documentation/html/modules.html b/Documentation/html/modules.html new file mode 100644 index 0000000..21162d4 --- /dev/null +++ b/Documentation/html/modules.html @@ -0,0 +1,149 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Modules + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      Modules
      +
      +
      +
      Here is a list of all modules:
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       adc10_a
       adc12_a
       aes
       battbak
       comp_b
       crc
       ctsd16
       dac12_a
       dma
       eusci_a_spi
       eusci_a_uart
       eusci_b_i2c
       eusci_b_spi
       flashctl
       gpio
       lcd_b
       lcd_c
       ldopwr
       mpy32
       oa
       pmap
       pmm
       ram
       ref
       rtc_a
       rtc_b
       rtc_c
       sd24_b
       sfr
       sysctl
       tec
       timer_a
       timer_b
       timer_d
       tlv
       ucs
       usci_a_spi
       usci_a_uart
       usci_b_i2c
       usci_b_spi
       wdt_a
      +
      +
      +
      + + + + diff --git a/Documentation/html/modules.js b/Documentation/html/modules.js new file mode 100644 index 0000000..f96e410 --- /dev/null +++ b/Documentation/html/modules.js @@ -0,0 +1,44 @@ +var modules = +[ + [ "adc10_a", "group__adc10__a__api.html", null ], + [ "adc12_a", "group__adc12__a__api.html", null ], + [ "aes", "group__aes__api.html", null ], + [ "battbak", "group__battbak__api.html", null ], + [ "comp_b", "group__comp__b__api.html", null ], + [ "crc", "group__crc__api.html", null ], + [ "ctsd16", "group__ctsd16__api.html", null ], + [ "dac12_a", "group__dac12__a__api.html", null ], + [ "dma", "group__dma__api.html", null ], + [ "eusci_a_spi", "group__eusci__a__spi__api.html", null ], + [ "eusci_a_uart", "group__eusci__a__uart__api.html", null ], + [ "eusci_b_i2c", "group__eusci__b__i2c__api.html", null ], + [ "eusci_b_spi", "group__eusci__b__spi__api.html", null ], + [ "flashctl", "group__flashctl__api.html", null ], + [ "gpio", "group__gpio__api.html", null ], + [ "lcd_b", "group__lcd__b__api.html", null ], + [ "lcd_c", "group__lcd__c__api.html", null ], + [ "ldopwr", "group__ldopwr__api.html", null ], + [ "mpy32", "group__mpy32__api.html", null ], + [ "oa", "group__oa__api.html", null ], + [ "pmap", "group__pmap__api.html", null ], + [ "pmm", "group__pmm__api.html", null ], + [ "ram", "group__ram__api.html", null ], + [ "ref", "group__ref__api.html", null ], + [ "rtc_a", "group__rtc__a__api.html", null ], + [ "rtc_b", "group__rtc__b__api.html", null ], + [ "rtc_c", "group__rtc__c__api.html", null ], + [ "sd24_b", "group__sd24__b__api.html", null ], + [ "sfr", "group__sfr__api.html", null ], + [ "sysctl", "group__sysctl__api.html", null ], + [ "tec", "group__tec__api.html", null ], + [ "timer_a", "group__timer__a__api.html", null ], + [ "timer_b", "group__timer__b__api.html", null ], + [ "timer_d", "group__timer__d__api.html", null ], + [ "tlv", "group__tlv__api.html", null ], + [ "ucs", "group__ucs__api.html", null ], + [ "usci_a_spi", "group__usci__a__spi__api.html", null ], + [ "usci_a_uart", "group__usci__a__uart__api.html", null ], + [ "usci_b_i2c", "group__usci__b__i2c__api.html", null ], + [ "usci_b_spi", "group__usci__b__spi__api.html", null ], + [ "wdt_a", "group__wdt__a__api.html", null ] +]; \ No newline at end of file diff --git a/Documentation/html/mpy32_8c.html b/Documentation/html/mpy32_8c.html new file mode 100644 index 0000000..9bd977a --- /dev/null +++ b/Documentation/html/mpy32_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/mpy32.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      mpy32.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/mpy32_8c_source.html b/Documentation/html/mpy32_8c_source.html new file mode 100644 index 0000000..e8d2f8b --- /dev/null +++ b/Documentation/html/mpy32_8c_source.html @@ -0,0 +1,250 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/mpy32.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      mpy32.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // mpy32.c - Driver for the mpy32 Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_MPY32__
      +
      17 #include "mpy32.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void MPY32_setWriteDelay (uint16_t writeDelaySelect)
      +
      22 {
      +
      23  HWREG16(MPY32_BASE + OFS_MPY32CTL0) &= ~(MPYDLY32 + MPYDLYWRTEN);
      +
      24  HWREG16(MPY32_BASE + OFS_MPY32CTL0) |= writeDelaySelect;
      +
      25 }
      +
      26 
      +
      27 void MPY32_enableSaturationMode (void)
      +
      28 {
      +
      29  HWREG8(MPY32_BASE + OFS_MPY32CTL0_L) |= MPYSAT;
      +
      30 }
      +
      31 
      +
      32 void MPY32_disableSaturationMode (void)
      +
      33 {
      +
      34  HWREG8(MPY32_BASE + OFS_MPY32CTL0_L) &= ~(MPYSAT);
      +
      35 }
      +
      36 
      +
      37 uint8_t MPY32_getSaturationMode (void)
      +
      38 {
      +
      39  return (HWREG8(MPY32_BASE + OFS_MPY32CTL0_L) &(MPYSAT));
      +
      40 }
      +
      41 
      +
      42 void MPY32_enableFractionalMode (void)
      +
      43 {
      +
      44  HWREG8(MPY32_BASE + OFS_MPY32CTL0_L) |= MPYFRAC;
      +
      45 }
      +
      46 
      +
      47 void MPY32_disableFractionalMode (void)
      +
      48 {
      +
      49  HWREG8(MPY32_BASE + OFS_MPY32CTL0_L) &= ~(MPYFRAC);
      +
      50 }
      +
      51 
      +
      52 uint8_t MPY32_getFractionalMode (void)
      +
      53 {
      +
      54  return (HWREG8(MPY32_BASE + OFS_MPY32CTL0_L) &(MPYFRAC));
      +
      55 }
      +
      56 
      +
      57 void MPY32_setOperandOne8Bit (uint8_t multiplicationType,
      +
      58  uint8_t operand)
      +
      59 {
      +
      60  HWREG8(MPY32_BASE + OFS_MPY + multiplicationType) = operand;
      +
      61 }
      +
      62 
      +
      63 void MPY32_setOperandOne16Bit (uint8_t multiplicationType,
      +
      64  uint16_t operand)
      +
      65 {
      +
      66  HWREG16(MPY32_BASE + OFS_MPY + multiplicationType) = operand;
      +
      67 }
      +
      68 
      +
      69 void MPY32_setOperandOne24Bit (uint8_t multiplicationType,
      +
      70  uint32_t operand)
      +
      71 {
      +
      72  multiplicationType <<= 1;
      +
      73  HWREG16(MPY32_BASE + OFS_MPY32L + multiplicationType) = operand;
      +
      74  HWREG8(MPY32_BASE + OFS_MPY32H + multiplicationType) = (operand >> 16);
      +
      75 }
      +
      76 
      +
      77 void MPY32_setOperandOne32Bit (uint8_t multiplicationType,
      +
      78  uint32_t operand)
      +
      79 {
      +
      80  multiplicationType <<= 1;
      +
      81  HWREG16(MPY32_BASE + OFS_MPY32L + multiplicationType) = operand;
      +
      82  HWREG16(MPY32_BASE + OFS_MPY32H + multiplicationType) = (operand >> 16);
      +
      83 }
      +
      84 
      +
      85 void MPY32_setOperandTwo8Bit (uint8_t operand)
      +
      86 {
      +
      87  HWREG8(MPY32_BASE + OFS_OP2) = operand;
      +
      88 }
      +
      89 
      +
      90 void MPY32_setOperandTwo16Bit (uint16_t operand)
      +
      91 {
      +
      92  HWREG16(MPY32_BASE + OFS_OP2) = operand;
      +
      93 }
      +
      94 
      +
      95 void MPY32_setOperandTwo24Bit (uint32_t operand)
      +
      96 {
      +
      97  HWREG16(MPY32_BASE + OFS_OP2L) = operand;
      +
      98  HWREG8(MPY32_BASE + OFS_OP2H) = (operand >> 16);
      +
      99 }
      +
      100 
      +
      101 void MPY32_setOperandTwo32Bit (uint32_t operand)
      +
      102 {
      +
      103  HWREG16(MPY32_BASE + OFS_OP2L) = operand;
      +
      104  HWREG16(MPY32_BASE + OFS_OP2H) = (operand >> 16);
      +
      105 }
      +
      106 
      +
      107 uint64_t MPY32_getResult (void)
      +
      108 {
      +
      109  uint64_t result;
      +
      110 
      +
      111  result = HWREG16(MPY32_BASE + OFS_RES0);
      +
      112  result += ((uint64_t)HWREG16(MPY32_BASE + OFS_RES1) << 16);
      +
      113  result += ((uint64_t)HWREG16(MPY32_BASE + OFS_RES2) << 32);
      +
      114  result += ((uint64_t)HWREG16(MPY32_BASE + OFS_RES3) << 48);
      +
      115  return ( result );
      +
      116 }
      +
      117 
      +
      118 uint16_t MPY32_getSumExtension (void)
      +
      119 {
      +
      120  return ( HWREG16(MPY32_BASE + OFS_SUMEXT) );
      +
      121 }
      +
      122 
      +
      123 uint16_t MPY32_getCarryBitValue (void)
      +
      124 {
      +
      125  return ( HWREG16(MPY32_BASE + OFS_MPY32CTL0) | MPYC);
      +
      126 }
      +
      127 void MPY32_clearCarryBitValue (void)
      +
      128 {
      +
      129  HWREG16(MPY32_BASE + OFS_MPY32CTL0) &= ~MPYC;
      +
      130 }
      +
      131 void MPY32_preloadResult (uint64_t result)
      +
      132 {
      +
      133  HWREG16(MPY32_BASE + OFS_RES0) = (result & 0xFFFF);
      +
      134  HWREG16(MPY32_BASE + OFS_RES1) = ((result >> 16) & 0xFFFF);
      +
      135  HWREG16(MPY32_BASE + OFS_RES2) = ((result >> 32) & 0xFFFF);
      +
      136  HWREG16(MPY32_BASE + OFS_RES3) = ((result >> 48) & 0xFFFF);
      +
      137 }
      +
      138 
      +
      139 #endif
      +
      140 //*****************************************************************************
      +
      141 //
      +
      144 //
      +
      145 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/mpy32_8h.html b/Documentation/html/mpy32_8h.html new file mode 100644 index 0000000..1a51b3e --- /dev/null +++ b/Documentation/html/mpy32_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/mpy32.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      mpy32.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/mpy32_8h_source.html b/Documentation/html/mpy32_8h_source.html new file mode 100644 index 0000000..9a3bfbd --- /dev/null +++ b/Documentation/html/mpy32_8h_source.html @@ -0,0 +1,314 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/mpy32.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      mpy32.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // mpy32.h - Driver for the MPY32 Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_MPY32_H__
      +
      8 #define __MSP430WARE_MPY32_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_MPY32__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 
      +
      27 //*****************************************************************************
      +
      28 //
      +
      29 // The following are values that can be passed to the writeDelaySelect
      +
      30 // parameter for functions: MPY32_setWriteDelay().
      +
      31 //
      +
      32 //*****************************************************************************
      +
      33 #define MPY32_WRITEDELAY_OFF (!(MPYDLY32 + MPYDLYWRTEN))
      +
      34 #define MPY32_WRITEDELAY_32BIT (MPYDLYWRTEN)
      +
      35 #define MPY32_WRITEDELAY_64BIT (MPYDLY32 + MPYDLYWRTEN)
      +
      36 
      +
      37 //*****************************************************************************
      +
      38 //
      +
      39 // The following are values that can be passed to the multiplicationType
      +
      40 // parameter for functions: MPY32_setOperandOne8Bit(),
      +
      41 // MPY32_setOperandOne16Bit(), MPY32_setOperandOne24Bit(), and
      +
      42 // MPY32_setOperandOne32Bit().
      +
      43 //
      +
      44 //*****************************************************************************
      +
      45 #define MPY32_MULTIPLY_UNSIGNED (0x00)
      +
      46 #define MPY32_MULTIPLY_SIGNED (0x02)
      +
      47 #define MPY32_MULTIPLYACCUMULATE_UNSIGNED (0x04)
      +
      48 #define MPY32_MULTIPLYACCUMULATE_SIGNED (0x06)
      +
      49 
      +
      50 //*****************************************************************************
      +
      51 //
      +
      52 // The following are values that can be passed toThe following are values that
      +
      53 // can be returned by the MPY32_getSaturationMode() function.
      +
      54 //
      +
      55 //*****************************************************************************
      +
      56 #define MPY32_SATURATION_MODE_DISABLED 0x00
      +
      57 #define MPY32_SATURATION_MODE_ENABLED MPYSAT
      +
      58 
      +
      59 //*****************************************************************************
      +
      60 //
      +
      61 // The following are values that can be passed toThe following are values that
      +
      62 // can be returned by the MPY32_getFractionalMode() function.
      +
      63 //
      +
      64 //*****************************************************************************
      +
      65 #define MPY32_FRACTIONAL_MODE_DISABLED 0x00
      +
      66 #define MPY32_FRACTIONAL_MODE_ENABLED MPYFRAC
      +
      67 
      +
      68 //*****************************************************************************
      +
      69 //
      +
      70 // Prototypes for the APIs.
      +
      71 //
      +
      72 //*****************************************************************************
      +
      73 
      +
      74 //*****************************************************************************
      +
      75 //
      +
      97 //
      +
      98 //*****************************************************************************
      +
      99 extern void MPY32_setWriteDelay(uint16_t writeDelaySelect);
      +
      100 
      +
      101 //*****************************************************************************
      +
      102 //
      +
      114 //
      +
      115 //*****************************************************************************
      +
      116 extern void MPY32_enableSaturationMode(void);
      +
      117 
      +
      118 //*****************************************************************************
      +
      119 //
      +
      127 //
      +
      128 //*****************************************************************************
      +
      129 extern void MPY32_disableSaturationMode(void);
      +
      130 
      +
      131 //*****************************************************************************
      +
      132 //
      +
      143 //
      +
      144 //*****************************************************************************
      +
      145 extern uint8_t MPY32_getSaturationMode(void);
      +
      146 
      +
      147 //*****************************************************************************
      +
      148 //
      +
      155 //
      +
      156 //*****************************************************************************
      +
      157 extern void MPY32_enableFractionalMode(void);
      +
      158 
      +
      159 //*****************************************************************************
      +
      160 //
      +
      167 //
      +
      168 //*****************************************************************************
      +
      169 extern void MPY32_disableFractionalMode(void);
      +
      170 
      +
      171 //*****************************************************************************
      +
      172 //
      +
      183 //
      +
      184 //*****************************************************************************
      +
      185 extern uint8_t MPY32_getFractionalMode(void);
      +
      186 
      +
      187 //*****************************************************************************
      +
      188 //
      +
      205 //
      +
      206 //*****************************************************************************
      +
      207 extern void MPY32_setOperandOne8Bit(uint8_t multiplicationType,
      +
      208  uint8_t operand);
      +
      209 
      +
      210 //*****************************************************************************
      +
      211 //
      +
      228 //
      +
      229 //*****************************************************************************
      +
      230 extern void MPY32_setOperandOne16Bit(uint8_t multiplicationType,
      +
      231  uint16_t operand);
      +
      232 
      +
      233 //*****************************************************************************
      +
      234 //
      +
      251 //
      +
      252 //*****************************************************************************
      +
      253 extern void MPY32_setOperandOne24Bit(uint8_t multiplicationType,
      +
      254  uint32_t operand);
      +
      255 
      +
      256 //*****************************************************************************
      +
      257 //
      +
      274 //
      +
      275 //*****************************************************************************
      +
      276 extern void MPY32_setOperandOne32Bit(uint8_t multiplicationType,
      +
      277  uint32_t operand);
      +
      278 
      +
      279 //*****************************************************************************
      +
      280 //
      +
      289 //
      +
      290 //*****************************************************************************
      +
      291 extern void MPY32_setOperandTwo8Bit(uint8_t operand);
      +
      292 
      +
      293 //*****************************************************************************
      +
      294 //
      +
      304 //
      +
      305 //*****************************************************************************
      +
      306 extern void MPY32_setOperandTwo16Bit(uint16_t operand);
      +
      307 
      +
      308 //*****************************************************************************
      +
      309 //
      +
      319 //
      +
      320 //*****************************************************************************
      +
      321 extern void MPY32_setOperandTwo24Bit(uint32_t operand);
      +
      322 
      +
      323 //*****************************************************************************
      +
      324 //
      +
      334 //
      +
      335 //*****************************************************************************
      +
      336 extern void MPY32_setOperandTwo32Bit(uint32_t operand);
      +
      337 
      +
      338 //*****************************************************************************
      +
      339 //
      +
      346 //
      +
      347 //*****************************************************************************
      +
      348 extern uint64_t MPY32_getResult(void);
      +
      349 
      +
      350 //*****************************************************************************
      +
      351 //
      +
      361 //
      +
      362 //*****************************************************************************
      +
      363 extern uint16_t MPY32_getSumExtension(void);
      +
      364 
      +
      365 //*****************************************************************************
      +
      366 //
      +
      375 //
      +
      376 //*****************************************************************************
      +
      377 extern uint16_t MPY32_getCarryBitValue(void);
      +
      378 
      +
      379 //*****************************************************************************
      +
      380 //
      +
      387 //
      +
      388 //*****************************************************************************
      +
      389 extern void MPY32_clearCarryBitValue(void);
      +
      390 
      +
      391 //*****************************************************************************
      +
      392 //
      +
      400 //
      +
      401 //*****************************************************************************
      +
      402 extern void MPY32_preloadResult(uint64_t result);
      +
      403 
      +
      404 //*****************************************************************************
      +
      405 //
      +
      406 // Mark the end of the C bindings section for C++ compilers.
      +
      407 //
      +
      408 //*****************************************************************************
      +
      409 #ifdef __cplusplus
      +
      410 }
      +
      411 #endif
      +
      412 
      +
      413 #endif
      +
      414 #endif // __MSP430WARE_MPY32_H__
      + +
      +
      + + + + diff --git a/Documentation/html/namespacelextab.html b/Documentation/html/namespacelextab.html new file mode 100644 index 0000000..f579997 --- /dev/null +++ b/Documentation/html/namespacelextab.html @@ -0,0 +1,105 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: lextab Namespace Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      lextab Namespace Reference
      +
      +
      +
      +
      + + + + diff --git a/Documentation/html/namespaces.html b/Documentation/html/namespaces.html new file mode 100644 index 0000000..3c7527e --- /dev/null +++ b/Documentation/html/namespaces.html @@ -0,0 +1,110 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Namespace List + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      Namespace List
      +
      +
      +
      Here is a list of all namespaces with brief descriptions:
      + + + +
       Nlextab
       Nyacctab
      +
      +
      +
      + + + + diff --git a/Documentation/html/namespaces_dup.js b/Documentation/html/namespaces_dup.js new file mode 100644 index 0000000..8bc8b21 --- /dev/null +++ b/Documentation/html/namespaces_dup.js @@ -0,0 +1,34 @@ +var namespaces_dup = +[ + [ "lextab", "namespacelextab.html", [ + [ "Microcontroller: Texas Instruments MSP430F5438AIPZR", "device_specifications.html#autotoc_md5", null ], + [ "Real-Time Clock/Calendar: Microchip Technology ‎MCP7940MT-I/SN", "device_specifications.html#autotoc_md6", null ], + [ "Bluetooth/Wi-Fi: Espressif Systems ESP32-WROVER-IE (8MB)", "device_specifications.html#autotoc_md7", null ], + [ "GPS Receiver: U-Blox NEO-M8Q-01A", "device_specifications.html#autotoc_md8", null ], + [ "CANbus Controller: Microchip Technology MCP2515T-I/SO", "device_specifications.html#autotoc_md9", null ], + [ "CANbus Transceiver: ‎Microchip Technology MCP2542FD-H/SN", "device_specifications.html#autotoc_md10", null ], + [ "SD Card (Generic)", "device_specifications.html#autotoc_md11", null ], + [ "USB to UART Bridge: Future Technology Devices International FT230XS-R", "device_specifications.html#autotoc_md12", null ], + [ "RS-232 Transceiver: STMicroelectronics ST232CDR", "device_specifications.html#autotoc_md13", null ], + [ "Inertial Measurement Unit: TDK InvenSense ICM-20948", "device_specifications.html#autotoc_md14", null ], + [ "_lexliterals", "namespacelextab.html#af2fc66f624e68f793ca308e3bbc69555", null ], + [ "_lexreflags", "namespacelextab.html#ac0d70021ec02e1f746b1a096c9b2e7b9", null ], + [ "_lexstateeoff", "namespacelextab.html#a3e390fda9edffbfa643a3cbbbe979d98", null ], + [ "_lexstateerrorf", "namespacelextab.html#a3a980a86e347674f515e535218236847", null ], + [ "_lexstateignore", "namespacelextab.html#a11962012771d8dd780764eb0fefe1263", null ], + [ "_lexstateinfo", "namespacelextab.html#a83760cc9fe025780564252e1824df1e2", null ], + [ "_lexstatere", "namespacelextab.html#a934157bd68b1e69048006afaa2c0a6cf", null ], + [ "_lextokens", "namespacelextab.html#a4d80053030ab94e1c166b59c4ecb3622", null ], + [ "_tabversion", "namespacelextab.html#acedf8869d5422e43b52dc50f808b0cb0", null ] + ] ], + [ "yacctab", "namespaceyacctab.html", [ + [ "_lr_action", "namespaceyacctab.html#a172d79c59087f6221fa6a2b943098445", null ], + [ "_lr_action_items", "namespaceyacctab.html#a8e340125812f0ee4cf57241862460bc4", null ], + [ "_lr_goto", "namespaceyacctab.html#aec782c53fd28309ecc05b48874eae5f3", null ], + [ "_lr_goto_items", "namespaceyacctab.html#ac00c9c7b53c5818012554909634d7f4d", null ], + [ "_lr_method", "namespaceyacctab.html#addcb8f83ba985ed0c965cc5b78bdbc4e", null ], + [ "_lr_productions", "namespaceyacctab.html#aeb5f3d28d48fa6999ba1e4df9dac64d5", null ], + [ "_lr_signature", "namespaceyacctab.html#ab31d05ea09c8d06462324ac45e539d9d", null ], + [ "_tabversion", "namespaceyacctab.html#acedf8869d5422e43b52dc50f808b0cb0", null ] + ] ] +]; \ No newline at end of file diff --git a/Documentation/html/namespaceyacctab.html b/Documentation/html/namespaceyacctab.html new file mode 100644 index 0000000..9ac6e00 --- /dev/null +++ b/Documentation/html/namespaceyacctab.html @@ -0,0 +1,105 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: yacctab Namespace Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      yacctab Namespace Reference
      +
      +
      +
      +
      + + + + diff --git a/Documentation/html/navtreedata.js b/Documentation/html/navtreedata.js index 3f07dbf..2de1bd3 100644 --- a/Documentation/html/navtreedata.js +++ b/Documentation/html/navtreedata.js @@ -26,28 +26,33 @@ var NAVTREE = [ [ "2020-2021 Sunseeker Telemetry and Lighting System", "index.html", [ [ "Home", "index.html", [ - [ "About", "index.html#autotoc_md14", null ], - [ "Documentation", "index.html#autotoc_md15", [ - [ "Tips from Dr. Bazuin", "index.html#autotoc_md16", null ], - [ "Tips from Dr. Gomez", "index.html#autotoc_md17", null ] + [ "About", "index.html#autotoc_md15", null ], + [ "Documentation", "index.html#autotoc_md16", [ + [ "Tips from Dr. Bazuin", "index.html#autotoc_md17", null ], + [ "Tips from Dr. Gomez", "index.html#autotoc_md18", null ] ] ], - [ "TODO List", "index.html#autotoc_md18", null ] + [ "TODO List", "index.html#autotoc_md19", null ] ] ], [ "Hardware", "hardware.html", "hardware" ], [ "Software", "software.html", null ], [ "Documentation Guide", "documentation_guide.html", [ - [ "Doxygen", "documentation_guide.html#autotoc_md19", null ], - [ "Updating Documentation", "documentation_guide.html#autotoc_md20", null ], - [ "Important Notes", "documentation_guide.html#autotoc_md21", [ - [ "For Consistency", "documentation_guide.html#autotoc_md22", null ], - [ "Adding Images", "documentation_guide.html#autotoc_md23", null ] + [ "Doxygen", "documentation_guide.html#autotoc_md20", null ], + [ "Updating Documentation", "documentation_guide.html#autotoc_md21", null ], + [ "Important Notes", "documentation_guide.html#autotoc_md22", [ + [ "For Consistency", "documentation_guide.html#autotoc_md23", null ], + [ "Adding Images", "documentation_guide.html#autotoc_md24", null ] ] ] ] ], + [ "Modules", "modules.html", "modules" ], + [ "Namespaces", "namespaces.html", [ + [ "Namespace List", "namespaces.html", "namespaces_dup" ] + ] ], [ "Files", "files.html", [ [ "File List", "files.html", "files_dup" ], [ "Globals", "globals.html", [ [ "All", "globals.html", null ], - [ "Functions", "globals_func.html", null ] + [ "Functions", "globals_func.html", null ], + [ "Macros", "globals_defs.html", null ] ] ] ] ] ] ] @@ -55,7 +60,8 @@ var NAVTREE = var NAVTREEINDEX = [ -"design_choices.html" +"adc10__a_8c.html", +"sysctl_8h.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/Documentation/html/navtreeindex0.js b/Documentation/html/navtreeindex0.js index f3bf9d6..dfb5dca 100644 --- a/Documentation/html/navtreeindex0.js +++ b/Documentation/html/navtreeindex0.js @@ -1,45 +1,253 @@ var NAVTREEINDEX0 = { +"adc10__a_8c.html":[6,0,2,0,0,1,0,0,1], +"adc10__a_8c_source.html":[6,0,2,0,0,1,0,0,1], +"adc10__a_8h.html":[6,0,2,0,0,1,0,0,2], +"adc10__a_8h_source.html":[6,0,2,0,0,1,0,0,2], +"adc12__a_8c.html":[6,0,2,0,0,1,0,0,3], +"adc12__a_8c_source.html":[6,0,2,0,0,1,0,0,3], +"adc12__a_8h.html":[6,0,2,0,0,1,0,0,4], +"adc12__a_8h_source.html":[6,0,2,0,0,1,0,0,4], +"aes_8c.html":[6,0,2,0,0,1,0,0,5], +"aes_8c_source.html":[6,0,2,0,0,1,0,0,5], +"aes_8h.html":[6,0,2,0,0,1,0,0,6], +"aes_8h_source.html":[6,0,2,0,0,1,0,0,6], +"battbak_8c.html":[6,0,2,0,0,1,0,0,7], +"battbak_8c_source.html":[6,0,2,0,0,1,0,0,7], +"battbak_8h.html":[6,0,2,0,0,1,0,0,8], +"battbak_8h_source.html":[6,0,2,0,0,1,0,0,8], +"comp__b_8c.html":[6,0,2,0,0,1,0,0,9], +"comp__b_8c_source.html":[6,0,2,0,0,1,0,0,9], +"comp__b_8h.html":[6,0,2,0,0,1,0,0,10], +"comp__b_8h_source.html":[6,0,2,0,0,1,0,0,10], +"crc_8c.html":[6,0,2,0,0,1,0,0,11], +"crc_8c_source.html":[6,0,2,0,0,1,0,0,11], +"crc_8h.html":[6,0,2,0,0,1,0,0,12], +"crc_8h_source.html":[6,0,2,0,0,1,0,0,12], +"ctsd16_8c.html":[6,0,2,0,0,1,0,0,13], +"ctsd16_8c_source.html":[6,0,2,0,0,1,0,0,13], +"ctsd16_8h.html":[6,0,2,0,0,1,0,0,14], +"ctsd16_8h_source.html":[6,0,2,0,0,1,0,0,14], +"dac12__a_8c.html":[6,0,2,0,0,1,0,0,15], +"dac12__a_8c_source.html":[6,0,2,0,0,1,0,0,15], +"dac12__a_8h.html":[6,0,2,0,0,1,0,0,16], +"dac12__a_8h_source.html":[6,0,2,0,0,1,0,0,16], "design_choices.html":[1,1], "design_choices.html#autotoc_md2":[1,1,0], "design_choices.html#autotoc_md3":[1,1,1], +"design_choices.html#autotoc_md4":[0], "device_specifications.html":[1,2], -"device_specifications.html#autotoc_md10":[6], -"device_specifications.html#autotoc_md11":[7], -"device_specifications.html#autotoc_md12":[8], -"device_specifications.html#autotoc_md13":[9], -"device_specifications.html#autotoc_md4":[0], -"device_specifications.html#autotoc_md5":[1], -"device_specifications.html#autotoc_md6":[2], -"device_specifications.html#autotoc_md7":[3], -"device_specifications.html#autotoc_md8":[4], -"device_specifications.html#autotoc_md9":[5], -"dir_4e9c05acfa2c3671b8618fcb95d57d96.html":[4,0,2], -"dir_6cc751a9e685a986d41d35de353de328.html":[4,0,0], -"dir_70428d3c5958c16802133545478a5cfb.html":[4,0,2,0], -"dir_7795a02a4813dcd036f04e5f7854f185.html":[4,0,1], -"dir_ef94255a62432ae865475b379d8bd501.html":[4,0,2,0,0], +"device_specifications.html#autotoc_md10":[5], +"device_specifications.html#autotoc_md11":[6], +"device_specifications.html#autotoc_md12":[7], +"device_specifications.html#autotoc_md13":[8], +"device_specifications.html#autotoc_md14":[9], +"device_specifications.html#autotoc_md5":[0], +"device_specifications.html#autotoc_md6":[1], +"device_specifications.html#autotoc_md7":[2], +"device_specifications.html#autotoc_md8":[3], +"device_specifications.html#autotoc_md9":[4], +"dir_0201fb0a75bfb001181cd762468718da.html":[6,0,2,0,0,1], +"dir_45fca41ab41fdacd455cd61e009e74cc.html":[6,0,2,0,0,1,0,0,0], +"dir_46b95d24c0abe1f4457728e63ee00541.html":[6,0,2,0,0,1,0,0], +"dir_4e9c05acfa2c3671b8618fcb95d57d96.html":[6,0,2], +"dir_6cc751a9e685a986d41d35de353de328.html":[6,0,0], +"dir_70428d3c5958c16802133545478a5cfb.html":[6,0,2,0], +"dir_7795a02a4813dcd036f04e5f7854f185.html":[6,0,1], +"dir_c161f571c8319861135bb5a2c903edf9.html":[6,0,2,0,0,1,0], +"dir_ef94255a62432ae865475b379d8bd501.html":[6,0,2,0,0], +"dma_8c.html":[6,0,2,0,0,1,0,0,17], +"dma_8c_source.html":[6,0,2,0,0,1,0,0,17], +"dma_8h.html":[6,0,2,0,0,1,0,0,18], +"dma_8h_source.html":[6,0,2,0,0,1,0,0,18], "documentation_guide.html":[3], -"documentation_guide.html#autotoc_md19":[3,0], -"documentation_guide.html#autotoc_md20":[3,1], -"documentation_guide.html#autotoc_md21":[3,2], -"documentation_guide.html#autotoc_md22":[3,2,0], -"documentation_guide.html#autotoc_md23":[3,2,1], -"files.html":[4,0], -"globals.html":[4,1,0], -"globals_func.html":[4,1,1], +"documentation_guide.html#autotoc_md20":[3,0], +"documentation_guide.html#autotoc_md21":[3,1], +"documentation_guide.html#autotoc_md22":[3,2], +"documentation_guide.html#autotoc_md23":[3,2,0], +"documentation_guide.html#autotoc_md24":[3,2,1], +"driverlib_8h.html":[6,0,2,0,0,1,0,0,19], +"driverlib_8h_source.html":[6,0,2,0,0,1,0,0,19], +"eusci__a__spi_8c.html":[6,0,2,0,0,1,0,0,20], +"eusci__a__spi_8c_source.html":[6,0,2,0,0,1,0,0,20], +"eusci__a__spi_8h.html":[6,0,2,0,0,1,0,0,21], +"eusci__a__spi_8h_source.html":[6,0,2,0,0,1,0,0,21], +"eusci__a__uart_8c.html":[6,0,2,0,0,1,0,0,22], +"eusci__a__uart_8c_source.html":[6,0,2,0,0,1,0,0,22], +"eusci__a__uart_8h.html":[6,0,2,0,0,1,0,0,23], +"eusci__a__uart_8h_source.html":[6,0,2,0,0,1,0,0,23], +"eusci__b__i2c_8c.html":[6,0,2,0,0,1,0,0,24], +"eusci__b__i2c_8c_source.html":[6,0,2,0,0,1,0,0,24], +"eusci__b__i2c_8h.html":[6,0,2,0,0,1,0,0,25], +"eusci__b__i2c_8h_source.html":[6,0,2,0,0,1,0,0,25], +"eusci__b__spi_8c.html":[6,0,2,0,0,1,0,0,26], +"eusci__b__spi_8c_source.html":[6,0,2,0,0,1,0,0,26], +"eusci__b__spi_8h.html":[6,0,2,0,0,1,0,0,27], +"eusci__b__spi_8h_source.html":[6,0,2,0,0,1,0,0,27], +"files.html":[6,0], +"flashctl_8c.html":[6,0,2,0,0,1,0,0,28], +"flashctl_8c_source.html":[6,0,2,0,0,1,0,0,28], +"flashctl_8h.html":[6,0,2,0,0,1,0,0,29], +"flashctl_8h_source.html":[6,0,2,0,0,1,0,0,29], +"globals.html":[6,1,0], +"globals_defs.html":[6,1,2], +"globals_func.html":[6,1,1], +"gpio_8c.html":[6,0,2,0,0,1,0,0,30], +"gpio_8c_source.html":[6,0,2,0,0,1,0,0,30], +"gpio_8h.html":[6,0,2,0,0,1,0,0,31], +"gpio_8h_source.html":[6,0,2,0,0,1,0,0,31], +"group__adc10__a__api.html":[4,0], +"group__adc12__a__api.html":[4,1], +"group__aes__api.html":[4,2], +"group__battbak__api.html":[4,3], +"group__comp__b__api.html":[4,4], +"group__crc__api.html":[4,5], +"group__ctsd16__api.html":[4,6], +"group__dac12__a__api.html":[4,7], +"group__dma__api.html":[4,8], +"group__eusci__a__spi__api.html":[4,9], +"group__eusci__a__uart__api.html":[4,10], +"group__eusci__b__i2c__api.html":[4,11], +"group__eusci__b__spi__api.html":[4,12], +"group__flashctl__api.html":[4,13], +"group__gpio__api.html":[4,14], +"group__lcd__b__api.html":[4,15], +"group__lcd__c__api.html":[4,16], +"group__ldopwr__api.html":[4,17], +"group__mpy32__api.html":[4,18], +"group__oa__api.html":[4,19], +"group__pmap__api.html":[4,20], +"group__pmm__api.html":[4,21], +"group__ram__api.html":[4,22], +"group__ref__api.html":[4,23], +"group__rtc__a__api.html":[4,24], +"group__rtc__b__api.html":[4,25], +"group__rtc__c__api.html":[4,26], +"group__sd24__b__api.html":[4,27], +"group__sfr__api.html":[4,28], +"group__sysctl__api.html":[4,29], +"group__tec__api.html":[4,30], +"group__timer__a__api.html":[4,31], +"group__timer__b__api.html":[4,32], +"group__timer__d__api.html":[4,33], +"group__tlv__api.html":[4,34], +"group__ucs__api.html":[4,35], +"group__usci__a__spi__api.html":[4,36], +"group__usci__a__uart__api.html":[4,37], +"group__usci__b__i2c__api.html":[4,38], +"group__usci__b__spi__api.html":[4,39], +"group__wdt__a__api.html":[4,40], "hardware.html":[1], "hardware.html#autotoc_md1":[1,0], +"hw__memmap_8h.html":[6,0,2,0,0,1,0,0,0,0], +"hw__memmap_8h.html#a005bc3d0bebdd1031a77f1fba8947998":[6,0,2,0,0,1,0,0,0,0,2], +"hw__memmap_8h.html#a437bba8c6aaa7542f8d7522146157b42":[6,0,2,0,0,1,0,0,0,0,3], +"hw__memmap_8h.html#a7bb830016238e9f911612eddc5e58143":[6,0,2,0,0,1,0,0,0,0,1], +"hw__memmap_8h.html#a8de3ed741dadc9c979a4ff17c0a9116e":[6,0,2,0,0,1,0,0,0,0,4], +"hw__memmap_8h.html#a9024ed05f7df784637ef7b44ca8caf97":[6,0,2,0,0,1,0,0,0,0,5], +"hw__memmap_8h.html#a97af2b5e31182f676ac18b271c0edebf":[6,0,2,0,0,1,0,0,0,0,0], +"hw__memmap_8h.html#ae56fdb340b23940f7a64ed2e37c1774a":[6,0,2,0,0,1,0,0,0,0,6], +"hw__memmap_8h_source.html":[6,0,2,0,0,1,0,0,0,0], "index.html":[], "index.html":[0], -"index.html#autotoc_md14":[0,0], -"index.html#autotoc_md15":[0,1], -"index.html#autotoc_md16":[0,1,0], -"index.html#autotoc_md17":[0,1,1], -"index.html#autotoc_md18":[0,2], -"main_8c.html":[4,0,2,0,0,0], -"main_8c.html#a840291bc02cba5474a4cb46a9b9566fe":[4,0,2,0,0,0,0], -"main_8c_source.html":[4,0,2,0,0,0], +"index.html#autotoc_md15":[0,0], +"index.html#autotoc_md16":[0,1], +"index.html#autotoc_md17":[0,1,0], +"index.html#autotoc_md18":[0,1,1], +"index.html#autotoc_md19":[0,2], +"lcd__b_8c.html":[6,0,2,0,0,1,0,0,32], +"lcd__b_8c_source.html":[6,0,2,0,0,1,0,0,32], +"lcd__b_8h.html":[6,0,2,0,0,1,0,0,33], +"lcd__b_8h_source.html":[6,0,2,0,0,1,0,0,33], +"lcd__c_8c.html":[6,0,2,0,0,1,0,0,34], +"lcd__c_8c_source.html":[6,0,2,0,0,1,0,0,34], +"lcd__c_8h.html":[6,0,2,0,0,1,0,0,35], +"lcd__c_8h_source.html":[6,0,2,0,0,1,0,0,35], +"ldopwr_8c.html":[6,0,2,0,0,1,0,0,36], +"ldopwr_8c_source.html":[6,0,2,0,0,1,0,0,36], +"ldopwr_8h.html":[6,0,2,0,0,1,0,0,37], +"ldopwr_8h_source.html":[6,0,2,0,0,1,0,0,37], +"lextab_8py.html":[6,0,2,0,0,1,0,0,38], +"lextab_8py.html#a11962012771d8dd780764eb0fefe1263":[6,0,2,0,0,1,0,0,38,4], +"lextab_8py.html#a3a980a86e347674f515e535218236847":[6,0,2,0,0,1,0,0,38,3], +"lextab_8py.html#a3e390fda9edffbfa643a3cbbbe979d98":[6,0,2,0,0,1,0,0,38,2], +"lextab_8py.html#a4d80053030ab94e1c166b59c4ecb3622":[6,0,2,0,0,1,0,0,38,7], +"lextab_8py.html#a83760cc9fe025780564252e1824df1e2":[6,0,2,0,0,1,0,0,38,5], +"lextab_8py.html#a934157bd68b1e69048006afaa2c0a6cf":[6,0,2,0,0,1,0,0,38,6], +"lextab_8py.html#ac0d70021ec02e1f746b1a096c9b2e7b9":[6,0,2,0,0,1,0,0,38,1], +"lextab_8py.html#acedf8869d5422e43b52dc50f808b0cb0":[6,0,2,0,0,1,0,0,38,8], +"lextab_8py.html#af2fc66f624e68f793ca308e3bbc69555":[6,0,2,0,0,1,0,0,38,0], +"lextab_8py_source.html":[6,0,2,0,0,1,0,0,38], +"main_8c.html":[6,0,2,0,0,2], +"main_8c.html#a840291bc02cba5474a4cb46a9b9566fe":[6,0,2,0,0,2,0], +"main_8c_source.html":[6,0,2,0,0,2], +"modules.html":[4], +"mpy32_8c.html":[6,0,2,0,0,1,0,0,39], +"mpy32_8c_source.html":[6,0,2,0,0,1,0,0,39], +"mpy32_8h.html":[6,0,2,0,0,1,0,0,40], +"mpy32_8h_source.html":[6,0,2,0,0,1,0,0,40], +"namespacelextab.html":[5,0,0], +"namespacelextab.html#a11962012771d8dd780764eb0fefe1263":[5,0,0,14], +"namespacelextab.html#a3a980a86e347674f515e535218236847":[5,0,0,13], +"namespacelextab.html#a3e390fda9edffbfa643a3cbbbe979d98":[5,0,0,12], +"namespacelextab.html#a4d80053030ab94e1c166b59c4ecb3622":[5,0,0,17], +"namespacelextab.html#a83760cc9fe025780564252e1824df1e2":[5,0,0,15], +"namespacelextab.html#a934157bd68b1e69048006afaa2c0a6cf":[5,0,0,16], +"namespacelextab.html#ac0d70021ec02e1f746b1a096c9b2e7b9":[5,0,0,11], +"namespacelextab.html#acedf8869d5422e43b52dc50f808b0cb0":[5,0,0,18], +"namespacelextab.html#af2fc66f624e68f793ca308e3bbc69555":[5,0,0,10], +"namespaces.html":[5,0], +"namespaceyacctab.html":[5,0,1], +"namespaceyacctab.html#a172d79c59087f6221fa6a2b943098445":[5,0,1,0], +"namespaceyacctab.html#a8e340125812f0ee4cf57241862460bc4":[5,0,1,1], +"namespaceyacctab.html#ab31d05ea09c8d06462324ac45e539d9d":[5,0,1,6], +"namespaceyacctab.html#ac00c9c7b53c5818012554909634d7f4d":[5,0,1,3], +"namespaceyacctab.html#acedf8869d5422e43b52dc50f808b0cb0":[5,0,1,7], +"namespaceyacctab.html#addcb8f83ba985ed0c965cc5b78bdbc4e":[5,0,1,4], +"namespaceyacctab.html#aeb5f3d28d48fa6999ba1e4df9dac64d5":[5,0,1,5], +"namespaceyacctab.html#aec782c53fd28309ecc05b48874eae5f3":[5,0,1,2], +"oa_8c.html":[6,0,2,0,0,1,0,0,41], +"oa_8c_source.html":[6,0,2,0,0,1,0,0,41], +"oa_8h.html":[6,0,2,0,0,1,0,0,42], +"oa_8h_source.html":[6,0,2,0,0,1,0,0,42], "pages.html":[], -"software.html":[2] +"pmap_8c.html":[6,0,2,0,0,1,0,0,43], +"pmap_8c_source.html":[6,0,2,0,0,1,0,0,43], +"pmap_8h.html":[6,0,2,0,0,1,0,0,44], +"pmap_8h_source.html":[6,0,2,0,0,1,0,0,44], +"pmm_8c.html":[6,0,2,0,0,1,0,0,45], +"pmm_8c_source.html":[6,0,2,0,0,1,0,0,45], +"pmm_8h.html":[6,0,2,0,0,1,0,0,46], +"pmm_8h_source.html":[6,0,2,0,0,1,0,0,46], +"ram_8c.html":[6,0,2,0,0,1,0,0,47], +"ram_8c_source.html":[6,0,2,0,0,1,0,0,47], +"ram_8h.html":[6,0,2,0,0,1,0,0,48], +"ram_8h_source.html":[6,0,2,0,0,1,0,0,48], +"ref_8c.html":[6,0,2,0,0,1,0,0,49], +"ref_8c_source.html":[6,0,2,0,0,1,0,0,49], +"ref_8h.html":[6,0,2,0,0,1,0,0,50], +"ref_8h_source.html":[6,0,2,0,0,1,0,0,50], +"rtc__a_8c.html":[6,0,2,0,0,1,0,0,51], +"rtc__a_8c_source.html":[6,0,2,0,0,1,0,0,51], +"rtc__a_8h.html":[6,0,2,0,0,1,0,0,52], +"rtc__a_8h_source.html":[6,0,2,0,0,1,0,0,52], +"rtc__b_8c.html":[6,0,2,0,0,1,0,0,53], +"rtc__b_8c_source.html":[6,0,2,0,0,1,0,0,53], +"rtc__b_8h.html":[6,0,2,0,0,1,0,0,54], +"rtc__b_8h_source.html":[6,0,2,0,0,1,0,0,54], +"rtc__c_8c.html":[6,0,2,0,0,1,0,0,55], +"rtc__c_8c_source.html":[6,0,2,0,0,1,0,0,55], +"rtc__c_8h.html":[6,0,2,0,0,1,0,0,56], +"rtc__c_8h_source.html":[6,0,2,0,0,1,0,0,56], +"sd24__b_8c.html":[6,0,2,0,0,1,0,0,57], +"sd24__b_8c_source.html":[6,0,2,0,0,1,0,0,57], +"sd24__b_8h.html":[6,0,2,0,0,1,0,0,58], +"sd24__b_8h_source.html":[6,0,2,0,0,1,0,0,58], +"sfr_8c.html":[6,0,2,0,0,1,0,0,59], +"sfr_8c_source.html":[6,0,2,0,0,1,0,0,59], +"sfr_8h.html":[6,0,2,0,0,1,0,0,60], +"sfr_8h_source.html":[6,0,2,0,0,1,0,0,60], +"software.html":[2], +"sysctl_8c.html":[6,0,2,0,0,1,0,0,61], +"sysctl_8c_source.html":[6,0,2,0,0,1,0,0,61] }; diff --git a/Documentation/html/navtreeindex1.js b/Documentation/html/navtreeindex1.js new file mode 100644 index 0000000..103a9a1 --- /dev/null +++ b/Documentation/html/navtreeindex1.js @@ -0,0 +1,66 @@ +var NAVTREEINDEX1 = +{ +"sysctl_8h.html":[6,0,2,0,0,1,0,0,62], +"sysctl_8h_source.html":[6,0,2,0,0,1,0,0,62], +"tec_8c.html":[6,0,2,0,0,1,0,0,63], +"tec_8c_source.html":[6,0,2,0,0,1,0,0,63], +"tec_8h.html":[6,0,2,0,0,1,0,0,64], +"tec_8h_source.html":[6,0,2,0,0,1,0,0,64], +"timer__a_8c.html":[6,0,2,0,0,1,0,0,65], +"timer__a_8c_source.html":[6,0,2,0,0,1,0,0,65], +"timer__a_8h.html":[6,0,2,0,0,1,0,0,66], +"timer__a_8h_source.html":[6,0,2,0,0,1,0,0,66], +"timer__b_8c.html":[6,0,2,0,0,1,0,0,67], +"timer__b_8c_source.html":[6,0,2,0,0,1,0,0,67], +"timer__b_8h.html":[6,0,2,0,0,1,0,0,68], +"timer__b_8h_source.html":[6,0,2,0,0,1,0,0,68], +"timer__d_8c.html":[6,0,2,0,0,1,0,0,69], +"timer__d_8c_source.html":[6,0,2,0,0,1,0,0,69], +"timer__d_8h.html":[6,0,2,0,0,1,0,0,70], +"timer__d_8h_source.html":[6,0,2,0,0,1,0,0,70], +"tlv_8c.html":[6,0,2,0,0,1,0,0,71], +"tlv_8c_source.html":[6,0,2,0,0,1,0,0,71], +"tlv_8h.html":[6,0,2,0,0,1,0,0,72], +"tlv_8h_source.html":[6,0,2,0,0,1,0,0,72], +"ucs_8c.html":[6,0,2,0,0,1,0,0,73], +"ucs_8c_source.html":[6,0,2,0,0,1,0,0,73], +"ucs_8h.html":[6,0,2,0,0,1,0,0,74], +"ucs_8h_source.html":[6,0,2,0,0,1,0,0,74], +"usci__a__spi_8c.html":[6,0,2,0,0,1,0,0,75], +"usci__a__spi_8c_source.html":[6,0,2,0,0,1,0,0,75], +"usci__a__spi_8h.html":[6,0,2,0,0,1,0,0,76], +"usci__a__spi_8h_source.html":[6,0,2,0,0,1,0,0,76], +"usci__a__uart_8c.html":[6,0,2,0,0,1,0,0,77], +"usci__a__uart_8c_source.html":[6,0,2,0,0,1,0,0,77], +"usci__a__uart_8h.html":[6,0,2,0,0,1,0,0,78], +"usci__a__uart_8h_source.html":[6,0,2,0,0,1,0,0,78], +"usci__b__i2c_8c.html":[6,0,2,0,0,1,0,0,79], +"usci__b__i2c_8c_source.html":[6,0,2,0,0,1,0,0,79], +"usci__b__i2c_8h.html":[6,0,2,0,0,1,0,0,80], +"usci__b__i2c_8h_source.html":[6,0,2,0,0,1,0,0,80], +"usci__b__spi_8c.html":[6,0,2,0,0,1,0,0,81], +"usci__b__spi_8c_source.html":[6,0,2,0,0,1,0,0,81], +"usci__b__spi_8h.html":[6,0,2,0,0,1,0,0,82], +"usci__b__spi_8h_source.html":[6,0,2,0,0,1,0,0,82], +"version_8h.html":[6,0,2,0,0,1,0,0,0,1], +"version_8h.html#a182ff263124bd08c6ade62fbc681789a":[6,0,2,0,0,1,0,0,0,1,0], +"version_8h.html#a3209c4c14367996e38b92df68f4d0c33":[6,0,2,0,0,1,0,0,0,1,2], +"version_8h.html#a5b358dd777e834ae2515d237d4ddef2c":[6,0,2,0,0,1,0,0,0,1,1], +"version_8h.html#a7ca458fc4f49f0b05e6fcb64a77f93c9":[6,0,2,0,0,1,0,0,0,1,3], +"version_8h.html#ab51e84a6281c4c257274af566f2b3ce6":[6,0,2,0,0,1,0,0,0,1,4], +"version_8h_source.html":[6,0,2,0,0,1,0,0,0,1], +"wdt__a_8c.html":[6,0,2,0,0,1,0,0,83], +"wdt__a_8c_source.html":[6,0,2,0,0,1,0,0,83], +"wdt__a_8h.html":[6,0,2,0,0,1,0,0,84], +"wdt__a_8h_source.html":[6,0,2,0,0,1,0,0,84], +"yacctab_8py.html":[6,0,2,0,0,1,0,0,85], +"yacctab_8py.html#a172d79c59087f6221fa6a2b943098445":[6,0,2,0,0,1,0,0,85,0], +"yacctab_8py.html#a8e340125812f0ee4cf57241862460bc4":[6,0,2,0,0,1,0,0,85,1], +"yacctab_8py.html#ab31d05ea09c8d06462324ac45e539d9d":[6,0,2,0,0,1,0,0,85,6], +"yacctab_8py.html#ac00c9c7b53c5818012554909634d7f4d":[6,0,2,0,0,1,0,0,85,3], +"yacctab_8py.html#acedf8869d5422e43b52dc50f808b0cb0":[6,0,2,0,0,1,0,0,85,7], +"yacctab_8py.html#addcb8f83ba985ed0c965cc5b78bdbc4e":[6,0,2,0,0,1,0,0,85,4], +"yacctab_8py.html#aeb5f3d28d48fa6999ba1e4df9dac64d5":[6,0,2,0,0,1,0,0,85,5], +"yacctab_8py.html#aec782c53fd28309ecc05b48874eae5f3":[6,0,2,0,0,1,0,0,85,2], +"yacctab_8py_source.html":[6,0,2,0,0,1,0,0,85] +}; diff --git a/Documentation/html/oa_8c.html b/Documentation/html/oa_8c.html new file mode 100644 index 0000000..a2eb979 --- /dev/null +++ b/Documentation/html/oa_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/oa.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      oa.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/oa_8c_source.html b/Documentation/html/oa_8c_source.html new file mode 100644 index 0000000..cd24221 --- /dev/null +++ b/Documentation/html/oa_8c_source.html @@ -0,0 +1,224 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/oa.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      oa.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // oa.c - Driver for the oa Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_OA_0__
      +
      17 #include "oa.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void OA_openSwitch( uint16_t baseAddress,
      +
      22  uint8_t positiveInputMask,
      +
      23  uint8_t negativeInputMask,
      +
      24  uint8_t groundMask
      +
      25  )
      +
      26 {
      +
      27  HWREG16(baseAddress + OFS_OA0PSW) &= ~positiveInputMask;
      +
      28  HWREG16(baseAddress + OFS_OA0NSW) &= ~negativeInputMask;
      +
      29  HWREG16(baseAddress + OFS_OA0GSW) &= ~groundMask;
      +
      30 }
      +
      31 
      +
      32 void OA_closeSwitch(uint16_t baseAddress,
      +
      33  uint8_t positiveInputMask,
      +
      34  uint8_t negativeInputMask,
      +
      35  uint8_t groundMask
      +
      36  )
      +
      37 {
      +
      38 
      +
      39  HWREG16(baseAddress + OFS_OA0PSW) |= positiveInputMask;
      +
      40  HWREG16(baseAddress + OFS_OA0NSW) |= negativeInputMask;
      +
      41  HWREG16(baseAddress + OFS_OA0GSW) |= groundMask;
      +
      42 }
      +
      43 
      +
      44 uint8_t OA_getSwitchStatus(uint16_t baseAddress,
      +
      45  uint8_t inputTerminal
      +
      46  )
      +
      47 {
      +
      48  uint8_t returnValue = 0;
      +
      49 
      +
      50  switch(inputTerminal)
      +
      51  {
      +
      52  case OA_POSITIVE_INPUT_TERMINAL_SWITCHES:
      +
      53  returnValue = (HWREG16(baseAddress + OFS_OA0PSW) & (PSW3 |
      +
      54  PSW2 |
      +
      55  PSW1 |
      +
      56  PSW0)
      +
      57  );
      +
      58  break;
      +
      59  case OA_NEGATIVE_INPUT_TERMINAL_SWITCHES:
      +
      60  returnValue = (HWREG16(baseAddress + OFS_OA0NSW) & (NSW4 |
      +
      61  NSW3 |
      +
      62  NSW2 |
      +
      63  NSW1 |
      +
      64  NSW0)
      +
      65  );
      +
      66  break;
      +
      67  case OA_GROUND_SWITCHES:
      +
      68  returnValue = (HWREG16(baseAddress + OFS_OA0GSW) & (GSW1 |
      +
      69  GSW0)
      +
      70  );
      +
      71  break;
      +
      72  }
      +
      73 
      +
      74  return returnValue;
      +
      75 
      +
      76 }
      +
      77 
      +
      78 uint8_t OA_getRailToRailInputReadyStatus(uint16_t baseAddress)
      +
      79 {
      +
      80  return ((HWREG8(baseAddress + OFS_OA0CTL0) & OARRIRDY));
      +
      81 }
      +
      82 
      +
      83 uint8_t OA_getRailToRailInputStatus(uint16_t baseAddress)
      +
      84 {
      +
      85  return ((HWREG8(baseAddress + OFS_OA0CTL0) & OARRI));
      +
      86 }
      +
      87 
      +
      88 void OA_enableRailToRailInput(uint16_t baseAddress)
      +
      89 {
      +
      90  HWREG8(baseAddress + OFS_OA0CTL0) |= OARRI;
      +
      91 }
      +
      92 
      +
      93 void OA_disableRailToRailInput(uint16_t baseAddress)
      +
      94 {
      +
      95  HWREG8(baseAddress + OFS_OA0CTL0) &= ~OARRI;
      +
      96 }
      +
      97 
      +
      98 void OA_disableAmplifierMode(uint16_t baseAddress)
      +
      99 {
      +
      100  HWREG8(baseAddress + OFS_OA0CTL0) &= ~OAM;
      +
      101 }
      +
      102 
      +
      103 void OA_enableAmplifierMode(uint16_t baseAddress)
      +
      104 {
      +
      105  HWREG8(baseAddress + OFS_OA0CTL0) |= OAM;
      +
      106 }
      +
      107 
      +
      108 uint8_t OA_getAmplifierModeStatus(uint16_t baseAddress)
      +
      109 {
      +
      110  return ((HWREG8(baseAddress + OFS_OA0CTL0) & OAM));
      +
      111 }
      +
      112 
      +
      113 #endif
      +
      114 //*****************************************************************************
      +
      115 //
      +
      118 //
      +
      119 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/oa_8h.html b/Documentation/html/oa_8h.html new file mode 100644 index 0000000..03f8dbd --- /dev/null +++ b/Documentation/html/oa_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/oa.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      oa.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/oa_8h_source.html b/Documentation/html/oa_8h_source.html new file mode 100644 index 0000000..35e78f7 --- /dev/null +++ b/Documentation/html/oa_8h_source.html @@ -0,0 +1,286 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/oa.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      oa.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // oa.h - Driver for the OA Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_OA_H__
      +
      8 #define __MSP430WARE_OA_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_OA_0__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 //*****************************************************************************
      +
      26 //
      +
      27 // The following are values that can be passed to the positiveInputMask
      +
      28 // parameter for functions: OA_openSwitch(), and OA_closeSwitch().
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 #define OA_POSITIVE_INPUT_TERMINAL_SWITCH0 PSW0
      +
      32 #define OA_POSITIVE_INPUT_TERMINAL_SWITCH1 PSW1
      +
      33 #define OA_POSITIVE_INPUT_TERMINAL_SWITCH2 PSW2
      +
      34 #define OA_POSITIVE_INPUT_TERMINAL_SWITCH3 PSW3
      +
      35 #define OA_POSITIVE_INPUT_TERMINAL_NONE 0x00
      +
      36 
      +
      37 //*****************************************************************************
      +
      38 //
      +
      39 // The following are values that can be passed to the negativeInputMask
      +
      40 // parameter for functions: OA_openSwitch(), and OA_closeSwitch().
      +
      41 //
      +
      42 //*****************************************************************************
      +
      43 #define OA_NEGATIVE_INPUT_TERMINAL_SWITCH0 NSW0
      +
      44 #define OA_NEGATIVE_INPUT_TERMINAL_SWITCH1 NSW1
      +
      45 #define OA_NEGATIVE_INPUT_TERMINAL_SWITCH2 NSW2
      +
      46 #define OA_NEGATIVE_INPUT_TERMINAL_SWITCH3 NSW3
      +
      47 #define OA_NEGATIVE_INPUT_TERMINAL_SWITCH4 NSW4
      +
      48 #define OA_NEGATIVE_INPUT_TERMINAL_NONE 0x00
      +
      49 
      +
      50 //*****************************************************************************
      +
      51 //
      +
      52 // The following are values that can be passed to the groundMask parameter for
      +
      53 // functions: OA_openSwitch(), and OA_closeSwitch().
      +
      54 //
      +
      55 //*****************************************************************************
      +
      56 #define OA_GROUND_SWITCH0 GSW0
      +
      57 #define OA_GROUND_SWITCH1 GSW1
      +
      58 #define OA_GROUND_NONE 0x00
      +
      59 
      +
      60 //*****************************************************************************
      +
      61 //
      +
      62 // The following are values that can be passed to the inputTerminal parameter
      +
      63 // for functions: OA_getSwitchStatus().
      +
      64 //
      +
      65 //*****************************************************************************
      +
      66 #define OA_POSITIVE_INPUT_TERMINAL_SWITCHES 0x00
      +
      67 #define OA_NEGATIVE_INPUT_TERMINAL_SWITCHES 0x01
      +
      68 #define OA_GROUND_SWITCHES 0x02
      +
      69 
      +
      70 //*****************************************************************************
      +
      71 //
      +
      72 // The following are values that can be passed toThe following are values that
      +
      73 // can be returned by the OA_getRailToRailInputReadyStatus() function.
      +
      74 //
      +
      75 //*****************************************************************************
      +
      76 #define OA_INPUT_READY OARRIRDY
      +
      77 #define OA_INPUT_NOT_READY 0x00
      +
      78 
      +
      79 //*****************************************************************************
      +
      80 //
      +
      81 // The following are values that can be passed toThe following are values that
      +
      82 // can be returned by the OA_getRailToRailInputStatus() function.
      +
      83 //
      +
      84 //*****************************************************************************
      +
      85 #define OA_INPUT_ENABLED OARRI
      +
      86 #define OA_INPUT_DISABLED (0x00)
      +
      87 
      +
      88 //*****************************************************************************
      +
      89 //
      +
      90 // The following are values that can be passed toThe following are values that
      +
      91 // can be returned by the OA_getAmplifierModeStatus() function.
      +
      92 //
      +
      93 //*****************************************************************************
      +
      94 #define OA_AMPLIFIER_MODE_ENABLED OAM
      +
      95 #define OA_AMPLIFIER_MODE_DISABLED (0x00)
      +
      96 
      +
      97 //*****************************************************************************
      +
      98 //
      +
      99 // Prototypes for the APIs.
      +
      100 //
      +
      101 //*****************************************************************************
      +
      102 
      +
      103 //*****************************************************************************
      +
      104 //
      +
      131 //
      +
      132 //*****************************************************************************
      +
      133 extern void OA_openSwitch(uint16_t baseAddress,
      +
      134  uint8_t positiveInputMask,
      +
      135  uint8_t negativeInputMask,
      +
      136  uint8_t groundMask);
      +
      137 
      +
      138 //*****************************************************************************
      +
      139 //
      +
      166 //
      +
      167 //*****************************************************************************
      +
      168 extern void OA_closeSwitch(uint16_t baseAddress,
      +
      169  uint8_t positiveInputMask,
      +
      170  uint8_t negativeInputMask,
      +
      171  uint8_t groundMask);
      +
      172 
      +
      173 //*****************************************************************************
      +
      174 //
      +
      187 //
      +
      188 //*****************************************************************************
      +
      189 extern uint8_t OA_getSwitchStatus(uint16_t baseAddress,
      +
      190  uint8_t inputTerminal);
      +
      191 
      +
      192 //*****************************************************************************
      +
      193 //
      +
      201 //
      +
      202 //*****************************************************************************
      +
      203 extern uint8_t OA_getRailToRailInputReadyStatus(uint16_t baseAddress);
      +
      204 
      +
      205 //*****************************************************************************
      +
      206 //
      +
      214 //
      +
      215 //*****************************************************************************
      +
      216 extern uint8_t OA_getRailToRailInputStatus(uint16_t baseAddress);
      +
      217 
      +
      218 //*****************************************************************************
      +
      219 //
      +
      225 //
      +
      226 //*****************************************************************************
      +
      227 extern void OA_enableRailToRailInput(uint16_t baseAddress);
      +
      228 
      +
      229 //*****************************************************************************
      +
      230 //
      +
      236 //
      +
      237 //*****************************************************************************
      +
      238 extern void OA_disableRailToRailInput(uint16_t baseAddress);
      +
      239 
      +
      240 //*****************************************************************************
      +
      241 //
      +
      247 //
      +
      248 //*****************************************************************************
      +
      249 extern void OA_disableAmplifierMode(uint16_t baseAddress);
      +
      250 
      +
      251 //*****************************************************************************
      +
      252 //
      +
      258 //
      +
      259 //*****************************************************************************
      +
      260 extern void OA_enableAmplifierMode(uint16_t baseAddress);
      +
      261 
      +
      262 //*****************************************************************************
      +
      263 //
      +
      271 //
      +
      272 //*****************************************************************************
      +
      273 extern uint8_t OA_getAmplifierModeStatus(uint16_t baseAddress);
      +
      274 
      +
      275 //*****************************************************************************
      +
      276 //
      +
      277 // Mark the end of the C bindings section for C++ compilers.
      +
      278 //
      +
      279 //*****************************************************************************
      +
      280 #ifdef __cplusplus
      +
      281 }
      +
      282 #endif
      +
      283 
      +
      284 #endif
      +
      285 #endif // __MSP430WARE_OA_H__
      + +
      +
      + + + + diff --git a/Documentation/html/pages.html b/Documentation/html/pages.html index 482781b..8478449 100644 --- a/Documentation/html/pages.html +++ b/Documentation/html/pages.html @@ -106,7 +106,7 @@ $(document).ready(function(){initNavTree('pages.html',''); initResizable(); }); diff --git a/Documentation/html/pmap_8c.html b/Documentation/html/pmap_8c.html new file mode 100644 index 0000000..50655fa --- /dev/null +++ b/Documentation/html/pmap_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/pmap.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      pmap.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/pmap_8c_source.html b/Documentation/html/pmap_8c_source.html new file mode 100644 index 0000000..0f8e97c --- /dev/null +++ b/Documentation/html/pmap_8c_source.html @@ -0,0 +1,161 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/pmap.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      pmap.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // pmap.c - Driver for the pmap Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_PORT_MAPPING__
      +
      17 #include "pmap.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void PMAP_initPorts ( uint16_t baseAddress,
      +
      22  PMAP_initPortsParam *param)
      +
      23 {
      +
      24 
      +
      25  //Store current interrupt state, then disable all interrupts
      +
      26  uint16_t globalInterruptState = __get_SR_register() & GIE;
      +
      27  __disable_interrupt();
      +
      28 
      +
      29  //Get write-access to port mapping registers:
      +
      30  HWREG16(baseAddress + OFS_PMAPKEYID) = PMAPPW;
      +
      31 
      +
      32  //Enable/Disable reconfiguration during runtime
      +
      33  HWREG8(baseAddress + OFS_PMAPCTL) &= ~PMAPRECFG;
      +
      34  HWREG8(baseAddress + OFS_PMAPCTL) |= param->portMapReconfigure;
      +
      35 
      +
      36  //Configure Port Mapping:
      +
      37  uint16_t i;
      +
      38  for (i = 0; i < param->numberOfPorts * 8; i++)
      +
      39  {
      +
      40  param->PxMAPy[i] = param->portMapping[i];
      +
      41  }
      +
      42 
      +
      43  //Disable write-access to port mapping registers:
      +
      44  HWREG8(baseAddress + OFS_PMAPKEYID) = 0;
      +
      45 
      +
      46  //Restore previous interrupt state
      +
      47  __bis_SR_register(globalInterruptState);
      +
      48 }
      +
      49 
      +
      50 #endif
      +
      51 //*****************************************************************************
      +
      52 //
      +
      55 //
      +
      56 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/pmap_8h.html b/Documentation/html/pmap_8h.html new file mode 100644 index 0000000..7e5ebc2 --- /dev/null +++ b/Documentation/html/pmap_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/pmap.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      pmap.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/pmap_8h_source.html b/Documentation/html/pmap_8h_source.html new file mode 100644 index 0000000..89aab0b --- /dev/null +++ b/Documentation/html/pmap_8h_source.html @@ -0,0 +1,176 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/pmap.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      pmap.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // pmap.h - Driver for the PMAP Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_PMAP_H__
      +
      8 #define __MSP430WARE_PMAP_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_PORT_MAPPING__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 typedef struct PMAP_initPortsParam {
      +
      33  const uint8_t* portMapping;
      +
      35  uint8_t* PxMAPy;
      +
      37  uint8_t numberOfPorts;
      +
      42  uint8_t portMapReconfigure;
      +
      43 } PMAP_initPortsParam;
      +
      44 
      +
      45 
      +
      46 //*****************************************************************************
      +
      47 //
      +
      48 // The following are values that can be passed to the param parameter for
      +
      49 // functions: PMAP_initPorts().
      +
      50 //
      +
      51 //*****************************************************************************
      +
      52 #define PMAP_ENABLE_RECONFIGURATION PMAPRECFG
      +
      53 #define PMAP_DISABLE_RECONFIGURATION 0x00
      +
      54 
      +
      55 //*****************************************************************************
      +
      56 //
      +
      57 // Prototypes for the APIs.
      +
      58 //
      +
      59 //*****************************************************************************
      +
      60 
      +
      61 //*****************************************************************************
      +
      62 //
      +
      71 //
      +
      72 //*****************************************************************************
      +
      73 extern void PMAP_initPorts(uint16_t baseAddress,
      +
      74  PMAP_initPortsParam *param);
      +
      75 
      +
      76 //*****************************************************************************
      +
      77 //
      +
      78 // Mark the end of the C bindings section for C++ compilers.
      +
      79 //
      +
      80 //*****************************************************************************
      +
      81 #ifdef __cplusplus
      +
      82 }
      +
      83 #endif
      +
      84 
      +
      85 #endif
      +
      86 #endif // __MSP430WARE_PMAP_H__
      + +
      +
      + + + + diff --git a/Documentation/html/pmm_8c.html b/Documentation/html/pmm_8c.html new file mode 100644 index 0000000..da26377 --- /dev/null +++ b/Documentation/html/pmm_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/pmm.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      pmm.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/pmm_8c_source.html b/Documentation/html/pmm_8c_source.html new file mode 100644 index 0000000..83dba33 --- /dev/null +++ b/Documentation/html/pmm_8c_source.html @@ -0,0 +1,615 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/pmm.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      pmm.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // pmm.c - Driver for the pmm Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_PMM__
      +
      17 #include "pmm.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void PMM_enableSvsL (void)
      +
      22 {
      +
      23  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      24  HWREG16(PMM_BASE + OFS_SVSMLCTL) |= SVSLE;
      +
      25  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      26 }
      +
      27 
      +
      28 void PMM_disableSvsL (void)
      +
      29 {
      +
      30  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      31  HWREG16(PMM_BASE + OFS_SVSMLCTL) &= ~SVSLE;
      +
      32  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      33 }
      +
      34 
      +
      35 void PMM_enableSvmL (void)
      +
      36 {
      +
      37  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      38  HWREG16(PMM_BASE + OFS_SVSMLCTL) |= SVMLE;
      +
      39  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      40 }
      +
      41 
      +
      42 void PMM_disableSvmL (void)
      +
      43 {
      +
      44  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      45  HWREG16(PMM_BASE + OFS_SVSMLCTL) &= ~SVMLE;
      +
      46  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      47 }
      +
      48 
      +
      49 void PMM_enableSvsH (void)
      +
      50 {
      +
      51  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      52  HWREG16(PMM_BASE + OFS_SVSMHCTL) |= SVSHE;
      +
      53  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      54 }
      +
      55 
      +
      56 void PMM_disableSvsH (void)
      +
      57 {
      +
      58  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      59  HWREG16(PMM_BASE + OFS_SVSMHCTL) &= ~SVSHE;
      +
      60  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      61 }
      +
      62 
      +
      63 void PMM_enableSvmH (void)
      +
      64 {
      +
      65  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      66  HWREG16(PMM_BASE + OFS_SVSMHCTL) |= SVMHE;
      +
      67  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      68 }
      +
      69 
      +
      70 void PMM_disableSvmH (void)
      +
      71 {
      +
      72  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      73  HWREG16(PMM_BASE + OFS_SVSMHCTL) &= ~SVMHE;
      +
      74  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      75 }
      +
      76 
      +
      77 void PMM_enableSvsLSvmL (void)
      +
      78 {
      +
      79  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      80  HWREG16(PMM_BASE + OFS_SVSMLCTL) |= (SVSLE + SVMLE);
      +
      81  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      82 }
      +
      83 
      +
      84 void PMM_disableSvsLSvmL (void)
      +
      85 {
      +
      86  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      87  HWREG16(PMM_BASE + OFS_SVSMLCTL) &= ~(SVSLE + SVMLE);
      +
      88  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      89 }
      +
      90 
      +
      91 void PMM_enableSvsHSvmH (void)
      +
      92 {
      +
      93  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      94  HWREG16(PMM_BASE + OFS_SVSMHCTL) |= (SVSHE + SVMHE);
      +
      95  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      96 }
      +
      97 
      +
      98 void PMM_disableSvsHSvmH (void)
      +
      99 {
      +
      100  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      101  HWREG16(PMM_BASE + OFS_SVSMHCTL) &= ~(SVSHE + SVMHE);
      +
      102  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      103 }
      +
      104 
      +
      105 void PMM_enableSvsLReset (void)
      +
      106 {
      +
      107  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      108  HWREG16(PMM_BASE + OFS_PMMRIE) |= SVSLPE;
      +
      109  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      110 }
      +
      111 
      +
      112 void PMM_disableSvsLReset (void)
      +
      113 {
      +
      114  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      115  HWREG16(PMM_BASE + OFS_PMMRIE) &= ~SVSLPE;
      +
      116  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      117 }
      +
      118 
      +
      119 void PMM_enableSvmLInterrupt (void)
      +
      120 {
      +
      121  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      122  HWREG16(PMM_BASE + OFS_PMMRIE) |= SVMLIE;
      +
      123  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      124 }
      +
      125 
      +
      126 void PMM_disableSvmLInterrupt (void)
      +
      127 {
      +
      128  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      129  HWREG16(PMM_BASE + OFS_PMMRIE) &= ~SVMLIE;
      +
      130  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      131 }
      +
      132 
      +
      133 void PMM_enableSvsHReset (void)
      +
      134 {
      +
      135  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      136  HWREG16(PMM_BASE + OFS_PMMRIE) |= SVSHPE;
      +
      137  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      138 }
      +
      139 
      +
      140 void PMM_disableSvsHReset (void)
      +
      141 {
      +
      142  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      143  HWREG16(PMM_BASE + OFS_PMMRIE) &= ~SVSHPE;
      +
      144  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      145 }
      +
      146 
      +
      147 void PMM_enableSvmHInterrupt (void)
      +
      148 {
      +
      149  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      150  HWREG16(PMM_BASE + OFS_PMMRIE) |= SVMHIE;
      +
      151  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      152 }
      +
      153 
      +
      154 void PMM_disableSvmHInterrupt (void)
      +
      155 {
      +
      156  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      157  HWREG16(PMM_BASE + OFS_PMMRIE) &= ~SVMHIE;
      +
      158  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      159 }
      +
      160 
      +
      161 void PMM_clearPMMIFGS (void)
      +
      162 {
      +
      163  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      164  HWREG16(PMM_BASE + OFS_PMMIFG) = 0;
      +
      165  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      166 }
      +
      167 
      +
      168 void PMM_enableSvsLInLPMFastWake (void)
      +
      169 {
      +
      170  //These settings use SVSH/LACE = 0
      +
      171  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      172  HWREG16(PMM_BASE + OFS_SVSMLCTL) |= (SVSLFP + SVSLMD);
      +
      173  HWREG16(PMM_BASE + OFS_SVSMLCTL) &= ~SVSMLACE;
      +
      174  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      175 }
      +
      176 
      +
      177 void PMM_enableSvsLInLPMSlowWake (void)
      +
      178 {
      +
      179  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      180  HWREG16(PMM_BASE + OFS_SVSMLCTL) |= SVSLMD;
      +
      181  HWREG16(PMM_BASE + OFS_SVSMLCTL) &= ~(SVSLFP + SVSMLACE);
      +
      182  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      183 }
      +
      184 
      +
      185 void PMM_disableSvsLInLPMFastWake (void)
      +
      186 {
      +
      187  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      188  HWREG16(PMM_BASE + OFS_SVSMLCTL) |= SVSLFP;
      +
      189  HWREG16(PMM_BASE + OFS_SVSMLCTL) &= ~(SVSLMD + SVSMLACE);
      +
      190  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      191 }
      +
      192 
      +
      193 void PMM_disableSvsLInLPMSlowWake (void)
      +
      194 {
      +
      195  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      196  HWREG16(PMM_BASE + OFS_SVSMLCTL) &= ~(SVSLFP + SVSMLACE + SVSLMD);
      +
      197  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      198 }
      +
      199 
      +
      200 void PMM_enableSvsHInLPMNormPerf (void)
      +
      201 {
      +
      202  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      203  HWREG16(PMM_BASE + OFS_SVSMHCTL) |= SVSHMD;
      +
      204  HWREG16(PMM_BASE + OFS_SVSMHCTL) &= ~(SVSMHACE + SVSHFP);
      +
      205  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      206 }
      +
      207 
      +
      208 void PMM_enableSvsHInLPMFullPerf (void)
      +
      209 {
      +
      210  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      211  HWREG16(PMM_BASE + OFS_SVSMHCTL) |= (SVSHMD + SVSHFP);
      +
      212  HWREG16(PMM_BASE + OFS_SVSMHCTL) &= ~SVSMHACE;
      +
      213  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      214 }
      +
      215 
      +
      216 void PMM_disableSvsHInLPMNormPerf (void)
      +
      217 {
      +
      218  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      219  HWREG16(PMM_BASE + OFS_SVSMHCTL) &= ~(SVSMHACE + SVSHFP + SVSHMD);
      +
      220  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      221 }
      +
      222 
      +
      223 void PMM_disableSvsHInLPMFullPerf (void)
      +
      224 {
      +
      225  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      226  HWREG16(PMM_BASE + OFS_SVSMHCTL) |= SVSHFP;
      +
      227  HWREG16(PMM_BASE + OFS_SVSMHCTL) &= ~(SVSMHACE + SVSHMD);
      +
      228  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      229 }
      +
      230 
      +
      231 void PMM_optimizeSvsLInLPMFastWake (void)
      +
      232 {
      +
      233  //These setting use SVSH/LACE = 1
      +
      234  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      235  HWREG16(PMM_BASE + OFS_SVSMLCTL) |= (SVSLFP + SVSLMD + SVSMLACE);
      +
      236  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      237 }
      +
      238 
      +
      239 void PMM_optimizeSvsHInLPMFullPerf (void)
      +
      240 {
      +
      241  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      242  HWREG16(PMM_BASE + OFS_SVSMHCTL) |= (SVSHMD + SVSHFP + SVSMHACE);
      +
      243  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      244 }
      +
      245 
      +
      246 uint16_t PMM_setVCoreUp ( uint8_t level){
      +
      247  uint32_t PMMRIE_backup, SVSMHCTL_backup, SVSMLCTL_backup;
      +
      248 
      +
      249  //The code flow for increasing the Vcore has been altered to work around
      +
      250  //the erratum FLASH37.
      +
      251  //Please refer to the Errata sheet to know if a specific device is affected
      +
      252  //DO NOT ALTER THIS FUNCTION
      +
      253 
      +
      254  //Open PMM registers for write access
      +
      255  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      256 
      +
      257  //Disable dedicated Interrupts
      +
      258  //Backup all registers
      +
      259  PMMRIE_backup = HWREG16(PMM_BASE + OFS_PMMRIE);
      +
      260  HWREG16(PMM_BASE + OFS_PMMRIE) &= ~(SVMHVLRPE | SVSHPE | SVMLVLRPE |
      +
      261  SVSLPE | SVMHVLRIE | SVMHIE |
      +
      262  SVSMHDLYIE | SVMLVLRIE | SVMLIE |
      +
      263  SVSMLDLYIE
      +
      264  );
      +
      265  SVSMHCTL_backup = HWREG16(PMM_BASE + OFS_SVSMHCTL);
      +
      266  SVSMLCTL_backup = HWREG16(PMM_BASE + OFS_SVSMLCTL);
      +
      267 
      +
      268  //Clear flags
      +
      269  HWREG16(PMM_BASE + OFS_PMMIFG) = 0;
      +
      270 
      +
      271  //Set SVM highside to new level and check if a VCore increase is possible
      +
      272  HWREG16(PMM_BASE + OFS_SVSMHCTL) = SVMHE | SVSHE | (SVSMHRRL0 * level);
      +
      273 
      +
      274  //Wait until SVM highside is settled
      +
      275  while ((HWREG16(PMM_BASE + OFS_PMMIFG) & SVSMHDLYIFG) == 0) ;
      +
      276 
      +
      277  //Clear flag
      +
      278  HWREG16(PMM_BASE + OFS_PMMIFG) &= ~SVSMHDLYIFG;
      +
      279 
      +
      280  //Check if a VCore increase is possible
      +
      281  if ((HWREG16(PMM_BASE + OFS_PMMIFG) & SVMHIFG) == SVMHIFG){
      +
      282  //-> Vcc is too low for a Vcore increase
      +
      283  //recover the previous settings
      +
      284  HWREG16(PMM_BASE + OFS_PMMIFG) &= ~SVSMHDLYIFG;
      +
      285  HWREG16(PMM_BASE + OFS_SVSMHCTL) = SVSMHCTL_backup;
      +
      286 
      +
      287  //Wait until SVM highside is settled
      +
      288  while ((HWREG16(PMM_BASE + OFS_PMMIFG) & SVSMHDLYIFG) == 0) ;
      +
      289 
      +
      290  //Clear all Flags
      +
      291  HWREG16(PMM_BASE +
      +
      292  OFS_PMMIFG) &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG |
      +
      293  SVMLVLRIFG | SVMLIFG |
      +
      294  SVSMLDLYIFG
      +
      295  );
      +
      296 
      +
      297  //Restore PMM interrupt enable register
      +
      298  HWREG16(PMM_BASE + OFS_PMMRIE) = PMMRIE_backup;
      +
      299  //Lock PMM registers for write access
      +
      300  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      301  //return: voltage not set
      +
      302  return ( STATUS_FAIL) ;
      +
      303  }
      +
      304 
      +
      305  //Set also SVS highside to new level
      +
      306  //Vcc is high enough for a Vcore increase
      +
      307  HWREG16(PMM_BASE + OFS_SVSMHCTL) |= (SVSHRVL0 * level);
      +
      308 
      +
      309  //Wait until SVM highside is settled
      +
      310  while ((HWREG16(PMM_BASE + OFS_PMMIFG) & SVSMHDLYIFG) == 0) ;
      +
      311 
      +
      312  //Clear flag
      +
      313  HWREG16(PMM_BASE + OFS_PMMIFG) &= ~SVSMHDLYIFG;
      +
      314 
      +
      315  //Set VCore to new level
      +
      316  HWREG8(PMM_BASE + OFS_PMMCTL0_L) = PMMCOREV0 * level;
      +
      317 
      +
      318  //Set SVM, SVS low side to new level
      +
      319  HWREG16(PMM_BASE + OFS_SVSMLCTL) = SVMLE | (SVSMLRRL0 * level) |
      +
      320  SVSLE | (SVSLRVL0 * level);
      +
      321 
      +
      322  //Wait until SVM, SVS low side is settled
      +
      323  while ((HWREG16(PMM_BASE + OFS_PMMIFG) & SVSMLDLYIFG) == 0) ;
      +
      324 
      +
      325  //Clear flag
      +
      326  HWREG16(PMM_BASE + OFS_PMMIFG) &= ~SVSMLDLYIFG;
      +
      327  //SVS, SVM core and high side are now set to protect for the new core level
      +
      328 
      +
      329  //Restore Low side settings
      +
      330  //Clear all other bits _except_ level settings
      +
      331  HWREG16(PMM_BASE + OFS_SVSMLCTL) &= (SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 +
      +
      332  SVSMLRRL1 + SVSMLRRL2
      +
      333  );
      +
      334 
      +
      335  //Clear level settings in the backup register,keep all other bits
      +
      336  SVSMLCTL_backup &=
      +
      337  ~(SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 + SVSMLRRL1 + SVSMLRRL2);
      +
      338 
      +
      339  //Restore low-side SVS monitor settings
      +
      340  HWREG16(PMM_BASE + OFS_SVSMLCTL) |= SVSMLCTL_backup;
      +
      341 
      +
      342  //Restore High side settings
      +
      343  //Clear all other bits except level settings
      +
      344  HWREG16(PMM_BASE + OFS_SVSMHCTL) &= (SVSHRVL0 + SVSHRVL1 +
      +
      345  SVSMHRRL0 + SVSMHRRL1 +
      +
      346  SVSMHRRL2
      +
      347  );
      +
      348 
      +
      349  //Clear level settings in the backup register,keep all other bits
      +
      350  SVSMHCTL_backup &=
      +
      351  ~(SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 + SVSMHRRL1 + SVSMHRRL2);
      +
      352 
      +
      353  //Restore backup
      +
      354  HWREG16(PMM_BASE + OFS_SVSMHCTL) |= SVSMHCTL_backup;
      +
      355 
      +
      356  //Wait until high side, low side settled
      +
      357  while (((HWREG16(PMM_BASE + OFS_PMMIFG) & SVSMLDLYIFG) == 0) ||
      +
      358  ((HWREG16(PMM_BASE + OFS_PMMIFG) & SVSMHDLYIFG) == 0)) ;
      +
      359 
      +
      360  //Clear all Flags
      +
      361  HWREG16(PMM_BASE + OFS_PMMIFG) &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG |
      +
      362  SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG
      +
      363  );
      +
      364 
      +
      365  //Restore PMM interrupt enable register
      +
      366  HWREG16(PMM_BASE + OFS_PMMRIE) = PMMRIE_backup;
      +
      367 
      +
      368  //Lock PMM registers for write access
      +
      369  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      370 
      +
      371  return ( STATUS_SUCCESS) ;
      +
      372 }
      +
      373 
      +
      374 uint16_t PMM_setVCoreDown ( uint8_t level){
      +
      375  uint32_t PMMRIE_backup, SVSMHCTL_backup, SVSMLCTL_backup;
      +
      376 
      +
      377  //The code flow for decreasing the Vcore has been altered to work around
      +
      378  //the erratum FLASH37.
      +
      379  //Please refer to the Errata sheet to know if a specific device is affected
      +
      380  //DO NOT ALTER THIS FUNCTION
      +
      381 
      +
      382  //Open PMM registers for write access
      +
      383  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0xA5;
      +
      384 
      +
      385  //Disable dedicated Interrupts
      +
      386  //Backup all registers
      +
      387  PMMRIE_backup = HWREG16(PMM_BASE + OFS_PMMRIE);
      +
      388  HWREG16(PMM_BASE + OFS_PMMRIE) &= ~(SVMHVLRPE | SVSHPE | SVMLVLRPE |
      +
      389  SVSLPE | SVMHVLRIE | SVMHIE |
      +
      390  SVSMHDLYIE | SVMLVLRIE | SVMLIE |
      +
      391  SVSMLDLYIE
      +
      392  );
      +
      393  SVSMHCTL_backup = HWREG16(PMM_BASE + OFS_SVSMHCTL);
      +
      394  SVSMLCTL_backup = HWREG16(PMM_BASE + OFS_SVSMLCTL);
      +
      395 
      +
      396  //Clear flags
      +
      397  HWREG16(PMM_BASE + OFS_PMMIFG) &= ~(SVMHIFG | SVSMHDLYIFG |
      +
      398  SVMLIFG | SVSMLDLYIFG
      +
      399  );
      +
      400 
      +
      401  //Set SVM, SVS high & low side to new settings in normal mode
      +
      402  HWREG16(PMM_BASE + OFS_SVSMHCTL) = SVMHE | (SVSMHRRL0 * level) |
      +
      403  SVSHE | (SVSHRVL0 * level);
      +
      404  HWREG16(PMM_BASE + OFS_SVSMLCTL) = SVMLE | (SVSMLRRL0 * level) |
      +
      405  SVSLE | (SVSLRVL0 * level);
      +
      406 
      +
      407  //Wait until SVM high side and SVM low side is settled
      +
      408  while ((HWREG16(PMM_BASE + OFS_PMMIFG) & SVSMHDLYIFG) == 0 ||
      +
      409  (HWREG16(PMM_BASE + OFS_PMMIFG) & SVSMLDLYIFG) == 0) ;
      +
      410 
      +
      411  //Clear flags
      +
      412  HWREG16(PMM_BASE + OFS_PMMIFG) &= ~(SVSMHDLYIFG + SVSMLDLYIFG);
      +
      413  //SVS, SVM core and high side are now set to protect for the new core level
      +
      414 
      +
      415  //Set VCore to new level
      +
      416  HWREG8(PMM_BASE + OFS_PMMCTL0_L) = PMMCOREV0 * level;
      +
      417 
      +
      418  //Restore Low side settings
      +
      419  //Clear all other bits _except_ level settings
      +
      420  HWREG16(PMM_BASE + OFS_SVSMLCTL) &= (SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 +
      +
      421  SVSMLRRL1 + SVSMLRRL2
      +
      422  );
      +
      423 
      +
      424  //Clear level settings in the backup register,keep all other bits
      +
      425  SVSMLCTL_backup &=
      +
      426  ~(SVSLRVL0 + SVSLRVL1 + SVSMLRRL0 + SVSMLRRL1 + SVSMLRRL2);
      +
      427 
      +
      428  //Restore low-side SVS monitor settings
      +
      429  HWREG16(PMM_BASE + OFS_SVSMLCTL) |= SVSMLCTL_backup;
      +
      430 
      +
      431  //Restore High side settings
      +
      432  //Clear all other bits except level settings
      +
      433  HWREG16(PMM_BASE + OFS_SVSMHCTL) &= (SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 +
      +
      434  SVSMHRRL1 + SVSMHRRL2
      +
      435  );
      +
      436 
      +
      437  //Clear level settings in the backup register, keep all other bits
      +
      438  SVSMHCTL_backup &=
      +
      439  ~(SVSHRVL0 + SVSHRVL1 + SVSMHRRL0 + SVSMHRRL1 + SVSMHRRL2);
      +
      440 
      +
      441  //Restore backup
      +
      442  HWREG16(PMM_BASE + OFS_SVSMHCTL) |= SVSMHCTL_backup;
      +
      443 
      +
      444  //Wait until high side, low side settled
      +
      445  while (((HWREG16(PMM_BASE + OFS_PMMIFG) & SVSMLDLYIFG) == 0) ||
      +
      446  ((HWREG16(PMM_BASE + OFS_PMMIFG) & SVSMHDLYIFG) == 0)) ;
      +
      447 
      +
      448  //Clear all Flags
      +
      449  HWREG16(PMM_BASE + OFS_PMMIFG) &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG |
      +
      450  SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG
      +
      451  );
      +
      452 
      +
      453  //Restore PMM interrupt enable register
      +
      454  HWREG16(PMM_BASE + OFS_PMMRIE) = PMMRIE_backup;
      +
      455  //Lock PMM registers for write access
      +
      456  HWREG8(PMM_BASE + OFS_PMMCTL0_H) = 0x00;
      +
      457  //Return: OK
      +
      458  return ( STATUS_SUCCESS) ;
      +
      459 }
      +
      460 
      +
      461 bool PMM_setVCore ( uint8_t level){
      +
      462  uint8_t actlevel;
      +
      463  bool status = STATUS_SUCCESS;
      +
      464  uint16_t interruptState;
      +
      465 
      +
      466  //Set Mask for Max. level
      +
      467  level &= PMMCOREV_3;
      +
      468 
      +
      469  //Get actual VCore
      +
      470  actlevel = (HWREG16(PMM_BASE + OFS_PMMCTL0) & PMMCOREV_3);
      +
      471 
      +
      472  //Disable interrupts because certain peripherals will not
      +
      473  //work during VCORE change
      +
      474  interruptState = __get_interrupt_state();
      +
      475  __disable_interrupt();
      +
      476  __no_operation();
      +
      477 
      +
      478  //step by step increase or decrease
      +
      479  while ((level != actlevel) && (status == STATUS_SUCCESS))
      +
      480  {
      +
      481  if (level > actlevel){
      +
      482  status = PMM_setVCoreUp(++actlevel);
      +
      483  } else {
      +
      484  status = PMM_setVCoreDown(--actlevel);
      +
      485  }
      +
      486  }
      +
      487 
      +
      488  //Re-enable interrupt state to whatever it was before
      +
      489  if(interruptState & GIE)
      +
      490  {
      +
      491  __enable_interrupt();
      +
      492  }
      +
      493 
      +
      494  return ( status) ;
      +
      495 }
      +
      496 
      +
      497 uint16_t PMM_getInterruptStatus (uint16_t mask)
      +
      498 {
      +
      499  return ( (HWREG16(PMM_BASE + OFS_PMMIFG)) & mask );
      +
      500 }
      +
      501 
      +
      502 #endif
      +
      503 //*****************************************************************************
      +
      504 //
      +
      507 //
      +
      508 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      +
      #define STATUS_FAIL
      Definition: hw_memmap.h:23
      +
      #define STATUS_SUCCESS
      Definition: hw_memmap.h:22
      + +
      +
      + + + + diff --git a/Documentation/html/pmm_8h.html b/Documentation/html/pmm_8h.html new file mode 100644 index 0000000..86a946e --- /dev/null +++ b/Documentation/html/pmm_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/pmm.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      pmm.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/pmm_8h_source.html b/Documentation/html/pmm_8h_source.html new file mode 100644 index 0000000..18ceeb0 --- /dev/null +++ b/Documentation/html/pmm_8h_source.html @@ -0,0 +1,388 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/pmm.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      pmm.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // pmm.h - Driver for the PMM Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_PMM_H__
      +
      8 #define __MSP430WARE_PMM_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_PMM__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 //*****************************************************************************
      +
      26 //
      +
      27 // The following are values that can be passed to the level parameter for
      +
      28 // functions: PMM_setVCoreUp(), PMM_setVCoreDown(), and PMM_setVCore().
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 #define PMM_CORE_LEVEL_0 PMMCOREV_0
      +
      32 #define PMM_CORE_LEVEL_1 PMMCOREV_1
      +
      33 #define PMM_CORE_LEVEL_2 PMMCOREV_2
      +
      34 #define PMM_CORE_LEVEL_3 PMMCOREV_3
      +
      35 
      +
      36 //*****************************************************************************
      +
      37 //
      +
      38 // The following are values that can be passed to the mask parameter for
      +
      39 // functions: PMM_getInterruptStatus() as well as returned by the
      +
      40 // PMM_getInterruptStatus() function.
      +
      41 //
      +
      42 //*****************************************************************************
      +
      43 #define PMM_SVSMLDLYIFG SVSMLDLYIFG
      +
      44 #define PMM_SVMLIFG SVMLIFG
      +
      45 #define PMM_SVMLVLRIFG SVMLVLRIFG
      +
      46 #define PMM_SVSMHDLYIFG SVSMHDLYIFG
      +
      47 #define PMM_SVMHIFG SVMHIFG
      +
      48 #define PMM_SVMHVLRIFG SVMHVLRIFG
      +
      49 #define PMM_PMMBORIFG PMMBORIFG
      +
      50 #define PMM_PMMRSTIFG PMMRSTIFG
      +
      51 #define PMM_PMMPORIFG PMMPORIFG
      +
      52 #define PMM_SVSHIFG SVSHIFG
      +
      53 #define PMM_SVSLIFG SVSLIFG
      +
      54 #define PMM_PMMLPM5IFG PMMLPM5IFG
      +
      55 
      +
      56 //*****************************************************************************
      +
      57 //
      +
      58 // Prototypes for the APIs.
      +
      59 //
      +
      60 //*****************************************************************************
      +
      61 
      +
      62 //*****************************************************************************
      +
      63 //
      +
      70 //
      +
      71 //*****************************************************************************
      +
      72 extern void PMM_enableSvsL(void);
      +
      73 
      +
      74 //*****************************************************************************
      +
      75 //
      +
      82 //
      +
      83 //*****************************************************************************
      +
      84 extern void PMM_disableSvsL(void);
      +
      85 
      +
      86 //*****************************************************************************
      +
      87 //
      +
      94 //
      +
      95 //*****************************************************************************
      +
      96 extern void PMM_enableSvmL(void);
      +
      97 
      +
      98 //*****************************************************************************
      +
      99 //
      +
      106 //
      +
      107 //*****************************************************************************
      +
      108 extern void PMM_disableSvmL(void);
      +
      109 
      +
      110 //*****************************************************************************
      +
      111 //
      +
      118 //
      +
      119 //*****************************************************************************
      +
      120 extern void PMM_enableSvsH(void);
      +
      121 
      +
      122 //*****************************************************************************
      +
      123 //
      +
      130 //
      +
      131 //*****************************************************************************
      +
      132 extern void PMM_disableSvsH(void);
      +
      133 
      +
      134 //*****************************************************************************
      +
      135 //
      +
      142 //
      +
      143 //*****************************************************************************
      +
      144 extern void PMM_enableSvmH(void);
      +
      145 
      +
      146 //*****************************************************************************
      +
      147 //
      +
      154 //
      +
      155 //*****************************************************************************
      +
      156 extern void PMM_disableSvmH(void);
      +
      157 
      +
      158 //*****************************************************************************
      +
      159 //
      +
      166 //
      +
      167 //*****************************************************************************
      +
      168 extern void PMM_enableSvsLSvmL(void);
      +
      169 
      +
      170 //*****************************************************************************
      +
      171 //
      +
      178 //
      +
      179 //*****************************************************************************
      +
      180 extern void PMM_disableSvsLSvmL(void);
      +
      181 
      +
      182 //*****************************************************************************
      +
      183 //
      +
      190 //
      +
      191 //*****************************************************************************
      +
      192 extern void PMM_enableSvsHSvmH(void);
      +
      193 
      +
      194 //*****************************************************************************
      +
      195 //
      +
      202 //
      +
      203 //*****************************************************************************
      +
      204 extern void PMM_disableSvsHSvmH(void);
      +
      205 
      +
      206 //*****************************************************************************
      +
      207 //
      +
      215 //
      +
      216 //*****************************************************************************
      +
      217 extern void PMM_enableSvsLReset(void);
      +
      218 
      +
      219 //*****************************************************************************
      +
      220 //
      +
      228 //
      +
      229 //*****************************************************************************
      +
      230 extern void PMM_disableSvsLReset(void);
      +
      231 
      +
      232 //*****************************************************************************
      +
      233 //
      +
      241 //
      +
      242 //*****************************************************************************
      +
      243 extern void PMM_enableSvmLInterrupt(void);
      +
      244 
      +
      245 //*****************************************************************************
      +
      246 //
      +
      254 //
      +
      255 //*****************************************************************************
      +
      256 extern void PMM_disableSvmLInterrupt(void);
      +
      257 
      +
      258 //*****************************************************************************
      +
      259 //
      +
      267 //
      +
      268 //*****************************************************************************
      +
      269 extern void PMM_enableSvsHReset(void);
      +
      270 
      +
      271 //*****************************************************************************
      +
      272 //
      +
      280 //
      +
      281 //*****************************************************************************
      +
      282 extern void PMM_disableSvsHReset(void);
      +
      283 
      +
      284 //*****************************************************************************
      +
      285 //
      +
      293 //
      +
      294 //*****************************************************************************
      +
      295 extern void PMM_enableSvmHInterrupt(void);
      +
      296 
      +
      297 //*****************************************************************************
      +
      298 //
      +
      306 //
      +
      307 //*****************************************************************************
      +
      308 extern void PMM_disableSvmHInterrupt(void);
      +
      309 
      +
      310 //*****************************************************************************
      +
      311 //
      +
      318 //
      +
      319 //*****************************************************************************
      +
      320 extern void PMM_clearPMMIFGS(void);
      +
      321 
      +
      322 //*****************************************************************************
      +
      323 //
      +
      331 //
      +
      332 //*****************************************************************************
      +
      333 extern void PMM_enableSvsLInLPMFastWake(void);
      +
      334 
      +
      335 //*****************************************************************************
      +
      336 //
      +
      344 //
      +
      345 //*****************************************************************************
      +
      346 extern void PMM_enableSvsLInLPMSlowWake(void);
      +
      347 
      +
      348 //*****************************************************************************
      +
      349 //
      +
      357 //
      +
      358 //*****************************************************************************
      +
      359 extern void PMM_disableSvsLInLPMFastWake(void);
      +
      360 
      +
      361 //*****************************************************************************
      +
      362 //
      +
      370 //
      +
      371 //*****************************************************************************
      +
      372 extern void PMM_disableSvsLInLPMSlowWake(void);
      +
      373 
      +
      374 //*****************************************************************************
      +
      375 //
      +
      382 //
      +
      383 //*****************************************************************************
      +
      384 extern void PMM_enableSvsHInLPMNormPerf(void);
      +
      385 
      +
      386 //*****************************************************************************
      +
      387 //
      +
      394 //
      +
      395 //*****************************************************************************
      +
      396 extern void PMM_enableSvsHInLPMFullPerf(void);
      +
      397 
      +
      398 //*****************************************************************************
      +
      399 //
      +
      406 //
      +
      407 //*****************************************************************************
      +
      408 extern void PMM_disableSvsHInLPMNormPerf(void);
      +
      409 
      +
      410 //*****************************************************************************
      +
      411 //
      +
      418 //
      +
      419 //*****************************************************************************
      +
      420 extern void PMM_disableSvsHInLPMFullPerf(void);
      +
      421 
      +
      422 //*****************************************************************************
      +
      423 //
      +
      431 //
      +
      432 //*****************************************************************************
      +
      433 extern void PMM_optimizeSvsLInLPMFastWake(void);
      +
      434 
      +
      435 //*****************************************************************************
      +
      436 //
      +
      443 //
      +
      444 //*****************************************************************************
      +
      445 extern void PMM_optimizeSvsHInLPMFullPerf(void);
      +
      446 
      +
      447 //*****************************************************************************
      +
      448 //
      +
      463 //
      +
      464 //*****************************************************************************
      +
      465 extern uint16_t PMM_setVCoreUp(uint8_t level);
      +
      466 
      +
      467 //*****************************************************************************
      +
      468 //
      +
      483 //
      +
      484 //*****************************************************************************
      +
      485 extern uint16_t PMM_setVCoreDown(uint8_t level);
      +
      486 
      +
      487 //*****************************************************************************
      +
      488 //
      +
      503 //
      +
      504 //*****************************************************************************
      +
      505 extern bool PMM_setVCore(uint8_t level);
      +
      506 
      +
      507 //*****************************************************************************
      +
      508 //
      +
      540 //
      +
      541 //*****************************************************************************
      +
      542 extern uint16_t PMM_getInterruptStatus(uint16_t mask);
      +
      543 
      +
      544 //*****************************************************************************
      +
      545 //
      +
      546 // Mark the end of the C bindings section for C++ compilers.
      +
      547 //
      +
      548 //*****************************************************************************
      +
      549 #ifdef __cplusplus
      +
      550 }
      +
      551 #endif
      +
      552 
      +
      553 #endif
      +
      554 #endif // __MSP430WARE_PMM_H__
      + +
      +
      + + + + diff --git a/Documentation/html/ram_8c.html b/Documentation/html/ram_8c.html new file mode 100644 index 0000000..33bd1fd --- /dev/null +++ b/Documentation/html/ram_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ram.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ram.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/ram_8c_source.html b/Documentation/html/ram_8c_source.html new file mode 100644 index 0000000..4f838df --- /dev/null +++ b/Documentation/html/ram_8c_source.html @@ -0,0 +1,145 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ram.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ram.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // ram.c - Driver for the ram Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_RC__
      +
      17 #include "ram.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void RAM_setSectorOff (uint8_t sector
      +
      22  )
      +
      23 {
      +
      24  //Write key to start write to RCCTL0 and sector
      +
      25  HWREG16(RAM_BASE + OFS_RCCTL0) = (RCKEY + sector);
      +
      26 }
      +
      27 
      +
      28 uint8_t RAM_getSectorState (uint8_t sector
      +
      29  )
      +
      30 {
      +
      31  return (HWREG8(RAM_BASE + OFS_RCCTL0_L) & sector);
      +
      32 }
      +
      33 
      +
      34 #endif
      +
      35 //*****************************************************************************
      +
      36 //
      +
      39 //
      +
      40 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/ram_8h.html b/Documentation/html/ram_8h.html new file mode 100644 index 0000000..777fb4c --- /dev/null +++ b/Documentation/html/ram_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ram.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ram.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/ram_8h_source.html b/Documentation/html/ram_8h_source.html new file mode 100644 index 0000000..08bfd63 --- /dev/null +++ b/Documentation/html/ram_8h_source.html @@ -0,0 +1,175 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ram.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ram.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // ram.h - Driver for the RAM Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_RAM_H__
      +
      8 #define __MSP430WARE_RAM_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_RC__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 //*****************************************************************************
      +
      26 //
      +
      27 // The following are values that can be passed to the sector parameter for
      +
      28 // functions: RAM_setSectorOff(), and RAM_getSectorState() as well as returned
      +
      29 // by the RAM_getSectorState() function.
      +
      30 //
      +
      31 //*****************************************************************************
      +
      32 #define RAM_SECTOR0 RCRS0OFF
      +
      33 #define RAM_SECTOR1 RCRS1OFF
      +
      34 #define RAM_SECTOR2 RCRS2OFF
      +
      35 #define RAM_SECTOR3 RCRS3OFF
      +
      36 #define RAM_SECTOR4 RCRS4OFF
      +
      37 #define RAM_SECTOR5 RCRS5OFF
      +
      38 #define RAM_SECTOR6 RCRS6OFF
      +
      39 #define RAM_SECTOR7 RCRS7OFF
      +
      40 
      +
      41 //*****************************************************************************
      +
      42 //
      +
      43 // Prototypes for the APIs.
      +
      44 //
      +
      45 //*****************************************************************************
      +
      46 
      +
      47 //*****************************************************************************
      +
      48 //
      +
      65 //
      +
      66 //*****************************************************************************
      +
      67 extern void RAM_setSectorOff(uint8_t sector);
      +
      68 
      +
      69 //*****************************************************************************
      +
      70 //
      +
      96 //
      +
      97 //*****************************************************************************
      +
      98 extern uint8_t RAM_getSectorState(uint8_t sector);
      +
      99 
      +
      100 //*****************************************************************************
      +
      101 //
      +
      102 // Mark the end of the C bindings section for C++ compilers.
      +
      103 //
      +
      104 //*****************************************************************************
      +
      105 #ifdef __cplusplus
      +
      106 }
      +
      107 #endif
      +
      108 
      +
      109 #endif
      +
      110 #endif // __MSP430WARE_RAM_H__
      + +
      +
      + + + + diff --git a/Documentation/html/ref_8c.html b/Documentation/html/ref_8c.html new file mode 100644 index 0000000..56aea97 --- /dev/null +++ b/Documentation/html/ref_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ref.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ref.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/ref_8c_source.html b/Documentation/html/ref_8c_source.html new file mode 100644 index 0000000..2e47886 --- /dev/null +++ b/Documentation/html/ref_8c_source.html @@ -0,0 +1,198 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ref.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ref.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // ref.c - Driver for the ref Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_REF__
      +
      17 #include "ref.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void Ref_setReferenceVoltage (uint16_t baseAddress,
      +
      22  uint8_t referenceVoltageSelect)
      +
      23 {
      +
      24  HWREG8(baseAddress + OFS_REFCTL0_L) &= ~(REFVSEL_3);
      +
      25  HWREG8(baseAddress + OFS_REFCTL0_L) |= referenceVoltageSelect;
      +
      26 }
      +
      27 
      +
      28 void Ref_disableTempSensor (uint16_t baseAddress)
      +
      29 {
      +
      30  HWREG8(baseAddress + OFS_REFCTL0_L) |= REFTCOFF;
      +
      31 }
      +
      32 
      +
      33 void Ref_enableTempSensor (uint16_t baseAddress)
      +
      34 {
      +
      35  HWREG8(baseAddress + OFS_REFCTL0_L) &= ~(REFTCOFF);
      +
      36 }
      +
      37 
      +
      38 void Ref_enableReferenceVoltageOutput (uint16_t baseAddress)
      +
      39 {
      +
      40  HWREG8(baseAddress + OFS_REFCTL0_L) |= REFOUT;
      +
      41 }
      +
      42 
      +
      43 void Ref_disableReferenceVoltageOutput (uint16_t baseAddress)
      +
      44 {
      +
      45  HWREG8(baseAddress + OFS_REFCTL0_L) &= ~(REFOUT);
      +
      46 }
      +
      47 
      +
      48 void Ref_enableReferenceVoltage (uint16_t baseAddress)
      +
      49 {
      +
      50  HWREG8(baseAddress + OFS_REFCTL0_L) |= REFON;
      +
      51 }
      +
      52 
      +
      53 void Ref_disableReferenceVoltage (uint16_t baseAddress)
      +
      54 {
      +
      55  HWREG8(baseAddress + OFS_REFCTL0_L) &= ~(REFON);
      +
      56 }
      +
      57 
      +
      58 uint16_t Ref_getBandgapMode (uint16_t baseAddress)
      +
      59 {
      +
      60  return (HWREG16((baseAddress) + OFS_REFCTL0) & BGMODE);
      +
      61 }
      +
      62 
      +
      63 bool Ref_isBandgapActive (uint16_t baseAddress)
      +
      64 {
      +
      65  if (HWREG16((baseAddress) + OFS_REFCTL0) & REFBGACT){
      +
      66  return (REF_ACTIVE) ;
      +
      67  } else {
      +
      68  return (REF_INACTIVE) ;
      +
      69  }
      +
      70 }
      +
      71 
      +
      72 uint16_t Ref_isRefGenBusy (uint16_t baseAddress)
      +
      73 {
      +
      74  return (HWREG16((baseAddress) + OFS_REFCTL0) & REFGENBUSY);
      +
      75 }
      +
      76 
      +
      77 bool Ref_isRefGenActive (uint16_t baseAddress)
      +
      78 {
      +
      79  if (HWREG16((baseAddress) + OFS_REFCTL0) & REFGENACT){
      +
      80  return (REF_ACTIVE) ;
      +
      81  } else {
      +
      82  return (REF_INACTIVE) ;
      +
      83  }
      +
      84 }
      +
      85 
      +
      86 
      +
      87 #endif
      +
      88 //*****************************************************************************
      +
      89 //
      +
      92 //
      +
      93 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/ref_8h.html b/Documentation/html/ref_8h.html new file mode 100644 index 0000000..7bb694c --- /dev/null +++ b/Documentation/html/ref_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ref.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ref.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/ref_8h_source.html b/Documentation/html/ref_8h_source.html new file mode 100644 index 0000000..ecf08ef --- /dev/null +++ b/Documentation/html/ref_8h_source.html @@ -0,0 +1,252 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ref.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ref.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // ref.h - Driver for the REF Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_REF_H__
      +
      8 #define __MSP430WARE_REF_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_REF__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 //*****************************************************************************
      +
      26 //
      +
      27 // The following are values that can be passed to the referenceVoltageSelect
      +
      28 // parameter for functions: Ref_setReferenceVoltage().
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 #define REF_VREF1_5V (REFVSEL_0)
      +
      32 #define REF_VREF2_0V (REFVSEL_1)
      +
      33 #define REF_VREF2_5V (REFVSEL_2)
      +
      34 
      +
      35 //*****************************************************************************
      +
      36 //
      +
      37 // The following are values that can be passed toThe following are values that
      +
      38 // can be returned by the Ref_isBandgapActive() function and the
      +
      39 // Ref_isRefGenActive() function.
      +
      40 //
      +
      41 //*****************************************************************************
      +
      42 #define REF_ACTIVE true
      +
      43 #define REF_INACTIVE false
      +
      44 
      +
      45 //*****************************************************************************
      +
      46 //
      +
      47 // The following are values that can be passed toThe following are values that
      +
      48 // can be returned by the Ref_getBandgapMode() function.
      +
      49 //
      +
      50 //*****************************************************************************
      +
      51 #define REF_STATICMODE 0x00
      +
      52 #define REF_SAMPLEMODE BGMODE
      +
      53 
      +
      54 //*****************************************************************************
      +
      55 //
      +
      56 // The following are values that can be passed toThe following are values that
      +
      57 // can be returned by the Ref_isRefGenBusy() function.
      +
      58 //
      +
      59 //*****************************************************************************
      +
      60 #define REF_NOTBUSY 0x00
      +
      61 #define REF_BUSY REFGENBUSY
      +
      62 
      +
      63 //*****************************************************************************
      +
      64 //
      +
      65 // Prototypes for the APIs.
      +
      66 //
      +
      67 //*****************************************************************************
      +
      68 
      +
      69 //*****************************************************************************
      +
      70 //
      +
      88 //
      +
      89 //*****************************************************************************
      +
      90 extern void Ref_setReferenceVoltage(uint16_t baseAddress,
      +
      91  uint8_t referenceVoltageSelect);
      +
      92 
      +
      93 //*****************************************************************************
      +
      94 //
      +
      109 //
      +
      110 //*****************************************************************************
      +
      111 extern void Ref_disableTempSensor(uint16_t baseAddress);
      +
      112 
      +
      113 //*****************************************************************************
      +
      114 //
      +
      127 //
      +
      128 //*****************************************************************************
      +
      129 extern void Ref_enableTempSensor(uint16_t baseAddress);
      +
      130 
      +
      131 //*****************************************************************************
      +
      132 //
      +
      152 //
      +
      153 //*****************************************************************************
      +
      154 extern void Ref_enableReferenceVoltageOutput(uint16_t baseAddress);
      +
      155 
      +
      156 //*****************************************************************************
      +
      157 //
      +
      169 //
      +
      170 //*****************************************************************************
      +
      171 extern void Ref_disableReferenceVoltageOutput(uint16_t baseAddress);
      +
      172 
      +
      173 //*****************************************************************************
      +
      174 //
      +
      189 //
      +
      190 //*****************************************************************************
      +
      191 extern void Ref_enableReferenceVoltage(uint16_t baseAddress);
      +
      192 
      +
      193 //*****************************************************************************
      +
      194 //
      +
      206 //
      +
      207 //*****************************************************************************
      +
      208 extern void Ref_disableReferenceVoltage(uint16_t baseAddress);
      +
      209 
      +
      210 //*****************************************************************************
      +
      211 //
      +
      228 //
      +
      229 //*****************************************************************************
      +
      230 extern uint16_t Ref_getBandgapMode(uint16_t baseAddress);
      +
      231 
      +
      232 //*****************************************************************************
      +
      233 //
      +
      246 //
      +
      247 //*****************************************************************************
      +
      248 extern bool Ref_isBandgapActive(uint16_t baseAddress);
      +
      249 
      +
      250 //*****************************************************************************
      +
      251 //
      +
      266 //
      +
      267 //*****************************************************************************
      +
      268 extern uint16_t Ref_isRefGenBusy(uint16_t baseAddress);
      +
      269 
      +
      270 //*****************************************************************************
      +
      271 //
      +
      285 //
      +
      286 //*****************************************************************************
      +
      287 extern bool Ref_isRefGenActive(uint16_t baseAddress);
      +
      288 
      +
      289 //*****************************************************************************
      +
      290 //
      +
      291 // Mark the end of the C bindings section for C++ compilers.
      +
      292 //
      +
      293 //*****************************************************************************
      +
      294 #ifdef __cplusplus
      +
      295 }
      +
      296 #endif
      +
      297 
      +
      298 #endif
      +
      299 #endif // __MSP430WARE_REF_H__
      + +
      +
      + + + + diff --git a/Documentation/html/rtc__a_8c.html b/Documentation/html/rtc__a_8c.html new file mode 100644 index 0000000..d22679d --- /dev/null +++ b/Documentation/html/rtc__a_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_a.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_a.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/rtc__a_8c_source.html b/Documentation/html/rtc__a_8c_source.html new file mode 100644 index 0000000..6eca8a4 --- /dev/null +++ b/Documentation/html/rtc__a_8c_source.html @@ -0,0 +1,383 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_a.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_a.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // rtc_a.c - Driver for the rtc_a Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_RTC__
      +
      17 #include "rtc_a.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void RTC_A_startClock (uint16_t baseAddress)
      +
      22 {
      +
      23  HWREG8(baseAddress + OFS_RTCCTL01_H) &= ~(RTCHOLD_H);
      +
      24 }
      +
      25 
      +
      26 void RTC_A_holdClock (uint16_t baseAddress)
      +
      27 {
      +
      28  HWREG8(baseAddress + OFS_RTCCTL01_H) |= RTCHOLD_H;
      +
      29 }
      +
      30 
      +
      31 void RTC_A_setCalibrationFrequency (uint16_t baseAddress,
      +
      32  uint16_t frequencySelect)
      +
      33 {
      +
      34  HWREG16(baseAddress + OFS_RTCCTL23) &= ~(RTCCALF_3);
      +
      35  HWREG16(baseAddress + OFS_RTCCTL23) |= frequencySelect;
      +
      36 }
      +
      37 
      +
      38 void RTC_A_setCalibrationData (uint16_t baseAddress,
      +
      39  uint8_t offsetDirection,
      +
      40  uint8_t offsetValue)
      +
      41 {
      +
      42  HWREG8(baseAddress + OFS_RTCCTL23_L) = offsetValue + offsetDirection;
      +
      43 }
      +
      44 
      +
      45 void RTC_A_initCounter (uint16_t baseAddress,
      +
      46  uint16_t clockSelect,
      +
      47  uint16_t counterSizeSelect)
      +
      48 {
      +
      49  HWREG8(baseAddress + OFS_RTCCTL01_H) |= RTCHOLD_H;
      +
      50  HWREG8(baseAddress + OFS_RTCCTL01_H) &= ~(RTCMODE_H);
      +
      51 
      +
      52  HWREG16(baseAddress + OFS_RTCCTL01) &= 0xF0FF; //~(RTCSSEL_3 + RTCTEV_3);
      +
      53  HWREG16(baseAddress + OFS_RTCCTL01) |= clockSelect + counterSizeSelect;
      +
      54 }
      +
      55 
      +
      56 void RTC_A_initCalendar (uint16_t baseAddress,
      +
      57  Calendar *CalendarTime,
      +
      58  uint16_t formatSelect)
      +
      59 {
      +
      60  HWREG8(baseAddress + OFS_RTCCTL01_H) |= RTCMODE_H + RTCHOLD_H;
      +
      61 
      +
      62  HWREG16(baseAddress + OFS_RTCCTL01) &= ~(RTCBCD);
      +
      63  HWREG16(baseAddress + OFS_RTCCTL01) |= formatSelect;
      +
      64 
      +
      65  HWREG8(baseAddress + OFS_RTCTIM0_L) = CalendarTime->Seconds;
      +
      66  HWREG8(baseAddress + OFS_RTCTIM0_H) = CalendarTime->Minutes;
      +
      67  HWREG8(baseAddress + OFS_RTCTIM1_L) = CalendarTime->Hours;
      +
      68  HWREG8(baseAddress + OFS_RTCTIM1_H) = CalendarTime->DayOfWeek;
      +
      69  HWREG8(baseAddress + OFS_RTCDATE_L) = CalendarTime->DayOfMonth;
      +
      70  HWREG8(baseAddress + OFS_RTCDATE_H) = CalendarTime->Month;
      +
      71  HWREG16(baseAddress + OFS_RTCYEAR) = CalendarTime->Year;
      +
      72 }
      +
      73 
      +
      74 Calendar RTC_A_getCalendarTime (uint16_t baseAddress)
      +
      75 {
      +
      76  Calendar tempCal;
      +
      77 
      +
      78  while ( !(HWREG16(baseAddress + OFS_RTCCTL01) & RTCRDY) ) ;
      +
      79 
      +
      80  tempCal.Seconds = HWREG8(baseAddress + OFS_RTCTIM0_L);
      +
      81  tempCal.Minutes = HWREG8(baseAddress + OFS_RTCTIM0_H);
      +
      82  tempCal.Hours = HWREG8(baseAddress + OFS_RTCTIM1_L);
      +
      83  tempCal.DayOfWeek = HWREG8(baseAddress + OFS_RTCTIM1_H);
      +
      84  tempCal.DayOfMonth = HWREG8(baseAddress + OFS_RTCDATE_L);
      +
      85  tempCal.Month = HWREG8(baseAddress + OFS_RTCDATE_H);
      +
      86  tempCal.Year = HWREG16(baseAddress + OFS_RTCYEAR);
      +
      87 
      +
      88  return ( tempCal) ;
      +
      89 }
      +
      90 
      +
      91 void RTC_A_configureCalendarAlarm(uint16_t baseAddress,
      +
      92  RTC_A_configureCalendarAlarmParam *param)
      +
      93 {
      +
      94  //Each of these is XORed with 0x80 to turn on if an integer is passed,
      +
      95  //or turn OFF if RTC_A_ALARM_OFF (0x80) is passed.
      +
      96  HWREG8(baseAddress + OFS_RTCAMINHR_L) = (param->minutesAlarm ^ 0x80);
      +
      97  HWREG8(baseAddress + OFS_RTCAMINHR_H) = (param->hoursAlarm ^ 0x80);
      +
      98  HWREG8(baseAddress + OFS_RTCADOWDAY_L) = (param->dayOfWeekAlarm ^ 0x80);
      +
      99  HWREG8(baseAddress + OFS_RTCADOWDAY_H) = (param->dayOfMonthAlarm ^ 0x80);
      +
      100 }
      +
      101 void RTC_A_setCalendarEvent (uint16_t baseAddress,
      +
      102  uint16_t eventSelect)
      +
      103 {
      +
      104  HWREG16(baseAddress + OFS_RTCCTL01) &= ~(RTCTEV_3); //Reset bits
      +
      105  HWREG16(baseAddress + OFS_RTCCTL01) |= eventSelect;
      +
      106 }
      +
      107 
      +
      108 uint32_t RTC_A_getCounterValue (uint16_t baseAddress)
      +
      109 {
      +
      110  if ( (HWREG8(baseAddress + OFS_RTCCTL01_H) & RTCHOLD_H)
      +
      111  || (HWREG8(baseAddress + OFS_RTCPS1CTL) & RT1PSHOLD) ){
      +
      112  return ( 0) ;
      +
      113  }
      +
      114 
      +
      115  uint32_t counterValue_L = HWREG16(baseAddress + OFS_RTCTIM0);
      +
      116  uint32_t counterValue_H = HWREG16(baseAddress + OFS_RTCTIM1);
      +
      117  return ( (counterValue_H << 16) + counterValue_L );
      +
      118 }
      +
      119 
      +
      120 void RTC_A_setCounterValue (uint16_t baseAddress,
      +
      121  uint32_t counterValue)
      +
      122 {
      +
      123  HWREG16(baseAddress + OFS_RTCTIM0) = counterValue;
      +
      124  HWREG16(baseAddress + OFS_RTCTIM1) = ( counterValue >> 16 );
      +
      125 }
      +
      126 
      +
      127 void RTC_A_initCounterPrescale (uint16_t baseAddress,
      +
      128  uint8_t prescaleSelect,
      +
      129  uint16_t prescaleClockSelect,
      +
      130  uint16_t prescaleDivider)
      +
      131 {
      +
      132  //Reset bits and set clock select
      +
      133  HWREG16(baseAddress + OFS_RTCPS0CTL + prescaleSelect) =
      +
      134  prescaleClockSelect + prescaleDivider;
      +
      135 }
      +
      136 
      +
      137 void RTC_A_holdCounterPrescale (uint16_t baseAddress,
      +
      138  uint8_t prescaleSelect)
      +
      139 {
      +
      140  HWREG8(baseAddress + OFS_RTCPS0CTL_H + prescaleSelect) |= RT0PSHOLD_H;
      +
      141 }
      +
      142 
      +
      143 void RTC_A_startCounterPrescale (uint16_t baseAddress,
      +
      144  uint8_t prescaleSelect)
      +
      145 {
      +
      146  HWREG8(baseAddress + OFS_RTCPS0CTL_H + prescaleSelect) &= ~(RT0PSHOLD_H);
      +
      147 }
      +
      148 
      +
      149 void RTC_A_definePrescaleEvent (uint16_t baseAddress,
      +
      150  uint8_t prescaleSelect,
      +
      151  uint8_t prescaleEventDivider)
      +
      152 {
      +
      153  HWREG8(baseAddress + OFS_RTCPS0CTL_L + prescaleSelect) &= ~(RT0IP_7);
      +
      154  HWREG8(baseAddress + OFS_RTCPS0CTL_L +
      +
      155  prescaleSelect) |= prescaleEventDivider;
      +
      156 }
      +
      157 
      +
      158 uint8_t RTC_A_getPrescaleValue (uint16_t baseAddress,
      +
      159  uint8_t prescaleSelect)
      +
      160 {
      +
      161  if (HWREG8(baseAddress + OFS_RTCPS0CTL_H + prescaleSelect) & RT0PSHOLD_H){
      +
      162  return ( 0) ;
      +
      163  }
      +
      164 
      +
      165  if (RTC_A_PRESCALE_0 == prescaleSelect){
      +
      166  return ( HWREG8(baseAddress + OFS_RTCPS_L) );
      +
      167  } else if (RTC_A_PRESCALE_1 == prescaleSelect){
      +
      168  return ( HWREG8(baseAddress + OFS_RTCPS_H) );
      +
      169  } else {
      +
      170  return ( 0) ;
      +
      171  }
      +
      172 }
      +
      173 
      +
      174 void RTC_A_setPrescaleValue (uint16_t baseAddress,
      +
      175  uint8_t prescaleSelect,
      +
      176  uint8_t prescaleCounterValue)
      +
      177 {
      +
      178  if (RTC_A_PRESCALE_0 == prescaleSelect){
      +
      179  HWREG8(baseAddress + OFS_RTCPS_L) = prescaleCounterValue;
      +
      180  } else if (RTC_A_PRESCALE_1 == prescaleSelect){
      +
      181  HWREG8(baseAddress + OFS_RTCPS_H) = prescaleCounterValue;
      +
      182  }
      +
      183 }
      +
      184 
      +
      185 void RTC_A_enableInterrupt (uint16_t baseAddress,
      +
      186  uint8_t interruptMask)
      +
      187 {
      +
      188  if ( interruptMask & (RTCTEVIE + RTCAIE + RTCRDYIE) ){
      +
      189  HWREG8(baseAddress + OFS_RTCCTL01_L) |=
      +
      190  (interruptMask & (RTCTEVIE + RTCAIE + RTCRDYIE));
      +
      191  }
      +
      192 
      +
      193  if (interruptMask & RTC_A_PRESCALE_TIMER0_INTERRUPT){
      +
      194  HWREG8(baseAddress + OFS_RTCPS0CTL) |= RT0PSIE;
      +
      195  }
      +
      196 
      +
      197  if (interruptMask & RTC_A_PRESCALE_TIMER1_INTERRUPT){
      +
      198  HWREG8(baseAddress + OFS_RTCPS1CTL) |= RT1PSIE;
      +
      199  }
      +
      200 }
      +
      201 
      +
      202 void RTC_A_disableInterrupt (uint16_t baseAddress,
      +
      203  uint8_t interruptMask)
      +
      204 {
      +
      205  if ( interruptMask & ( RTCTEVIE + RTCAIE + RTCRDYIE) ){
      +
      206  HWREG8(baseAddress + OFS_RTCCTL01_L) &=
      +
      207  ~(interruptMask & (RTCTEVIE + RTCAIE + RTCRDYIE));
      +
      208  }
      +
      209 
      +
      210  if (interruptMask & RTC_A_PRESCALE_TIMER0_INTERRUPT){
      +
      211  HWREG8(baseAddress + OFS_RTCPS0CTL) &= ~(RT0PSIE);
      +
      212  }
      +
      213 
      +
      214  if (interruptMask & RTC_A_PRESCALE_TIMER1_INTERRUPT){
      +
      215  HWREG8(baseAddress + OFS_RTCPS1CTL) &= ~(RT1PSIE);
      +
      216  }
      +
      217 }
      +
      218 
      +
      219 uint8_t RTC_A_getInterruptStatus (uint16_t baseAddress,
      +
      220  uint8_t interruptFlagMask)
      +
      221 {
      +
      222  uint8_t tempInterruptFlagMask = 0x0000;
      +
      223 
      +
      224  tempInterruptFlagMask |= (HWREG8(baseAddress + OFS_RTCCTL01_L)
      +
      225  & ((interruptFlagMask >> 4)
      +
      226  & (
      +
      227  RTCTEVIFG +
      +
      228  RTCAIFG +
      +
      229  RTCRDYIFG)));
      +
      230 
      +
      231  tempInterruptFlagMask = tempInterruptFlagMask << 4;
      +
      232 
      +
      233  if (interruptFlagMask & RTC_A_PRESCALE_TIMER0_INTERRUPT){
      +
      234  if ( HWREG8(baseAddress + OFS_RTCPS0CTL) & RT0PSIFG){
      +
      235  tempInterruptFlagMask |= RTC_A_PRESCALE_TIMER0_INTERRUPT;
      +
      236  }
      +
      237  }
      +
      238 
      +
      239  if (interruptFlagMask & RTC_A_PRESCALE_TIMER1_INTERRUPT){
      +
      240  if ( HWREG8(baseAddress + OFS_RTCPS1CTL) & RT1PSIFG){
      +
      241  tempInterruptFlagMask |= RTC_A_PRESCALE_TIMER1_INTERRUPT;
      +
      242  }
      +
      243  }
      +
      244 
      +
      245  return ( tempInterruptFlagMask) ;
      +
      246 }
      +
      247 
      +
      248 void RTC_A_clearInterrupt (uint16_t baseAddress,
      +
      249  uint8_t interruptFlagMask)
      +
      250 {
      +
      251  if ( interruptFlagMask & (RTC_A_TIME_EVENT_INTERRUPT +
      +
      252  RTC_A_CLOCK_ALARM_INTERRUPT +
      +
      253  RTC_A_CLOCK_READ_READY_INTERRUPT
      +
      254  ) ){
      +
      255 
      +
      256  HWREG8(baseAddress + OFS_RTCCTL01_L) &=
      +
      257  ~((interruptFlagMask>>4) & (RTCTEVIFG +
      +
      258  RTCAIFG +
      +
      259  RTCRDYIFG));
      +
      260  }
      +
      261 
      +
      262  if (interruptFlagMask & RTC_A_PRESCALE_TIMER0_INTERRUPT){
      +
      263  HWREG8(baseAddress + OFS_RTCPS0CTL) &= ~(RT0PSIFG);
      +
      264  }
      +
      265 
      +
      266  if (interruptFlagMask & RTC_A_PRESCALE_TIMER1_INTERRUPT){
      +
      267  HWREG8(baseAddress + OFS_RTCPS1CTL) &= ~(RT1PSIFG);
      +
      268  }
      +
      269 }
      +
      270 
      +
      271 
      +
      272 #endif
      +
      273 //*****************************************************************************
      +
      274 //
      +
      277 //
      +
      278 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/rtc__a_8h.html b/Documentation/html/rtc__a_8h.html new file mode 100644 index 0000000..e95d2c7 --- /dev/null +++ b/Documentation/html/rtc__a_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_a.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_a.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/rtc__a_8h_source.html b/Documentation/html/rtc__a_8h_source.html new file mode 100644 index 0000000..a91b3c4 --- /dev/null +++ b/Documentation/html/rtc__a_8h_source.html @@ -0,0 +1,460 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_a.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_a.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // rtc_a.h - Driver for the RTC_A Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_RTC_A_H__
      +
      8 #define __MSP430WARE_RTC_A_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_RTC__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      30 //
      +
      31 //*****************************************************************************
      +
      32 typedef struct RTC_A_configureCalendarAlarmParam {
      +
      36  uint8_t minutesAlarm;
      +
      40  uint8_t hoursAlarm;
      +
      44  uint8_t dayOfWeekAlarm;
      +
      48  uint8_t dayOfMonthAlarm;
      +
      49 } RTC_A_configureCalendarAlarmParam;
      +
      50 
      +
      51 //*****************************************************************************
      +
      52 //
      +
      55 //
      +
      56 //*****************************************************************************
      +
      57 typedef struct Calendar {
      +
      59  uint8_t Seconds;
      +
      61  uint8_t Minutes;
      +
      63  uint8_t Hours;
      +
      65  uint8_t DayOfWeek;
      +
      67  uint8_t DayOfMonth;
      +
      69  uint8_t Month;
      +
      71  uint16_t Year;
      +
      72 } Calendar;
      +
      73 
      +
      74 
      +
      75 //*****************************************************************************
      +
      76 //
      +
      77 // The following are values that can be passed to the frequencySelect parameter
      +
      78 // for functions: RTC_A_setCalibrationFrequency().
      +
      79 //
      +
      80 //*****************************************************************************
      +
      81 #define RTC_A_CALIBRATIONFREQ_OFF (RTCCALF_0)
      +
      82 #define RTC_A_CALIBRATIONFREQ_512HZ (RTCCALF_1)
      +
      83 #define RTC_A_CALIBRATIONFREQ_256HZ (RTCCALF_2)
      +
      84 #define RTC_A_CALIBRATIONFREQ_1HZ (RTCCALF_3)
      +
      85 
      +
      86 //*****************************************************************************
      +
      87 //
      +
      88 // The following are values that can be passed to the offsetDirection parameter
      +
      89 // for functions: RTC_A_setCalibrationData().
      +
      90 //
      +
      91 //*****************************************************************************
      +
      92 #define RTC_A_CALIBRATION_DOWN2PPM (!(RTCCALS))
      +
      93 #define RTC_A_CALIBRATION_UP4PPM (RTCCALS)
      +
      94 
      +
      95 //*****************************************************************************
      +
      96 //
      +
      97 // The following are values that can be passed to the formatSelect parameter
      +
      98 // for functions: RTC_A_initCalendar().
      +
      99 //
      +
      100 //*****************************************************************************
      +
      101 #define RTC_A_FORMAT_BINARY (!(RTCBCD))
      +
      102 #define RTC_A_FORMAT_BCD (RTCBCD)
      +
      103 
      +
      104 //*****************************************************************************
      +
      105 //
      +
      106 // The following are values that can be passed to the param parameter for
      +
      107 // functions: RTC_A_configureCalendarAlarm(), RTC_A_configureCalendarAlarm(),
      +
      108 // RTC_A_configureCalendarAlarm(), and RTC_A_configureCalendarAlarm().
      +
      109 //
      +
      110 //*****************************************************************************
      +
      111 #define RTC_A_ALARMCONDITION_OFF (0x80)
      +
      112 
      +
      113 //*****************************************************************************
      +
      114 //
      +
      115 // The following are values that can be passed to the eventSelect parameter for
      +
      116 // functions: RTC_A_setCalendarEvent().
      +
      117 //
      +
      118 //*****************************************************************************
      +
      119 #define RTC_A_CALENDAREVENT_MINUTECHANGE (RTCTEV_0)
      +
      120 #define RTC_A_CALENDAREVENT_HOURCHANGE (RTCTEV_1)
      +
      121 #define RTC_A_CALENDAREVENT_NOON (RTCTEV_2)
      +
      122 #define RTC_A_CALENDAREVENT_MIDNIGHT (RTCTEV_3)
      +
      123 
      +
      124 //*****************************************************************************
      +
      125 //
      +
      126 // The following are values that can be passed to the prescaleSelect parameter
      +
      127 // for functions: RTC_A_initCounterPrescale(), RTC_A_holdCounterPrescale(),
      +
      128 // RTC_A_startCounterPrescale(), RTC_A_definePrescaleEvent(),
      +
      129 // RTC_A_getPrescaleValue(), and RTC_A_setPrescaleValue().
      +
      130 //
      +
      131 //*****************************************************************************
      +
      132 #define RTC_A_PRESCALE_0 (0x0)
      +
      133 #define RTC_A_PRESCALE_1 (0x2)
      +
      134 
      +
      135 //*****************************************************************************
      +
      136 //
      +
      137 // The following are values that can be passed to the clockSelect parameter for
      +
      138 // functions: RTC_A_initCounter().
      +
      139 //
      +
      140 //*****************************************************************************
      +
      141 #define RTC_A_CLOCKSELECT_ACLK (RTCSSEL_0)
      +
      142 #define RTC_A_CLOCKSELECT_SMCLK (RTCSSEL_1)
      +
      143 #define RTC_A_CLOCKSELECT_RT1PS (RTCSSEL_2)
      +
      144 
      +
      145 //*****************************************************************************
      +
      146 //
      +
      147 // The following are values that can be passed to the prescaleClockSelect
      +
      148 // parameter for functions: RTC_A_initCounterPrescale().
      +
      149 //
      +
      150 //*****************************************************************************
      +
      151 #define RTC_A_PSCLOCKSELECT_ACLK (RT1SSEL_0)
      +
      152 #define RTC_A_PSCLOCKSELECT_SMCLK (RT1SSEL_1)
      +
      153 #define RTC_A_PSCLOCKSELECT_RT0PS (RT1SSEL_2)
      +
      154 
      +
      155 //*****************************************************************************
      +
      156 //
      +
      157 // The following are values that can be passed to the counterSizeSelect
      +
      158 // parameter for functions: RTC_A_initCounter().
      +
      159 //
      +
      160 //*****************************************************************************
      +
      161 #define RTC_A_COUNTERSIZE_8BIT (RTCTEV_0)
      +
      162 #define RTC_A_COUNTERSIZE_16BIT (RTCTEV_1)
      +
      163 #define RTC_A_COUNTERSIZE_24BIT (RTCTEV_2)
      +
      164 #define RTC_A_COUNTERSIZE_32BIT (RTCTEV_3)
      +
      165 
      +
      166 //*****************************************************************************
      +
      167 //
      +
      168 // The following are values that can be passed to the prescaleDivider parameter
      +
      169 // for functions: RTC_A_initCounterPrescale().
      +
      170 //
      +
      171 //*****************************************************************************
      +
      172 #define RTC_A_PSDIVIDER_2 (RT0PSDIV_0)
      +
      173 #define RTC_A_PSDIVIDER_4 (RT0PSDIV_1)
      +
      174 #define RTC_A_PSDIVIDER_8 (RT0PSDIV_2)
      +
      175 #define RTC_A_PSDIVIDER_16 (RT0PSDIV_3)
      +
      176 #define RTC_A_PSDIVIDER_32 (RT0PSDIV_4)
      +
      177 #define RTC_A_PSDIVIDER_64 (RT0PSDIV_5)
      +
      178 #define RTC_A_PSDIVIDER_128 (RT0PSDIV_6)
      +
      179 #define RTC_A_PSDIVIDER_256 (RT0PSDIV_7)
      +
      180 
      +
      181 //*****************************************************************************
      +
      182 //
      +
      183 // The following are values that can be passed to the prescaleEventDivider
      +
      184 // parameter for functions: RTC_A_definePrescaleEvent().
      +
      185 //
      +
      186 //*****************************************************************************
      +
      187 #define RTC_A_PSEVENTDIVIDER_2 (RT0IP_0)
      +
      188 #define RTC_A_PSEVENTDIVIDER_4 (RT0IP_1)
      +
      189 #define RTC_A_PSEVENTDIVIDER_8 (RT0IP_2)
      +
      190 #define RTC_A_PSEVENTDIVIDER_16 (RT0IP_3)
      +
      191 #define RTC_A_PSEVENTDIVIDER_32 (RT0IP_4)
      +
      192 #define RTC_A_PSEVENTDIVIDER_64 (RT0IP_5)
      +
      193 #define RTC_A_PSEVENTDIVIDER_128 (RT0IP_6)
      +
      194 #define RTC_A_PSEVENTDIVIDER_256 (RT0IP_7)
      +
      195 
      +
      196 //*****************************************************************************
      +
      197 //
      +
      198 // The following are values that can be passed to the interruptMask parameter
      +
      199 // for functions: RTC_A_enableInterrupt(), and RTC_A_disableInterrupt(); the
      +
      200 // interruptFlagMask parameter for functions: RTC_A_getInterruptStatus(), and
      +
      201 // RTC_A_clearInterrupt() as well as returned by the RTC_A_getInterruptStatus()
      +
      202 // function.
      +
      203 //
      +
      204 //*****************************************************************************
      +
      205 #define RTC_A_TIME_EVENT_INTERRUPT RTCTEVIE
      +
      206 #define RTC_A_CLOCK_ALARM_INTERRUPT RTCAIE
      +
      207 #define RTC_A_CLOCK_READ_READY_INTERRUPT RTCRDYIE
      +
      208 #define RTC_A_PRESCALE_TIMER0_INTERRUPT 0x02
      +
      209 #define RTC_A_PRESCALE_TIMER1_INTERRUPT 0x01
      +
      210 
      +
      211 //*****************************************************************************
      +
      212 //
      +
      213 // Prototypes for the APIs.
      +
      214 //
      +
      215 //*****************************************************************************
      +
      216 
      +
      217 //*****************************************************************************
      +
      218 //
      +
      226 //
      +
      227 //*****************************************************************************
      +
      228 extern void RTC_A_startClock(uint16_t baseAddress);
      +
      229 
      +
      230 //*****************************************************************************
      +
      231 //
      +
      239 //
      +
      240 //*****************************************************************************
      +
      241 extern void RTC_A_holdClock(uint16_t baseAddress);
      +
      242 
      +
      243 //*****************************************************************************
      +
      244 //
      +
      265 //
      +
      266 //*****************************************************************************
      +
      267 extern void RTC_A_setCalibrationFrequency(uint16_t baseAddress,
      +
      268  uint16_t frequencySelect);
      +
      269 
      +
      270 //*****************************************************************************
      +
      271 //
      +
      293 //
      +
      294 //*****************************************************************************
      +
      295 extern void RTC_A_setCalibrationData(uint16_t baseAddress,
      +
      296  uint8_t offsetDirection,
      +
      297  uint8_t offsetValue);
      +
      298 
      +
      299 //*****************************************************************************
      +
      300 //
      +
      323 //
      +
      324 //*****************************************************************************
      +
      325 extern void RTC_A_initCounter(uint16_t baseAddress,
      +
      326  uint16_t clockSelect,
      +
      327  uint16_t counterSizeSelect);
      +
      328 
      +
      329 //*****************************************************************************
      +
      330 //
      +
      355 //
      +
      356 //*****************************************************************************
      +
      357 extern void RTC_A_initCalendar(uint16_t baseAddress,
      +
      358  Calendar *CalendarTime,
      +
      359  uint16_t formatSelect);
      +
      360 
      +
      361 //*****************************************************************************
      +
      362 //
      +
      373 //
      +
      374 //*****************************************************************************
      +
      375 extern Calendar RTC_A_getCalendarTime(uint16_t baseAddress);
      +
      376 
      +
      377 //*****************************************************************************
      +
      378 //
      +
      392 //
      +
      393 //*****************************************************************************
      +
      394 extern void RTC_A_configureCalendarAlarm(uint16_t baseAddress,
      +
      395  RTC_A_configureCalendarAlarmParam *param);
      +
      396 
      +
      397 //*****************************************************************************
      +
      398 //
      +
      415 //
      +
      416 //*****************************************************************************
      +
      417 extern void RTC_A_setCalendarEvent(uint16_t baseAddress,
      +
      418  uint16_t eventSelect);
      +
      419 
      +
      420 //*****************************************************************************
      +
      421 //
      +
      431 //
      +
      432 //*****************************************************************************
      +
      433 extern uint32_t RTC_A_getCounterValue(uint16_t baseAddress);
      +
      434 
      +
      435 //*****************************************************************************
      +
      436 //
      +
      446 //
      +
      447 //*****************************************************************************
      +
      448 extern void RTC_A_setCounterValue(uint16_t baseAddress,
      +
      449  uint32_t counterValue);
      +
      450 
      +
      451 //*****************************************************************************
      +
      452 //
      +
      486 //
      +
      487 //*****************************************************************************
      +
      488 extern void RTC_A_initCounterPrescale(uint16_t baseAddress,
      +
      489  uint8_t prescaleSelect,
      +
      490  uint16_t prescaleClockSelect,
      +
      491  uint16_t prescaleDivider);
      +
      492 
      +
      493 //*****************************************************************************
      +
      494 //
      +
      510 //
      +
      511 //*****************************************************************************
      +
      512 extern void RTC_A_holdCounterPrescale(uint16_t baseAddress,
      +
      513  uint8_t prescaleSelect);
      +
      514 
      +
      515 //*****************************************************************************
      +
      516 //
      +
      529 //
      +
      530 //*****************************************************************************
      +
      531 extern void RTC_A_startCounterPrescale(uint16_t baseAddress,
      +
      532  uint8_t prescaleSelect);
      +
      533 
      +
      534 //*****************************************************************************
      +
      535 //
      +
      561 //
      +
      562 //*****************************************************************************
      +
      563 extern void RTC_A_definePrescaleEvent(uint16_t baseAddress,
      +
      564  uint8_t prescaleSelect,
      +
      565  uint8_t prescaleEventDivider);
      +
      566 
      +
      567 //*****************************************************************************
      +
      568 //
      +
      582 //
      +
      583 //*****************************************************************************
      +
      584 extern uint8_t RTC_A_getPrescaleValue(uint16_t baseAddress,
      +
      585  uint8_t prescaleSelect);
      +
      586 
      +
      587 //*****************************************************************************
      +
      588 //
      +
      604 //
      +
      605 //*****************************************************************************
      +
      606 extern void RTC_A_setPrescaleValue(uint16_t baseAddress,
      +
      607  uint8_t prescaleSelect,
      +
      608  uint8_t prescaleCounterValue);
      +
      609 
      +
      610 //*****************************************************************************
      +
      611 //
      +
      634 //
      +
      635 //*****************************************************************************
      +
      636 extern void RTC_A_enableInterrupt(uint16_t baseAddress,
      +
      637  uint8_t interruptMask);
      +
      638 
      +
      639 //*****************************************************************************
      +
      640 //
      +
      663 //
      +
      664 //*****************************************************************************
      +
      665 extern void RTC_A_disableInterrupt(uint16_t baseAddress,
      +
      666  uint8_t interruptMask);
      +
      667 
      +
      668 //*****************************************************************************
      +
      669 //
      +
      704 //
      +
      705 //*****************************************************************************
      +
      706 extern uint8_t RTC_A_getInterruptStatus(uint16_t baseAddress,
      +
      707  uint8_t interruptFlagMask);
      +
      708 
      +
      709 //*****************************************************************************
      +
      710 //
      +
      733 //
      +
      734 //*****************************************************************************
      +
      735 extern void RTC_A_clearInterrupt(uint16_t baseAddress,
      +
      736  uint8_t interruptFlagMask);
      +
      737 
      +
      738 //*****************************************************************************
      +
      739 //
      +
      740 // Mark the end of the C bindings section for C++ compilers.
      +
      741 //
      +
      742 //*****************************************************************************
      +
      743 #ifdef __cplusplus
      +
      744 }
      +
      745 #endif
      +
      746 
      +
      747 #endif
      +
      748 #endif // __MSP430WARE_RTC_A_H__
      + +
      +
      + + + + diff --git a/Documentation/html/rtc__b_8c.html b/Documentation/html/rtc__b_8c.html new file mode 100644 index 0000000..20dd6c3 --- /dev/null +++ b/Documentation/html/rtc__b_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_b.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_b.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/rtc__b_8c_source.html b/Documentation/html/rtc__b_8c_source.html new file mode 100644 index 0000000..9e580fd --- /dev/null +++ b/Documentation/html/rtc__b_8c_source.html @@ -0,0 +1,342 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_b.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_b.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // rtc_b.c - Driver for the rtc_b Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_RTC_B__
      +
      17 #include "rtc_b.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void RTC_B_startClock (uint16_t baseAddress)
      +
      22 {
      +
      23  HWREG8(baseAddress + OFS_RTCCTL01_H) &= ~(RTCHOLD_H);
      +
      24 }
      +
      25 
      +
      26 void RTC_B_holdClock (uint16_t baseAddress)
      +
      27 {
      +
      28  HWREG8(baseAddress + OFS_RTCCTL01_H) |= RTCHOLD_H;
      +
      29 }
      +
      30 
      +
      31 void RTC_B_setCalibrationFrequency (uint16_t baseAddress,
      +
      32  uint16_t frequencySelect)
      +
      33 {
      +
      34  HWREG16(baseAddress + OFS_RTCCTL23) &= ~(RTCCALF_3);
      +
      35  HWREG16(baseAddress + OFS_RTCCTL23) |= frequencySelect;
      +
      36 }
      +
      37 
      +
      38 void RTC_B_setCalibrationData (uint16_t baseAddress,
      +
      39  uint8_t offsetDirection,
      +
      40  uint8_t offsetValue)
      +
      41 {
      +
      42  HWREG8(baseAddress + OFS_RTCCTL23_L) = offsetValue + offsetDirection;
      +
      43 }
      +
      44 
      +
      45 void RTC_B_initCalendar (uint16_t baseAddress,
      +
      46  Calendar *CalendarTime,
      +
      47  uint16_t formatSelect)
      +
      48 {
      +
      49  HWREG8(baseAddress + OFS_RTCCTL01_H) |= RTCHOLD_H;
      +
      50 
      +
      51  HWREG16(baseAddress + OFS_RTCCTL01) &= ~(RTCBCD);
      +
      52  HWREG16(baseAddress + OFS_RTCCTL01) |= formatSelect;
      +
      53 
      +
      54  HWREG8(baseAddress + OFS_RTCTIM0_L) = CalendarTime->Seconds;
      +
      55  HWREG8(baseAddress + OFS_RTCTIM0_H) = CalendarTime->Minutes;
      +
      56  HWREG8(baseAddress + OFS_RTCTIM1_L) = CalendarTime->Hours;
      +
      57  HWREG8(baseAddress + OFS_RTCTIM1_H) = CalendarTime->DayOfWeek;
      +
      58  HWREG8(baseAddress + OFS_RTCDATE_L) = CalendarTime->DayOfMonth;
      +
      59  HWREG8(baseAddress + OFS_RTCDATE_H) = CalendarTime->Month;
      +
      60  HWREG16(baseAddress + OFS_RTCYEAR) = CalendarTime->Year;
      +
      61 }
      +
      62 
      +
      63 Calendar RTC_B_getCalendarTime (uint16_t baseAddress)
      +
      64 {
      +
      65  Calendar tempCal;
      +
      66 
      +
      67  while ( !(HWREG16(baseAddress + OFS_RTCCTL01) & RTCRDY) ) ;
      +
      68 
      +
      69  tempCal.Seconds = HWREG8(baseAddress + OFS_RTCTIM0_L);
      +
      70  tempCal.Minutes = HWREG8(baseAddress + OFS_RTCTIM0_H);
      +
      71  tempCal.Hours = HWREG8(baseAddress + OFS_RTCTIM1_L);
      +
      72  tempCal.DayOfWeek = HWREG8(baseAddress + OFS_RTCTIM1_H);
      +
      73  tempCal.DayOfMonth = HWREG8(baseAddress + OFS_RTCDATE_L);
      +
      74  tempCal.Month = HWREG8(baseAddress + OFS_RTCDATE_H);
      +
      75  tempCal.Year = HWREG16(baseAddress + OFS_RTCYEAR);
      +
      76 
      +
      77  return ( tempCal) ;
      +
      78 }
      +
      79 
      +
      80 void RTC_B_configureCalendarAlarm(uint16_t baseAddress,
      +
      81  RTC_B_configureCalendarAlarmParam *param)
      +
      82 {
      +
      83  //Each of these is XORed with 0x80 to turn on if an integer is passed,
      +
      84  //or turn OFF if RTC_B_ALARM_OFF (0x80) is passed.
      +
      85  HWREG8(baseAddress + OFS_RTCAMINHR_L) = (param->minutesAlarm ^ 0x80);
      +
      86  HWREG8(baseAddress + OFS_RTCAMINHR_H) = (param->hoursAlarm ^ 0x80);
      +
      87  HWREG8(baseAddress + OFS_RTCADOWDAY_L) = (param->dayOfWeekAlarm ^ 0x80);
      +
      88  HWREG8(baseAddress + OFS_RTCADOWDAY_H) = (param->dayOfMonthAlarm ^ 0x80);
      +
      89 }
      +
      90 void RTC_B_setCalendarEvent (uint16_t baseAddress,
      +
      91  uint16_t eventSelect)
      +
      92 {
      +
      93  HWREG16(baseAddress + OFS_RTCCTL01) &= ~(RTCTEV_3); //Reset bits
      +
      94  HWREG16(baseAddress + OFS_RTCCTL01) |= eventSelect;
      +
      95 }
      +
      96 
      +
      97 void RTC_B_definePrescaleEvent (uint16_t baseAddress,
      +
      98  uint8_t prescaleSelect,
      +
      99  uint8_t prescaleEventDivider)
      +
      100 {
      +
      101  HWREG8(baseAddress + OFS_RTCPS0CTL_L + prescaleSelect) &= ~(RT0IP_7);
      +
      102  HWREG8(baseAddress + OFS_RTCPS0CTL_L +
      +
      103  prescaleSelect) |= prescaleEventDivider;
      +
      104 }
      +
      105 
      +
      106 uint8_t RTC_B_getPrescaleValue (uint16_t baseAddress,
      +
      107  uint8_t prescaleSelect)
      +
      108 {
      +
      109  if (RTC_B_PRESCALE_0 == prescaleSelect){
      +
      110  return ( HWREG8(baseAddress + OFS_RTCPS_L) );
      +
      111  } else if (RTC_B_PRESCALE_1 == prescaleSelect){
      +
      112  return ( HWREG8(baseAddress + OFS_RTCPS_H) );
      +
      113  } else {
      +
      114  return ( 0) ;
      +
      115  }
      +
      116 }
      +
      117 
      +
      118 void RTC_B_setPrescaleValue (uint16_t baseAddress,
      +
      119  uint8_t prescaleSelect,
      +
      120  uint8_t prescaleCounterValue)
      +
      121 {
      +
      122  if (RTC_B_PRESCALE_0 == prescaleSelect){
      +
      123  HWREG8(baseAddress + OFS_RTCPS_L) = prescaleCounterValue;
      +
      124  } else if (RTC_B_PRESCALE_1 == prescaleSelect){
      +
      125  HWREG8(baseAddress + OFS_RTCPS_H) = prescaleCounterValue;
      +
      126  }
      +
      127 }
      +
      128 
      +
      129 void RTC_B_enableInterrupt (uint16_t baseAddress,
      +
      130  uint8_t interruptMask)
      +
      131 {
      +
      132  if ( interruptMask & (RTCOFIE + RTCTEVIE + RTCAIE + RTCRDYIE) ){
      +
      133  HWREG8(baseAddress + OFS_RTCCTL01_L) |=
      +
      134  (interruptMask & (RTCOFIE + RTCTEVIE + RTCAIE + RTCRDYIE));
      +
      135  }
      +
      136 
      +
      137  if (interruptMask & RTC_B_PRESCALE_TIMER0_INTERRUPT){
      +
      138  HWREG8(baseAddress + OFS_RTCPS0CTL) |= RT0PSIE;
      +
      139  }
      +
      140 
      +
      141  if (interruptMask & RTC_B_PRESCALE_TIMER1_INTERRUPT){
      +
      142  HWREG8(baseAddress + OFS_RTCPS1CTL) |= RT1PSIE;
      +
      143  }
      +
      144 }
      +
      145 
      +
      146 void RTC_B_disableInterrupt (uint16_t baseAddress,
      +
      147  uint8_t interruptMask)
      +
      148 {
      +
      149  if ( interruptMask & (RTCOFIE + RTCTEVIE + RTCAIE + RTCRDYIE) ){
      +
      150  HWREG8(baseAddress + OFS_RTCCTL01_L) &=
      +
      151  ~(interruptMask & (RTCOFIE + RTCTEVIE + RTCAIE + RTCRDYIE));
      +
      152  }
      +
      153 
      +
      154  if (interruptMask & RTC_B_PRESCALE_TIMER0_INTERRUPT){
      +
      155  HWREG8(baseAddress + OFS_RTCPS0CTL) &= ~(RT0PSIE);
      +
      156  }
      +
      157 
      +
      158  if (interruptMask & RTC_B_PRESCALE_TIMER1_INTERRUPT){
      +
      159  HWREG8(baseAddress + OFS_RTCPS1CTL) &= ~(RT1PSIE);
      +
      160  }
      +
      161 }
      +
      162 
      +
      163 uint8_t RTC_B_getInterruptStatus (uint16_t baseAddress,
      +
      164  uint8_t interruptFlagMask)
      +
      165 {
      +
      166  uint8_t tempInterruptFlagMask = 0x0000;
      +
      167 
      +
      168  tempInterruptFlagMask |= (HWREG8(baseAddress + OFS_RTCCTL01_L)
      +
      169  & ((interruptFlagMask >> 4)
      +
      170  & (RTCOFIFG +
      +
      171  RTCTEVIFG +
      +
      172  RTCAIFG +
      +
      173  RTCRDYIFG)));
      +
      174 
      +
      175  tempInterruptFlagMask = tempInterruptFlagMask << 4;
      +
      176 
      +
      177  if (interruptFlagMask & RTC_B_PRESCALE_TIMER0_INTERRUPT){
      +
      178  if ( HWREG8(baseAddress + OFS_RTCPS0CTL) & RT0PSIFG){
      +
      179  tempInterruptFlagMask |= RTC_B_PRESCALE_TIMER0_INTERRUPT;
      +
      180  }
      +
      181  }
      +
      182 
      +
      183  if (interruptFlagMask & RTC_B_PRESCALE_TIMER1_INTERRUPT){
      +
      184  if ( HWREG8(baseAddress + OFS_RTCPS1CTL) & RT1PSIFG){
      +
      185  tempInterruptFlagMask |= RTC_B_PRESCALE_TIMER1_INTERRUPT;
      +
      186  }
      +
      187  }
      +
      188 
      +
      189  return ( tempInterruptFlagMask) ;
      +
      190 }
      +
      191 
      +
      192 void RTC_B_clearInterrupt (uint16_t baseAddress,
      +
      193  uint8_t interruptFlagMask)
      +
      194 {
      +
      195  if ( interruptFlagMask & (RTC_B_TIME_EVENT_INTERRUPT +
      +
      196  RTC_B_CLOCK_ALARM_INTERRUPT +
      +
      197  RTC_B_CLOCK_READ_READY_INTERRUPT +
      +
      198  RTC_B_OSCILLATOR_FAULT_INTERRUPT) ){
      +
      199 
      +
      200  HWREG8(baseAddress + OFS_RTCCTL01_L) &=
      +
      201  ~((interruptFlagMask>>4) & (RTCOFIFG +
      +
      202  RTCTEVIFG +
      +
      203  RTCAIFG +
      +
      204  RTCRDYIFG));
      +
      205  }
      +
      206 
      +
      207  if (interruptFlagMask & RTC_B_PRESCALE_TIMER0_INTERRUPT){
      +
      208  HWREG8(baseAddress + OFS_RTCPS0CTL) &= ~(RT0PSIFG);
      +
      209  }
      +
      210 
      +
      211  if (interruptFlagMask & RTC_B_PRESCALE_TIMER1_INTERRUPT){
      +
      212  HWREG8(baseAddress + OFS_RTCPS1CTL) &= ~(RT1PSIFG);
      +
      213  }
      +
      214 }
      +
      215 
      +
      216 uint16_t RTC_B_convertBCDToBinary (uint16_t baseAddress,
      +
      217  uint16_t valueToConvert)
      +
      218 {
      +
      219  HWREG16(baseAddress + OFS_BCD2BIN) = valueToConvert;
      +
      220  return ( HWREG16(baseAddress + OFS_BCD2BIN) );
      +
      221 }
      +
      222 
      +
      223 uint16_t RTC_B_convertBinaryToBCD (uint16_t baseAddress,
      +
      224  uint16_t valueToConvert)
      +
      225 {
      +
      226  HWREG16(baseAddress + OFS_BIN2BCD) = valueToConvert;
      +
      227  return ( HWREG16(baseAddress + OFS_BIN2BCD) );
      +
      228 }
      +
      229 
      +
      230 
      +
      231 #endif
      +
      232 //*****************************************************************************
      +
      233 //
      +
      236 //
      +
      237 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/rtc__b_8h.html b/Documentation/html/rtc__b_8h.html new file mode 100644 index 0000000..c65e6a2 --- /dev/null +++ b/Documentation/html/rtc__b_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_b.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_b.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/rtc__b_8h_source.html b/Documentation/html/rtc__b_8h_source.html new file mode 100644 index 0000000..9955759 --- /dev/null +++ b/Documentation/html/rtc__b_8h_source.html @@ -0,0 +1,384 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_b.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_b.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // rtc_b.h - Driver for the RTC_B Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_RTC_B_H__
      +
      8 #define __MSP430WARE_RTC_B_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_RTC_B__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      30 //
      +
      31 //*****************************************************************************
      +
      32 typedef struct Calendar {
      +
      34  uint8_t Seconds;
      +
      36  uint8_t Minutes;
      +
      38  uint8_t Hours;
      +
      40  uint8_t DayOfWeek;
      +
      42  uint8_t DayOfMonth;
      +
      44  uint8_t Month;
      +
      46  uint16_t Year;
      +
      47 } Calendar;
      +
      48 
      +
      49 //*****************************************************************************
      +
      50 //
      +
      53 //
      +
      54 //*****************************************************************************
      +
      55 typedef struct RTC_B_configureCalendarAlarmParam {
      +
      59  uint8_t minutesAlarm;
      +
      63  uint8_t hoursAlarm;
      +
      67  uint8_t dayOfWeekAlarm;
      +
      71  uint8_t dayOfMonthAlarm;
      +
      72 } RTC_B_configureCalendarAlarmParam;
      +
      73 
      +
      74 
      +
      75 //*****************************************************************************
      +
      76 //
      +
      77 // The following are values that can be passed to the frequencySelect parameter
      +
      78 // for functions: RTC_B_setCalibrationFrequency().
      +
      79 //
      +
      80 //*****************************************************************************
      +
      81 #define RTC_B_CALIBRATIONFREQ_OFF (RTCCALF_0)
      +
      82 #define RTC_B_CALIBRATIONFREQ_512HZ (RTCCALF_1)
      +
      83 #define RTC_B_CALIBRATIONFREQ_256HZ (RTCCALF_2)
      +
      84 #define RTC_B_CALIBRATIONFREQ_1HZ (RTCCALF_3)
      +
      85 
      +
      86 //*****************************************************************************
      +
      87 //
      +
      88 // The following are values that can be passed to the offsetDirection parameter
      +
      89 // for functions: RTC_B_setCalibrationData().
      +
      90 //
      +
      91 //*****************************************************************************
      +
      92 #define RTC_B_CALIBRATION_DOWN2PPM (!(RTCCALS))
      +
      93 #define RTC_B_CALIBRATION_UP4PPM (RTCCALS)
      +
      94 
      +
      95 //*****************************************************************************
      +
      96 //
      +
      97 // The following are values that can be passed to the formatSelect parameter
      +
      98 // for functions: RTC_B_initCalendar().
      +
      99 //
      +
      100 //*****************************************************************************
      +
      101 #define RTC_B_FORMAT_BINARY (!(RTCBCD))
      +
      102 #define RTC_B_FORMAT_BCD (RTCBCD)
      +
      103 
      +
      104 //*****************************************************************************
      +
      105 //
      +
      106 // The following are values that can be passed to the param parameter for
      +
      107 // functions: RTC_B_configureCalendarAlarm(), RTC_B_configureCalendarAlarm(),
      +
      108 // RTC_B_configureCalendarAlarm(), and RTC_B_configureCalendarAlarm().
      +
      109 //
      +
      110 //*****************************************************************************
      +
      111 #define RTC_B_ALARMCONDITION_OFF (0x80)
      +
      112 
      +
      113 //*****************************************************************************
      +
      114 //
      +
      115 // The following are values that can be passed to the eventSelect parameter for
      +
      116 // functions: RTC_B_setCalendarEvent().
      +
      117 //
      +
      118 //*****************************************************************************
      +
      119 #define RTC_B_CALENDAREVENT_MINUTECHANGE (RTCTEV_0)
      +
      120 #define RTC_B_CALENDAREVENT_HOURCHANGE (RTCTEV_1)
      +
      121 #define RTC_B_CALENDAREVENT_NOON (RTCTEV_2)
      +
      122 #define RTC_B_CALENDAREVENT_MIDNIGHT (RTCTEV_3)
      +
      123 
      +
      124 //*****************************************************************************
      +
      125 //
      +
      126 // The following are values that can be passed to the prescaleEventDivider
      +
      127 // parameter for functions: RTC_B_definePrescaleEvent().
      +
      128 //
      +
      129 //*****************************************************************************
      +
      130 #define RTC_B_PSEVENTDIVIDER_2 (RT0IP_0)
      +
      131 #define RTC_B_PSEVENTDIVIDER_4 (RT0IP_1)
      +
      132 #define RTC_B_PSEVENTDIVIDER_8 (RT0IP_2)
      +
      133 #define RTC_B_PSEVENTDIVIDER_16 (RT0IP_3)
      +
      134 #define RTC_B_PSEVENTDIVIDER_32 (RT0IP_4)
      +
      135 #define RTC_B_PSEVENTDIVIDER_64 (RT0IP_5)
      +
      136 #define RTC_B_PSEVENTDIVIDER_128 (RT0IP_6)
      +
      137 #define RTC_B_PSEVENTDIVIDER_256 (RT0IP_7)
      +
      138 
      +
      139 //*****************************************************************************
      +
      140 //
      +
      141 // The following are values that can be passed to the prescaleSelect parameter
      +
      142 // for functions: RTC_B_definePrescaleEvent(), RTC_B_getPrescaleValue(), and
      +
      143 // RTC_B_setPrescaleValue().
      +
      144 //
      +
      145 //*****************************************************************************
      +
      146 #define RTC_B_PRESCALE_0 (0x0)
      +
      147 #define RTC_B_PRESCALE_1 (0x2)
      +
      148 
      +
      149 //*****************************************************************************
      +
      150 //
      +
      151 // The following are values that can be passed to the interruptMask parameter
      +
      152 // for functions: RTC_B_enableInterrupt(), and RTC_B_disableInterrupt(); the
      +
      153 // interruptFlagMask parameter for functions: RTC_B_getInterruptStatus(), and
      +
      154 // RTC_B_clearInterrupt() as well as returned by the RTC_B_getInterruptStatus()
      +
      155 // function.
      +
      156 //
      +
      157 //*****************************************************************************
      +
      158 #define RTC_B_TIME_EVENT_INTERRUPT RTCTEVIE
      +
      159 #define RTC_B_CLOCK_ALARM_INTERRUPT RTCAIE
      +
      160 #define RTC_B_CLOCK_READ_READY_INTERRUPT RTCRDYIE
      +
      161 #define RTC_B_PRESCALE_TIMER0_INTERRUPT 0x02
      +
      162 #define RTC_B_PRESCALE_TIMER1_INTERRUPT 0x01
      +
      163 #define RTC_B_OSCILLATOR_FAULT_INTERRUPT RTCOFIE
      +
      164 
      +
      165 //*****************************************************************************
      +
      166 //
      +
      167 // Prototypes for the APIs.
      +
      168 //
      +
      169 //*****************************************************************************
      +
      170 
      +
      171 //*****************************************************************************
      +
      172 //
      +
      180 //
      +
      181 //*****************************************************************************
      +
      182 extern void RTC_B_startClock(uint16_t baseAddress);
      +
      183 
      +
      184 //*****************************************************************************
      +
      185 //
      +
      193 //
      +
      194 //*****************************************************************************
      +
      195 extern void RTC_B_holdClock(uint16_t baseAddress);
      +
      196 
      +
      197 //*****************************************************************************
      +
      198 //
      +
      219 //
      +
      220 //*****************************************************************************
      +
      221 extern void RTC_B_setCalibrationFrequency(uint16_t baseAddress,
      +
      222  uint16_t frequencySelect);
      +
      223 
      +
      224 //*****************************************************************************
      +
      225 //
      +
      247 //
      +
      248 //*****************************************************************************
      +
      249 extern void RTC_B_setCalibrationData(uint16_t baseAddress,
      +
      250  uint8_t offsetDirection,
      +
      251  uint8_t offsetValue);
      +
      252 
      +
      253 //*****************************************************************************
      +
      254 //
      +
      279 //
      +
      280 //*****************************************************************************
      +
      281 extern void RTC_B_initCalendar(uint16_t baseAddress,
      +
      282  Calendar *CalendarTime,
      +
      283  uint16_t formatSelect);
      +
      284 
      +
      285 //*****************************************************************************
      +
      286 //
      +
      297 //
      +
      298 //*****************************************************************************
      +
      299 extern Calendar RTC_B_getCalendarTime(uint16_t baseAddress);
      +
      300 
      +
      301 //*****************************************************************************
      +
      302 //
      +
      316 //
      +
      317 //*****************************************************************************
      +
      318 extern void RTC_B_configureCalendarAlarm(uint16_t baseAddress,
      +
      319  RTC_B_configureCalendarAlarmParam *param);
      +
      320 
      +
      321 //*****************************************************************************
      +
      322 //
      +
      339 //
      +
      340 //*****************************************************************************
      +
      341 extern void RTC_B_setCalendarEvent(uint16_t baseAddress,
      +
      342  uint16_t eventSelect);
      +
      343 
      +
      344 //*****************************************************************************
      +
      345 //
      +
      371 //
      +
      372 //*****************************************************************************
      +
      373 extern void RTC_B_definePrescaleEvent(uint16_t baseAddress,
      +
      374  uint8_t prescaleSelect,
      +
      375  uint8_t prescaleEventDivider);
      +
      376 
      +
      377 //*****************************************************************************
      +
      378 //
      +
      392 //
      +
      393 //*****************************************************************************
      +
      394 extern uint8_t RTC_B_getPrescaleValue(uint16_t baseAddress,
      +
      395  uint8_t prescaleSelect);
      +
      396 
      +
      397 //*****************************************************************************
      +
      398 //
      +
      414 //
      +
      415 //*****************************************************************************
      +
      416 extern void RTC_B_setPrescaleValue(uint16_t baseAddress,
      +
      417  uint8_t prescaleSelect,
      +
      418  uint8_t prescaleCounterValue);
      +
      419 
      +
      420 //*****************************************************************************
      +
      421 //
      +
      446 //
      +
      447 //*****************************************************************************
      +
      448 extern void RTC_B_enableInterrupt(uint16_t baseAddress,
      +
      449  uint8_t interruptMask);
      +
      450 
      +
      451 //*****************************************************************************
      +
      452 //
      +
      477 //
      +
      478 //*****************************************************************************
      +
      479 extern void RTC_B_disableInterrupt(uint16_t baseAddress,
      +
      480  uint8_t interruptMask);
      +
      481 
      +
      482 //*****************************************************************************
      +
      483 //
      +
      522 //
      +
      523 //*****************************************************************************
      +
      524 extern uint8_t RTC_B_getInterruptStatus(uint16_t baseAddress,
      +
      525  uint8_t interruptFlagMask);
      +
      526 
      +
      527 //*****************************************************************************
      +
      528 //
      +
      553 //
      +
      554 //*****************************************************************************
      +
      555 extern void RTC_B_clearInterrupt(uint16_t baseAddress,
      +
      556  uint8_t interruptFlagMask);
      +
      557 
      +
      558 //*****************************************************************************
      +
      559 //
      +
      570 //
      +
      571 //*****************************************************************************
      +
      572 extern uint16_t RTC_B_convertBCDToBinary(uint16_t baseAddress,
      +
      573  uint16_t valueToConvert);
      +
      574 
      +
      575 //*****************************************************************************
      +
      576 //
      +
      587 //
      +
      588 //*****************************************************************************
      +
      589 extern uint16_t RTC_B_convertBinaryToBCD(uint16_t baseAddress,
      +
      590  uint16_t valueToConvert);
      +
      591 
      +
      592 //*****************************************************************************
      +
      593 //
      +
      594 // Mark the end of the C bindings section for C++ compilers.
      +
      595 //
      +
      596 //*****************************************************************************
      +
      597 #ifdef __cplusplus
      +
      598 }
      +
      599 #endif
      +
      600 
      +
      601 #endif
      +
      602 #endif // __MSP430WARE_RTC_B_H__
      + +
      +
      + + + + diff --git a/Documentation/html/rtc__c_8c.html b/Documentation/html/rtc__c_8c.html new file mode 100644 index 0000000..3780b5d --- /dev/null +++ b/Documentation/html/rtc__c_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_c.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_c.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/rtc__c_8c_source.html b/Documentation/html/rtc__c_8c_source.html new file mode 100644 index 0000000..9e3caa0 --- /dev/null +++ b/Documentation/html/rtc__c_8c_source.html @@ -0,0 +1,452 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_c.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_c.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // rtc_c.c - Driver for the rtc_c Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #if defined(__MSP430_HAS_RTC_C__) || defined(__MSP430_HAS_RTC_CE__)
      +
      17 #include "rtc_c.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void RTC_C_startClock (uint16_t baseAddress)
      +
      22 {
      +
      23  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      24  HWREG8(baseAddress + OFS_RTCCTL13_L) &= ~(RTCHOLD);
      +
      25  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      26 }
      +
      27 
      +
      28 void RTC_C_holdClock (uint16_t baseAddress)
      +
      29 {
      +
      30  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      31  HWREG8(baseAddress + OFS_RTCCTL13_L) |= RTCHOLD;
      +
      32  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      33 }
      +
      34 
      +
      35 void RTC_C_setCalibrationFrequency (uint16_t baseAddress,
      +
      36  uint16_t frequencySelect)
      +
      37 {
      +
      38  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      39  HWREG16(baseAddress + OFS_RTCCTL13) &= ~(RTCCALF_3);
      +
      40  HWREG16(baseAddress + OFS_RTCCTL13) |= frequencySelect;
      +
      41  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      42 }
      +
      43 
      +
      44 void RTC_C_setCalibrationData (uint16_t baseAddress,
      +
      45  uint8_t offsetDirection,
      +
      46  uint8_t offsetValue)
      +
      47 {
      +
      48  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      49  HWREG16(baseAddress + OFS_RTCOCAL) = offsetValue + offsetDirection;
      +
      50  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      51 }
      +
      52 
      +
      53 void RTC_C_initCounter (uint16_t baseAddress,
      +
      54  uint16_t clockSelect,
      +
      55  uint16_t counterSizeSelect)
      +
      56 {
      +
      57  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      58 
      +
      59  HWREG8(baseAddress + OFS_RTCCTL13) |= RTCHOLD;
      +
      60  HWREG8(baseAddress + OFS_RTCCTL13) &= ~(RTCMODE);
      +
      61 
      +
      62  HWREG16(baseAddress + OFS_RTCCTL13) &= ~(RTCSSEL_3 | RTCTEV_3 );
      +
      63  HWREG16(baseAddress + OFS_RTCCTL13) |= clockSelect + counterSizeSelect;
      +
      64 
      +
      65  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      66 }
      +
      67 
      +
      68 bool RTC_C_setTemperatureCompensation(uint16_t baseAddress,
      +
      69  uint16_t offsetDirection,
      +
      70  uint8_t offsetValue)
      +
      71 {
      +
      72 
      +
      73  while(!(HWREG8(baseAddress + OFS_RTCTCMP_H) & RTCTCRDY_H));
      +
      74 
      +
      75  HWREG16(baseAddress + OFS_RTCTCMP) = offsetValue + offsetDirection;
      +
      76 
      +
      77  if(HWREG8(baseAddress + OFS_RTCTCMP_H) & RTCTCOK_H) {
      +
      78  return STATUS_SUCCESS;
      +
      79  } else {
      +
      80  return STATUS_FAIL;
      +
      81  }
      +
      82 }
      +
      83 
      +
      84 void RTC_C_initCalendar (uint16_t baseAddress,
      +
      85  Calendar *CalendarTime,
      +
      86  uint16_t formatSelect)
      +
      87 {
      +
      88 
      +
      89  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      90 
      +
      91  HWREG8(baseAddress + OFS_RTCCTL13_L) |= RTCHOLD;
      +
      92 
      +
      93  HWREG16(baseAddress + OFS_RTCCTL13_L) &= ~(RTCBCD);
      +
      94  HWREG16(baseAddress + OFS_RTCCTL13_L) |= formatSelect;
      +
      95 
      +
      96  HWREG8(baseAddress + OFS_RTCTIM0_L) = CalendarTime->Seconds;
      +
      97  HWREG8(baseAddress + OFS_RTCTIM0_H) = CalendarTime->Minutes;
      +
      98  HWREG8(baseAddress + OFS_RTCTIM1_L) = CalendarTime->Hours;
      +
      99  HWREG8(baseAddress + OFS_RTCTIM1_H) = CalendarTime->DayOfWeek;
      +
      100  HWREG8(baseAddress + OFS_RTCDATE_L) = CalendarTime->DayOfMonth;
      +
      101  HWREG8(baseAddress + OFS_RTCDATE_H) = CalendarTime->Month;
      +
      102  HWREG16(baseAddress + OFS_RTCYEAR) = CalendarTime->Year;
      +
      103 
      +
      104  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      105 }
      +
      106 
      +
      107 Calendar RTC_C_getCalendarTime (uint16_t baseAddress)
      +
      108 {
      +
      109  Calendar tempCal;
      +
      110 
      +
      111  while ( !(HWREG8(baseAddress + OFS_RTCCTL13_L) & RTCRDY) ) ;
      +
      112 
      +
      113  tempCal.Seconds = HWREG8(baseAddress + OFS_RTCTIM0_L);
      +
      114  tempCal.Minutes = HWREG8(baseAddress + OFS_RTCTIM0_H);
      +
      115  tempCal.Hours = HWREG8(baseAddress + OFS_RTCTIM1_L);
      +
      116  tempCal.DayOfWeek = HWREG8(baseAddress + OFS_RTCTIM1_H);
      +
      117  tempCal.DayOfMonth = HWREG8(baseAddress + OFS_RTCDATE_L);
      +
      118  tempCal.Month = HWREG8(baseAddress + OFS_RTCDATE_H);
      +
      119  tempCal.Year = HWREG16(baseAddress + OFS_RTCYEAR);
      +
      120 
      +
      121  return ( tempCal) ;
      +
      122 }
      +
      123 
      +
      124 void RTC_C_configureCalendarAlarm(uint16_t baseAddress,
      +
      125  RTC_C_configureCalendarAlarmParam *param)
      +
      126 {
      +
      127  //Each of these is XORed with 0x80 to turn on if an integer is passed,
      +
      128  //or turn OFF if RTC_C_ALARM_OFF (0x80) is passed.
      +
      129  HWREG8(baseAddress + OFS_RTCAMINHR_L) = (param->minutesAlarm ^ 0x80);
      +
      130  HWREG8(baseAddress + OFS_RTCAMINHR_H) = (param->hoursAlarm ^ 0x80);
      +
      131  HWREG8(baseAddress + OFS_RTCADOWDAY_L) = (param->dayOfWeekAlarm ^ 0x80);
      +
      132  HWREG8(baseAddress + OFS_RTCADOWDAY_H) = (param->dayOfMonthAlarm ^ 0x80);
      +
      133 }
      +
      134 void RTC_C_setCalendarEvent (uint16_t baseAddress,
      +
      135  uint16_t eventSelect)
      +
      136 {
      +
      137  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      138  HWREG8(baseAddress + OFS_RTCCTL13_L) &= ~(RTCTEV_3); //Reset bits
      +
      139  HWREG8(baseAddress + OFS_RTCCTL13_L) |= eventSelect;
      +
      140  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      141 }
      +
      142 
      +
      143 uint32_t RTC_C_getCounterValue (uint16_t baseAddress)
      +
      144 {
      +
      145  if ( (HWREG8(baseAddress + OFS_RTCCTL13) & RTCHOLD)
      +
      146  || (HWREG8(baseAddress + OFS_RTCPS1CTL) & RT1PSHOLD) ){
      +
      147  return ( 0) ;
      +
      148  }
      +
      149 
      +
      150  uint32_t counterValue_L = HWREG16(baseAddress + OFS_RTCTIM0);
      +
      151  uint32_t counterValue_H = HWREG16(baseAddress + OFS_RTCTIM1);
      +
      152  return ( (counterValue_H << 16) + counterValue_L );
      +
      153 }
      +
      154 
      +
      155 void RTC_C_setCounterValue (uint16_t baseAddress,
      +
      156  uint32_t counterValue)
      +
      157 {
      +
      158  uint16_t mode = HWREG16(baseAddress + OFS_RTCCTL13) & RTCTEV_3;
      +
      159 
      +
      160  if(mode == RTC_C_COUNTERSIZE_8BIT && counterValue > UINT8_MAX)
      +
      161  counterValue = UINT8_MAX;
      +
      162  else if(mode == RTC_C_COUNTERSIZE_16BIT && counterValue > UINT16_MAX)
      +
      163  counterValue = UINT16_MAX;
      +
      164  else if(mode == RTC_C_COUNTERSIZE_24BIT && counterValue > 0xFFFFFF)
      +
      165  counterValue = 0xFFFFFF;
      +
      166 
      +
      167  HWREG16(baseAddress + OFS_RTCTIM0) = counterValue;
      +
      168  HWREG16(baseAddress + OFS_RTCTIM1) = ( counterValue >> 16 );
      +
      169 }
      +
      170 
      +
      171 void RTC_C_initCounterPrescale (uint16_t baseAddress,
      +
      172  uint8_t prescaleSelect,
      +
      173  uint16_t prescaleClockSelect,
      +
      174  uint16_t prescaleDivider)
      +
      175 {
      +
      176  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      177 
      +
      178  //Reset bits and set clock select
      +
      179  HWREG16(baseAddress + OFS_RTCPS0CTL + prescaleSelect) =
      +
      180  prescaleClockSelect + prescaleDivider;
      +
      181 
      +
      182  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      183 }
      +
      184 
      +
      185 void RTC_C_holdCounterPrescale (uint16_t baseAddress,
      +
      186  uint8_t prescaleSelect)
      +
      187 {
      +
      188  HWREG8(baseAddress + OFS_RTCPS0CTL_H + prescaleSelect) |= RT0PSHOLD_H;
      +
      189 }
      +
      190 
      +
      191 void RTC_C_startCounterPrescale (uint16_t baseAddress,
      +
      192  uint8_t prescaleSelect)
      +
      193 {
      +
      194  HWREG8(baseAddress + OFS_RTCPS0CTL_H + prescaleSelect) &= ~(RT0PSHOLD_H);
      +
      195 }
      +
      196 
      +
      197 void RTC_C_definePrescaleEvent (uint16_t baseAddress,
      +
      198  uint8_t prescaleSelect,
      +
      199  uint8_t prescaleEventDivider)
      +
      200 {
      +
      201  HWREG8(baseAddress + OFS_RTCPS0CTL_L + prescaleSelect) &= ~(RT0IP_7);
      +
      202  HWREG8(baseAddress + OFS_RTCPS0CTL_L +
      +
      203  prescaleSelect) |= prescaleEventDivider;
      +
      204 }
      +
      205 
      +
      206 uint8_t RTC_C_getPrescaleValue (uint16_t baseAddress,
      +
      207  uint8_t prescaleSelect)
      +
      208 {
      +
      209  if (RTC_C_PRESCALE_0 == prescaleSelect){
      +
      210  return ( HWREG8(baseAddress + OFS_RTCPS_L) );
      +
      211  } else if (RTC_C_PRESCALE_1 == prescaleSelect){
      +
      212  return ( HWREG8(baseAddress + OFS_RTCPS_H) );
      +
      213  } else {
      +
      214  return ( 0) ;
      +
      215  }
      +
      216 }
      +
      217 
      +
      218 void RTC_C_setPrescaleValue(uint16_t baseAddress,
      +
      219  uint8_t prescaleSelect,
      +
      220  uint8_t prescaleCounterValue)
      +
      221 {
      +
      222  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      223  if (RTC_C_PRESCALE_0 == prescaleSelect){
      +
      224  HWREG8(baseAddress + OFS_RTCPS_L) = prescaleCounterValue;
      +
      225  } else if (RTC_C_PRESCALE_1 == prescaleSelect){
      +
      226  HWREG8(baseAddress + OFS_RTCPS_H) = prescaleCounterValue;
      +
      227  }
      +
      228  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      229 }
      +
      230 
      +
      231 void RTC_C_enableInterrupt (uint16_t baseAddress,
      +
      232  uint8_t interruptMask)
      +
      233 {
      +
      234  if ( interruptMask & (RTCOFIE + RTCTEVIE + RTCAIE + RTCRDYIE) ){
      +
      235  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      236  HWREG8(baseAddress + OFS_RTCCTL0_L) |=
      +
      237  (interruptMask & (RTCOFIE + RTCTEVIE + RTCAIE + RTCRDYIE));
      +
      238  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      239  }
      +
      240 
      +
      241  if (interruptMask & RTC_C_PRESCALE_TIMER0_INTERRUPT){
      +
      242  HWREG8(baseAddress + OFS_RTCPS0CTL_L) |= RT0PSIE;
      +
      243  }
      +
      244 
      +
      245  if (interruptMask & RTC_C_PRESCALE_TIMER1_INTERRUPT){
      +
      246  HWREG8(baseAddress + OFS_RTCPS1CTL_L) |= RT1PSIE;
      +
      247  }
      +
      248 }
      +
      249 
      +
      250 void RTC_C_disableInterrupt (uint16_t baseAddress,
      +
      251  uint8_t interruptMask)
      +
      252 {
      +
      253 
      +
      254  if ( interruptMask & (RTCOFIE + RTCTEVIE + RTCAIE + RTCRDYIE) ){
      +
      255  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      256  HWREG8(baseAddress + OFS_RTCCTL0_L) &=
      +
      257  ~(interruptMask & (RTCOFIE + RTCTEVIE + RTCAIE + RTCRDYIE));
      +
      258  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      259  }
      +
      260 
      +
      261  if (interruptMask & RTC_C_PRESCALE_TIMER0_INTERRUPT){
      +
      262  HWREG8(baseAddress + OFS_RTCPS0CTL_L) &= ~(RT0PSIE);
      +
      263  }
      +
      264 
      +
      265  if (interruptMask & RTC_C_PRESCALE_TIMER1_INTERRUPT){
      +
      266  HWREG8(baseAddress + OFS_RTCPS1CTL_L) &= ~(RT1PSIE);
      +
      267  }
      +
      268 }
      +
      269 
      +
      270 uint8_t RTC_C_getInterruptStatus (uint16_t baseAddress,
      +
      271  uint8_t interruptFlagMask)
      +
      272 {
      +
      273  uint8_t tempInterruptFlagMask = 0x0000;
      +
      274 
      +
      275  tempInterruptFlagMask |= (HWREG8(baseAddress + OFS_RTCCTL0_L)
      +
      276  & ((interruptFlagMask >> 4)
      +
      277  & (RTCOFIFG +
      +
      278  RTCTEVIFG +
      +
      279  RTCAIFG +
      +
      280  RTCRDYIFG)));
      +
      281 
      +
      282  tempInterruptFlagMask = tempInterruptFlagMask << 4;
      +
      283 
      +
      284  if (interruptFlagMask & RTC_C_PRESCALE_TIMER0_INTERRUPT){
      +
      285  if ( HWREG8(baseAddress + OFS_RTCPS0CTL_L) & RT0PSIFG){
      +
      286  tempInterruptFlagMask |= RTC_C_PRESCALE_TIMER0_INTERRUPT;
      +
      287  }
      +
      288  }
      +
      289 
      +
      290  if (interruptFlagMask & RTC_C_PRESCALE_TIMER1_INTERRUPT){
      +
      291  if ( HWREG8(baseAddress + OFS_RTCPS1CTL_L) & RT1PSIFG){
      +
      292  tempInterruptFlagMask |= RTC_C_PRESCALE_TIMER1_INTERRUPT;
      +
      293  }
      +
      294  }
      +
      295 
      +
      296  return ( tempInterruptFlagMask) ;
      +
      297 }
      +
      298 
      +
      299 void RTC_C_clearInterrupt (uint16_t baseAddress,
      +
      300  uint8_t interruptFlagMask)
      +
      301 {
      +
      302 
      +
      303  if ( interruptFlagMask & (RTC_C_TIME_EVENT_INTERRUPT +
      +
      304  RTC_C_CLOCK_ALARM_INTERRUPT +
      +
      305  RTC_C_CLOCK_READ_READY_INTERRUPT +
      +
      306  RTC_C_OSCILLATOR_FAULT_INTERRUPT) ){
      +
      307  HWREG8(baseAddress + OFS_RTCCTL0_H) = RTCKEY_H;
      +
      308  HWREG8(baseAddress + OFS_RTCCTL0_L) &=
      +
      309  ~((interruptFlagMask>>4) & (RTCOFIFG +
      +
      310  RTCTEVIFG +
      +
      311  RTCAIFG +
      +
      312  RTCRDYIFG));
      +
      313  HWREG8(baseAddress + OFS_RTCCTL0_H) = 0x00;
      +
      314  }
      +
      315 
      +
      316  if (interruptFlagMask & RTC_C_PRESCALE_TIMER0_INTERRUPT){
      +
      317  HWREG8(baseAddress + OFS_RTCPS0CTL_L) &= ~(RT0PSIFG);
      +
      318  }
      +
      319 
      +
      320  if (interruptFlagMask & RTC_C_PRESCALE_TIMER1_INTERRUPT){
      +
      321  HWREG8(baseAddress + OFS_RTCPS1CTL_L) &= ~(RT1PSIFG);
      +
      322  }
      +
      323 }
      +
      324 
      +
      325 uint16_t RTC_C_convertBCDToBinary (uint16_t baseAddress,
      +
      326  uint16_t valueToConvert)
      +
      327 {
      +
      328  HWREG16(baseAddress + OFS_BCD2BIN) = valueToConvert;
      +
      329  return ( HWREG16(baseAddress + OFS_BCD2BIN) );
      +
      330 }
      +
      331 
      +
      332 uint16_t RTC_C_convertBinaryToBCD (uint16_t baseAddress,
      +
      333  uint16_t valueToConvert)
      +
      334 {
      +
      335  HWREG16(baseAddress + OFS_BIN2BCD) = valueToConvert;
      +
      336  return ( HWREG16(baseAddress + OFS_BIN2BCD) );
      +
      337 }
      +
      338 
      +
      339 #endif
      +
      340 //*****************************************************************************
      +
      341 //
      +
      344 //
      +
      345 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      +
      #define STATUS_FAIL
      Definition: hw_memmap.h:23
      +
      #define STATUS_SUCCESS
      Definition: hw_memmap.h:22
      + +
      +
      + + + + diff --git a/Documentation/html/rtc__c_8h.html b/Documentation/html/rtc__c_8h.html new file mode 100644 index 0000000..fe53297 --- /dev/null +++ b/Documentation/html/rtc__c_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_c.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_c.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/rtc__c_8h_source.html b/Documentation/html/rtc__c_8h_source.html new file mode 100644 index 0000000..d86b457 --- /dev/null +++ b/Documentation/html/rtc__c_8h_source.html @@ -0,0 +1,491 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/rtc_c.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      rtc_c.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // rtc_c.h - Driver for the RTC_C Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_RTC_C_H__
      +
      8 #define __MSP430WARE_RTC_C_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #if defined(__MSP430_HAS_RTC_C__) || defined(__MSP430_HAS_RTC_CE__)
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      30 //
      +
      31 //*****************************************************************************
      +
      32 typedef struct Calendar {
      +
      34  uint8_t Seconds;
      +
      36  uint8_t Minutes;
      +
      38  uint8_t Hours;
      +
      40  uint8_t DayOfWeek;
      +
      42  uint8_t DayOfMonth;
      +
      44  uint8_t Month;
      +
      46  uint16_t Year;
      +
      47 } Calendar;
      +
      48 
      +
      49 //*****************************************************************************
      +
      50 //
      +
      53 //
      +
      54 //*****************************************************************************
      +
      55 typedef struct RTC_C_configureCalendarAlarmParam {
      +
      59  uint8_t minutesAlarm;
      +
      63  uint8_t hoursAlarm;
      +
      67  uint8_t dayOfWeekAlarm;
      +
      71  uint8_t dayOfMonthAlarm;
      +
      72 } RTC_C_configureCalendarAlarmParam;
      +
      73 
      +
      74 
      +
      75 //*****************************************************************************
      +
      76 //
      +
      77 // The following are values that can be passed to the frequencySelect parameter
      +
      78 // for functions: RTC_C_setCalibrationFrequency().
      +
      79 //
      +
      80 //*****************************************************************************
      +
      81 #define RTC_C_CALIBRATIONFREQ_OFF (RTCCALF_0)
      +
      82 #define RTC_C_CALIBRATIONFREQ_512HZ (RTCCALF_1)
      +
      83 #define RTC_C_CALIBRATIONFREQ_256HZ (RTCCALF_2)
      +
      84 #define RTC_C_CALIBRATIONFREQ_1HZ (RTCCALF_3)
      +
      85 
      +
      86 //*****************************************************************************
      +
      87 //
      +
      88 // The following are values that can be passed to the offsetDirection parameter
      +
      89 // for functions: RTC_C_setCalibrationData().
      +
      90 //
      +
      91 //*****************************************************************************
      +
      92 #define RTC_C_CALIBRATION_DOWN1PPM (!(RTCCALS))
      +
      93 #define RTC_C_CALIBRATION_UP1PPM (RTCCALS)
      +
      94 
      +
      95 //*****************************************************************************
      +
      96 //
      +
      97 // The following are values that can be passed to the offsetDirection parameter
      +
      98 // for functions: RTC_C_setTemperatureCompensation().
      +
      99 //
      +
      100 //*****************************************************************************
      +
      101 #define RTC_C_COMPENSATION_DOWN1PPM (!(RTCTCMPS))
      +
      102 #define RTC_C_COMPENSATION_UP1PPM (RTCTCMPS)
      +
      103 
      +
      104 //*****************************************************************************
      +
      105 //
      +
      106 // The following are values that can be passed to the clockSelect parameter for
      +
      107 // functions: RTC_C_initCounter().
      +
      108 //
      +
      109 //*****************************************************************************
      +
      110 #define RTC_C_CLOCKSELECT_32KHZ_OSC (RTCSSEL_0)
      +
      111 #define RTC_C_CLOCKSELECT_RT1PS (RTCSSEL_2)
      +
      112 
      +
      113 //*****************************************************************************
      +
      114 //
      +
      115 // The following are values that can be passed to the counterSizeSelect
      +
      116 // parameter for functions: RTC_C_initCounter().
      +
      117 //
      +
      118 //*****************************************************************************
      +
      119 #define RTC_C_COUNTERSIZE_8BIT (RTCTEV_0)
      +
      120 #define RTC_C_COUNTERSIZE_16BIT (RTCTEV_1)
      +
      121 #define RTC_C_COUNTERSIZE_24BIT (RTCTEV_2)
      +
      122 #define RTC_C_COUNTERSIZE_32BIT (RTCTEV_3)
      +
      123 
      +
      124 //*****************************************************************************
      +
      125 //
      +
      126 // The following are values that can be passed to the formatSelect parameter
      +
      127 // for functions: RTC_C_initCalendar().
      +
      128 //
      +
      129 //*****************************************************************************
      +
      130 #define RTC_C_FORMAT_BINARY (!(RTCBCD))
      +
      131 #define RTC_C_FORMAT_BCD (RTCBCD)
      +
      132 
      +
      133 //*****************************************************************************
      +
      134 //
      +
      135 // The following are values that can be passed to the param parameter for
      +
      136 // functions: RTC_C_configureCalendarAlarm(), RTC_C_configureCalendarAlarm(),
      +
      137 // RTC_C_configureCalendarAlarm(), and RTC_C_configureCalendarAlarm().
      +
      138 //
      +
      139 //*****************************************************************************
      +
      140 #define RTC_C_ALARMCONDITION_OFF (0x80)
      +
      141 
      +
      142 //*****************************************************************************
      +
      143 //
      +
      144 // The following are values that can be passed to the eventSelect parameter for
      +
      145 // functions: RTC_C_setCalendarEvent().
      +
      146 //
      +
      147 //*****************************************************************************
      +
      148 #define RTC_C_CALENDAREVENT_MINUTECHANGE (RTCTEV_0)
      +
      149 #define RTC_C_CALENDAREVENT_HOURCHANGE (RTCTEV_1)
      +
      150 #define RTC_C_CALENDAREVENT_NOON (RTCTEV_2)
      +
      151 #define RTC_C_CALENDAREVENT_MIDNIGHT (RTCTEV_3)
      +
      152 
      +
      153 //*****************************************************************************
      +
      154 //
      +
      155 // The following are values that can be passed to the prescaleDivider parameter
      +
      156 // for functions: RTC_C_initCounterPrescale().
      +
      157 //
      +
      158 //*****************************************************************************
      +
      159 #define RTC_C_PSDIVIDER_2 (RT0PSDIV_0)
      +
      160 #define RTC_C_PSDIVIDER_4 (RT0PSDIV_1)
      +
      161 #define RTC_C_PSDIVIDER_8 (RT0PSDIV_2)
      +
      162 #define RTC_C_PSDIVIDER_16 (RT0PSDIV_3)
      +
      163 #define RTC_C_PSDIVIDER_32 (RT0PSDIV_4)
      +
      164 #define RTC_C_PSDIVIDER_64 (RT0PSDIV_5)
      +
      165 #define RTC_C_PSDIVIDER_128 (RT0PSDIV_6)
      +
      166 #define RTC_C_PSDIVIDER_256 (RT0PSDIV_7)
      +
      167 
      +
      168 //*****************************************************************************
      +
      169 //
      +
      170 // The following are values that can be passed to the prescaleClockSelect
      +
      171 // parameter for functions: RTC_C_initCounterPrescale().
      +
      172 //
      +
      173 //*****************************************************************************
      +
      174 #define RTC_C_PSCLOCKSELECT_ACLK (RT1SSEL_0)
      +
      175 #define RTC_C_PSCLOCKSELECT_SMCLK (RT1SSEL_1)
      +
      176 #define RTC_C_PSCLOCKSELECT_RT0PS (RT1SSEL_2)
      +
      177 
      +
      178 //*****************************************************************************
      +
      179 //
      +
      180 // The following are values that can be passed to the prescaleEventDivider
      +
      181 // parameter for functions: RTC_C_definePrescaleEvent().
      +
      182 //
      +
      183 //*****************************************************************************
      +
      184 #define RTC_C_PSEVENTDIVIDER_2 (RT0IP_0)
      +
      185 #define RTC_C_PSEVENTDIVIDER_4 (RT0IP_1)
      +
      186 #define RTC_C_PSEVENTDIVIDER_8 (RT0IP_2)
      +
      187 #define RTC_C_PSEVENTDIVIDER_16 (RT0IP_3)
      +
      188 #define RTC_C_PSEVENTDIVIDER_32 (RT0IP_4)
      +
      189 #define RTC_C_PSEVENTDIVIDER_64 (RT0IP_5)
      +
      190 #define RTC_C_PSEVENTDIVIDER_128 (RT0IP_6)
      +
      191 #define RTC_C_PSEVENTDIVIDER_256 (RT0IP_7)
      +
      192 
      +
      193 //*****************************************************************************
      +
      194 //
      +
      195 // The following are values that can be passed to the prescaleSelect parameter
      +
      196 // for functions: RTC_C_initCounterPrescale(), RTC_C_holdCounterPrescale(),
      +
      197 // RTC_C_startCounterPrescale(), RTC_C_definePrescaleEvent(),
      +
      198 // RTC_C_getPrescaleValue(), and RTC_C_setPrescaleValue().
      +
      199 //
      +
      200 //*****************************************************************************
      +
      201 #define RTC_C_PRESCALE_0 (0x0)
      +
      202 #define RTC_C_PRESCALE_1 (0x2)
      +
      203 
      +
      204 //*****************************************************************************
      +
      205 //
      +
      206 // The following are values that can be passed to the interruptMask parameter
      +
      207 // for functions: RTC_C_enableInterrupt(), and RTC_C_disableInterrupt(); the
      +
      208 // interruptFlagMask parameter for functions: RTC_C_getInterruptStatus(), and
      +
      209 // RTC_C_clearInterrupt() as well as returned by the RTC_C_getInterruptStatus()
      +
      210 // function.
      +
      211 //
      +
      212 //*****************************************************************************
      +
      213 #define RTC_C_TIME_EVENT_INTERRUPT RTCTEVIE
      +
      214 #define RTC_C_CLOCK_ALARM_INTERRUPT RTCAIE
      +
      215 #define RTC_C_CLOCK_READ_READY_INTERRUPT RTCRDYIE
      +
      216 #define RTC_C_PRESCALE_TIMER0_INTERRUPT 0x02
      +
      217 #define RTC_C_PRESCALE_TIMER1_INTERRUPT 0x01
      +
      218 #define RTC_C_OSCILLATOR_FAULT_INTERRUPT RTCOFIE
      +
      219 
      +
      220 //*****************************************************************************
      +
      221 //
      +
      222 // Prototypes for the APIs.
      +
      223 //
      +
      224 //*****************************************************************************
      +
      225 
      +
      226 //*****************************************************************************
      +
      227 //
      +
      235 //
      +
      236 //*****************************************************************************
      +
      237 extern void RTC_C_startClock(uint16_t baseAddress);
      +
      238 
      +
      239 //*****************************************************************************
      +
      240 //
      +
      248 //
      +
      249 //*****************************************************************************
      +
      250 extern void RTC_C_holdClock(uint16_t baseAddress);
      +
      251 
      +
      252 //*****************************************************************************
      +
      253 //
      +
      274 //
      +
      275 //*****************************************************************************
      +
      276 extern void RTC_C_setCalibrationFrequency(uint16_t baseAddress,
      +
      277  uint16_t frequencySelect);
      +
      278 
      +
      279 //*****************************************************************************
      +
      280 //
      +
      300 //
      +
      301 //*****************************************************************************
      +
      302 extern void RTC_C_setCalibrationData(uint16_t baseAddress,
      +
      303  uint8_t offsetDirection,
      +
      304  uint8_t offsetValue);
      +
      305 
      +
      306 //*****************************************************************************
      +
      307 //
      +
      329 //
      +
      330 //*****************************************************************************
      +
      331 extern void RTC_C_initCounter(uint16_t baseAddress,
      +
      332  uint16_t clockSelect,
      +
      333  uint16_t counterSizeSelect);
      +
      334 
      +
      335 //*****************************************************************************
      +
      336 //
      +
      356 //
      +
      357 //*****************************************************************************
      +
      358 extern bool RTC_C_setTemperatureCompensation(uint16_t baseAddress,
      +
      359  uint16_t offsetDirection,
      +
      360  uint8_t offsetValue);
      +
      361 
      +
      362 //*****************************************************************************
      +
      363 //
      +
      388 //
      +
      389 //*****************************************************************************
      +
      390 extern void RTC_C_initCalendar(uint16_t baseAddress,
      +
      391  Calendar *CalendarTime,
      +
      392  uint16_t formatSelect);
      +
      393 
      +
      394 //*****************************************************************************
      +
      395 //
      +
      406 //
      +
      407 //*****************************************************************************
      +
      408 extern Calendar RTC_C_getCalendarTime(uint16_t baseAddress);
      +
      409 
      +
      410 //*****************************************************************************
      +
      411 //
      +
      425 //
      +
      426 //*****************************************************************************
      +
      427 extern void RTC_C_configureCalendarAlarm(uint16_t baseAddress,
      +
      428  RTC_C_configureCalendarAlarmParam *param);
      +
      429 
      +
      430 //*****************************************************************************
      +
      431 //
      +
      448 //
      +
      449 //*****************************************************************************
      +
      450 extern void RTC_C_setCalendarEvent(uint16_t baseAddress,
      +
      451  uint16_t eventSelect);
      +
      452 
      +
      453 //*****************************************************************************
      +
      454 //
      +
      464 //
      +
      465 //*****************************************************************************
      +
      466 extern uint32_t RTC_C_getCounterValue(uint16_t baseAddress);
      +
      467 
      +
      468 //*****************************************************************************
      +
      469 //
      +
      479 //
      +
      480 //*****************************************************************************
      +
      481 extern void RTC_C_setCounterValue(uint16_t baseAddress,
      +
      482  uint32_t counterValue);
      +
      483 
      +
      484 //*****************************************************************************
      +
      485 //
      +
      519 //
      +
      520 //*****************************************************************************
      +
      521 extern void RTC_C_initCounterPrescale(uint16_t baseAddress,
      +
      522  uint8_t prescaleSelect,
      +
      523  uint16_t prescaleClockSelect,
      +
      524  uint16_t prescaleDivider);
      +
      525 
      +
      526 //*****************************************************************************
      +
      527 //
      +
      543 //
      +
      544 //*****************************************************************************
      +
      545 extern void RTC_C_holdCounterPrescale(uint16_t baseAddress,
      +
      546  uint8_t prescaleSelect);
      +
      547 
      +
      548 //*****************************************************************************
      +
      549 //
      +
      562 //
      +
      563 //*****************************************************************************
      +
      564 extern void RTC_C_startCounterPrescale(uint16_t baseAddress,
      +
      565  uint8_t prescaleSelect);
      +
      566 
      +
      567 //*****************************************************************************
      +
      568 //
      +
      594 //
      +
      595 //*****************************************************************************
      +
      596 extern void RTC_C_definePrescaleEvent(uint16_t baseAddress,
      +
      597  uint8_t prescaleSelect,
      +
      598  uint8_t prescaleEventDivider);
      +
      599 
      +
      600 //*****************************************************************************
      +
      601 //
      +
      615 //
      +
      616 //*****************************************************************************
      +
      617 extern uint8_t RTC_C_getPrescaleValue(uint16_t baseAddress,
      +
      618  uint8_t prescaleSelect);
      +
      619 
      +
      620 //*****************************************************************************
      +
      621 //
      +
      637 //
      +
      638 //*****************************************************************************
      +
      639 extern void RTC_C_setPrescaleValue(uint16_t baseAddress,
      +
      640  uint8_t prescaleSelect,
      +
      641  uint8_t prescaleCounterValue);
      +
      642 
      +
      643 //*****************************************************************************
      +
      644 //
      +
      669 //
      +
      670 //*****************************************************************************
      +
      671 extern void RTC_C_enableInterrupt(uint16_t baseAddress,
      +
      672  uint8_t interruptMask);
      +
      673 
      +
      674 //*****************************************************************************
      +
      675 //
      +
      700 //
      +
      701 //*****************************************************************************
      +
      702 extern void RTC_C_disableInterrupt(uint16_t baseAddress,
      +
      703  uint8_t interruptMask);
      +
      704 
      +
      705 //*****************************************************************************
      +
      706 //
      +
      745 //
      +
      746 //*****************************************************************************
      +
      747 extern uint8_t RTC_C_getInterruptStatus(uint16_t baseAddress,
      +
      748  uint8_t interruptFlagMask);
      +
      749 
      +
      750 //*****************************************************************************
      +
      751 //
      +
      776 //
      +
      777 //*****************************************************************************
      +
      778 extern void RTC_C_clearInterrupt(uint16_t baseAddress,
      +
      779  uint8_t interruptFlagMask);
      +
      780 
      +
      781 //*****************************************************************************
      +
      782 //
      +
      793 //
      +
      794 //*****************************************************************************
      +
      795 extern uint16_t RTC_C_convertBCDToBinary(uint16_t baseAddress,
      +
      796  uint16_t valueToConvert);
      +
      797 
      +
      798 //*****************************************************************************
      +
      799 //
      +
      810 //
      +
      811 //*****************************************************************************
      +
      812 extern uint16_t RTC_C_convertBinaryToBCD(uint16_t baseAddress,
      +
      813  uint16_t valueToConvert);
      +
      814 
      +
      815 //*****************************************************************************
      +
      816 //
      +
      817 // Mark the end of the C bindings section for C++ compilers.
      +
      818 //
      +
      819 //*****************************************************************************
      +
      820 #ifdef __cplusplus
      +
      821 }
      +
      822 #endif
      +
      823 
      +
      824 #endif
      +
      825 #endif // __MSP430WARE_RTC_C_H__
      + +
      +
      + + + + diff --git a/Documentation/html/sd24__b_8c.html b/Documentation/html/sd24__b_8c.html new file mode 100644 index 0000000..6e0b5a9 --- /dev/null +++ b/Documentation/html/sd24__b_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sd24_b.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sd24_b.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/sd24__b_8c_source.html b/Documentation/html/sd24__b_8c_source.html new file mode 100644 index 0000000..9a7a1a5 --- /dev/null +++ b/Documentation/html/sd24__b_8c_source.html @@ -0,0 +1,375 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sd24_b.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sd24_b.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // sd24_b.c - Driver for the sd24_b Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_SD24_B__
      +
      17 #include "sd24_b.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void SD24_B_init(uint16_t baseAddress, SD24_B_initParam *param)
      +
      22 {
      +
      23  // Reset all interrupts and flags
      +
      24  HWREG16(baseAddress + OFS_SD24BIE) &= 0x0000; //Reset ALL interrupt enables
      +
      25  HWREG16(baseAddress + OFS_SD24BIFG) &= 0x0000; //Reset ALL interrupt flags
      +
      26  HWREG16(baseAddress + OFS_SD24BTRGCTL) &= ~(SD24TRGIE | SD24TRGIFG);
      +
      27 
      +
      28  // Turn off all group conversions
      +
      29  HWREG16(baseAddress + OFS_SD24BCTL1) &= ~(SD24GRP0SC | SD24GRP1SC
      +
      30  | SD24GRP2SC | SD24GRP3SC);
      +
      31 
      +
      32  // Configure SD24_B
      +
      33  HWREG16(baseAddress + OFS_SD24BCTL0) &= ~((SD24DIV4 | SD24DIV3 | SD24DIV2
      +
      34  | SD24DIV1 | SD24DIV0) | SD24PDIV_7 | SD24SSEL_3 | SD24REFS);
      +
      35  HWREG16(baseAddress + OFS_SD24BCTL0) |= (param->clockSourceSelect |
      +
      36  param->clockPreDivider | param->clockDivider | param->referenceSelect);
      +
      37 
      +
      38  return;
      +
      39 }
      +
      40 
      +
      41 void SD24_B_initConverter(uint16_t baseAddress,
      +
      42  SD24_B_initConverterParam *param)
      +
      43 {
      +
      44  uint16_t address = baseAddress + (OFS_SD24BCCTL0 + (param->converter * 0x08));
      +
      45 
      +
      46  // Clearing previous settings for configuration
      +
      47  HWREG16(address) &= ~(SD24ALGN | SD24SNGL | SD24SCS__GROUP3);
      +
      48 
      +
      49  HWREG16(address) |= (param->alignment | param->startSelect |
      +
      50  (((uint16_t) param->conversionMode) << 8));
      +
      51 }
      +
      52 
      +
      53 void SD24_B_initConverterAdvanced(uint16_t baseAddress,
      +
      54  SD24_B_initConverterAdvancedParam *param)
      +
      55 {
      +
      56  // Getting correct SD24BCCTLx register
      +
      57  uint16_t address = baseAddress + (OFS_SD24BCCTL0 + (param->converter * 0x08));
      +
      58 
      +
      59  // Clearing previous settings for configuration
      +
      60  HWREG16(address) &= ~(SD24ALGN | SD24SNGL | SD24DF1 | SD24DF0 | SD24SCS__GROUP3 );
      +
      61 
      +
      62  HWREG16(address) |= (param->alignment | param->startSelect | param->dataFormat |
      +
      63  (((uint16_t) param->conversionMode) << 8));
      +
      64 
      +
      65  // Getting correct SDBINTCTLx register
      +
      66  address = baseAddress + (OFS_SD24BINCTL0 + (param->converter * 0x08));
      +
      67 
      +
      68  // Clearing previous settings for configuration
      +
      69  HWREG16(address) &= ~(SD24GAIN_128 | SD24INTDLY_3);
      +
      70 
      +
      71  HWREG16(address) |= (param->gain | param->sampleDelay);
      +
      72 
      +
      73  // Getting correct SDBOSRx register
      +
      74  address = baseAddress + (OFS_SD24BOSR0 + (param->converter * 0x08));
      +
      75 
      +
      76  // Clearing previous settings for configuration
      +
      77  HWREG16(address) &= ~(OSR10 | OSR9 | OSR8 | OSR7 | OSR6 | OSR5 | OSR4 |
      +
      78  OSR3 | OSR2 | OSR1 | OSR0);
      +
      79 
      +
      80  HWREG16(address) |= param->oversampleRatio;
      +
      81 }
      +
      82 void SD24_B_setConverterDataFormat(uint16_t baseAddress,
      +
      83  uint8_t converter,
      +
      84  uint8_t dataFormat) {
      +
      85 
      +
      86  uint16_t address = baseAddress + (OFS_SD24BCCTL0_L +
      +
      87  (converter * 0x08));
      +
      88  // Clearing previous settings for configuration
      +
      89  HWREG8(address) &= ~(SD24DF0 | SD24DF1);
      +
      90 
      +
      91  HWREG8(address) |= dataFormat;
      +
      92 }
      +
      93 
      +
      94 void SD24_B_startGroupConversion(uint16_t baseAddress,
      +
      95  uint8_t group)
      +
      96 {
      +
      97  switch(group) {
      +
      98  case SD24_B_GROUP0:
      +
      99  HWREG16(baseAddress + OFS_SD24BCTL1) |= SD24GRP0SC; break;
      +
      100  case SD24_B_GROUP1:
      +
      101  HWREG16(baseAddress + OFS_SD24BCTL1) |= SD24GRP1SC; break;
      +
      102  case SD24_B_GROUP2:
      +
      103  HWREG16(baseAddress + OFS_SD24BCTL1) |= SD24GRP2SC; break;
      +
      104  case SD24_B_GROUP3:
      +
      105  HWREG16(baseAddress + OFS_SD24BCTL1) |= SD24GRP3SC; break;
      +
      106  }
      +
      107 }
      +
      108 
      +
      109 void SD24_B_stopGroupConversion(uint16_t baseAddress,
      +
      110  uint8_t group)
      +
      111 {
      +
      112  switch(group) {
      +
      113  case SD24_B_GROUP0:
      +
      114  HWREG16(baseAddress + OFS_SD24BCTL1) &= ~(SD24GRP0SC); break;
      +
      115  case SD24_B_GROUP1:
      +
      116  HWREG16(baseAddress + OFS_SD24BCTL1) &= ~(SD24GRP1SC); break;
      +
      117  case SD24_B_GROUP2:
      +
      118  HWREG16(baseAddress + OFS_SD24BCTL1) &= ~(SD24GRP2SC); break;
      +
      119  case SD24_B_GROUP3:
      +
      120  HWREG16(baseAddress + OFS_SD24BCTL1) &= ~(SD24GRP3SC); break;
      +
      121  }
      +
      122 }
      +
      123 
      +
      124 void SD24_B_startConverterConversion(uint16_t baseAddress,
      +
      125  uint8_t converter)
      +
      126 {
      +
      127  uint16_t address = baseAddress + (OFS_SD24BCCTL0 + (converter * 0x08));
      +
      128 
      +
      129  // Clearing trigger generation select
      +
      130  HWREG16(address) &= ~(SD24SCS_7);
      +
      131 
      +
      132  // Setting SD24SC bit to start conversion
      +
      133  HWREG16(address) |= SD24SC;
      +
      134 }
      +
      135 
      +
      136 void SD24_B_stopConverterConversion(uint16_t baseAddress,
      +
      137  uint8_t converter)
      +
      138 {
      +
      139  uint16_t address = baseAddress + (OFS_SD24BCCTL0 + (converter * 0x08));
      +
      140 
      +
      141  // Clearing trigger generation select
      +
      142  HWREG16(address) &= ~(SD24SCS_7);
      +
      143 
      +
      144  // Setting SD24SC bit to start conversion
      +
      145  HWREG16(address) &= ~(SD24SC);
      +
      146 }
      +
      147 
      +
      148 void SD24_B_configureDMATrigger(uint16_t baseAddress,
      +
      149  uint16_t interruptFlag)
      +
      150 {
      +
      151  // Clearing previous settings
      +
      152  HWREG16(baseAddress + OFS_SD24BCTL1) &= ~(SD24DMA3 | SD24DMA2 |
      +
      153  SD24DMA1 | SD24DMA0);
      +
      154 
      +
      155  HWREG16(baseAddress + OFS_SD24BCTL1) |= interruptFlag;
      +
      156 }
      +
      157 
      +
      158 void SD24_B_setInterruptDelay(uint16_t baseAddress,
      +
      159  uint8_t converter,
      +
      160  uint8_t sampleDelay)
      +
      161 {
      +
      162  uint16_t address = baseAddress + (OFS_SD24BINCTL0 + (converter * 0x08));
      +
      163 
      +
      164  // Clear previous settings
      +
      165  HWREG16(address) &= ~(SD24INTDLY_3);
      +
      166 
      +
      167  HWREG16(address) |= sampleDelay;
      +
      168 }
      +
      169 
      +
      170 void SD24_B_setConversionDelay(uint16_t baseAddress,
      +
      171  uint8_t converter,
      +
      172  uint16_t cycleDelay)
      +
      173 {
      +
      174  uint16_t address = baseAddress + (OFS_SD24BPRE0 + (converter * 0x08));
      +
      175 
      +
      176  // Clear previous settings
      +
      177  HWREG16(address) &= ~(0x3FF);
      +
      178 
      +
      179  HWREG16(address) |= cycleDelay;
      +
      180 }
      +
      181 
      +
      182 void SD24_B_setOversampling(uint16_t baseAddress,
      +
      183  uint8_t converter,
      +
      184  uint16_t oversampleRatio)
      +
      185 {
      +
      186  uint16_t address = baseAddress + (OFS_SD24BOSR0 + (converter * 0x08));
      +
      187 
      +
      188  // Clear previous settings
      +
      189  HWREG16(address) &= ~(OSR10 | OSR9 | OSR8 | OSR7 | OSR6 | OSR5 | OSR4 |
      +
      190  OSR3 | OSR2 | OSR1 | OSR0);
      +
      191 
      +
      192  HWREG16(address) |= oversampleRatio;
      +
      193 }
      +
      194 
      +
      195 void SD24_B_setGain(uint16_t baseAddress,
      +
      196  uint8_t converter,
      +
      197  uint8_t gain)
      +
      198 {
      +
      199  uint16_t address = baseAddress + (OFS_SD24BINCTL0 + (converter * 0x08));
      +
      200 
      +
      201  // Clear previous settings
      +
      202  HWREG16(address) &= ~(SD24GAIN_128);
      +
      203 
      +
      204  HWREG16(address) |= gain;
      +
      205 }
      +
      206 
      +
      207 uint32_t SD24_B_getResults(uint16_t baseAddress,
      +
      208  uint8_t converter)
      +
      209 {
      +
      210  // Calculating address to low word
      +
      211  uint16_t address = baseAddress + (OFS_SD24BMEML0 + (converter * 0x04));
      +
      212 
      +
      213  // Getting low word result
      +
      214  uint16_t lowResult = HWREG16(address);
      +
      215 
      +
      216  // Getting high word result and concatenate with low word
      +
      217  uint32_t result = (((uint32_t) HWREG16(address + 0x02) ) << 16) + lowResult;
      +
      218 
      +
      219  return result;
      +
      220 }
      +
      221 
      +
      222 uint16_t SD24_B_getHighWordResults(uint16_t baseAddress,
      +
      223  uint8_t converter)
      +
      224 {
      +
      225  // Calculating address
      +
      226  uint16_t address = baseAddress + (OFS_SD24BMEMH0 + (converter * 0x04));
      +
      227 
      +
      228  // Getting high word result
      +
      229  uint16_t result = HWREG16(address);
      +
      230 
      +
      231  return result;
      +
      232 }
      +
      233 
      +
      234 void SD24_B_enableInterrupt (uint16_t baseAddress,
      +
      235  uint8_t converter,
      +
      236  uint16_t mask)
      +
      237 {
      +
      238  //Enable Interrupt
      +
      239  HWREG16(baseAddress + OFS_SD24BIE) |= (mask << converter);
      +
      240 }
      +
      241 
      +
      242 void SD24_B_disableInterrupt (uint16_t baseAddress,
      +
      243  uint8_t converter,
      +
      244  uint16_t mask)
      +
      245 {
      +
      246  HWREG16(baseAddress + OFS_SD24BIE) &= ~(mask << converter);
      +
      247 }
      +
      248 
      +
      249 void SD24_B_clearInterrupt (uint16_t baseAddress,
      +
      250  uint8_t converter,
      +
      251  uint16_t mask)
      +
      252 {
      +
      253  HWREG16(baseAddress + OFS_SD24BIFG) &= ~(mask << converter);
      +
      254 }
      +
      255 
      +
      256 uint16_t SD24_B_getInterruptStatus (uint16_t baseAddress,
      +
      257  uint8_t converter,
      +
      258  uint16_t mask)
      +
      259 {
      +
      260  return ( HWREG16(baseAddress + OFS_SD24BIFG) & (mask << converter) );
      +
      261 }
      +
      262 
      +
      263 
      +
      264 #endif
      +
      265 //*****************************************************************************
      +
      266 //
      +
      269 //
      +
      270 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/sd24__b_8h.html b/Documentation/html/sd24__b_8h.html new file mode 100644 index 0000000..94e595c --- /dev/null +++ b/Documentation/html/sd24__b_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sd24_b.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sd24_b.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/sd24__b_8h_source.html b/Documentation/html/sd24__b_8h_source.html new file mode 100644 index 0000000..93105d0 --- /dev/null +++ b/Documentation/html/sd24__b_8h_source.html @@ -0,0 +1,552 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sd24_b.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sd24_b.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // sd24_b.h - Driver for the SD24_B Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_SD24_B_H__
      +
      8 #define __MSP430WARE_SD24_B_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_SD24_B__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 typedef struct SD24_B_initParam {
      +
      38  uint16_t clockSourceSelect;
      +
      49  uint16_t clockPreDivider;
      +
      84  uint16_t clockDivider;
      +
      89  uint16_t referenceSelect;
      +
      90 } SD24_B_initParam;
      +
      91 
      +
      92 //*****************************************************************************
      +
      93 //
      +
      95 //
      +
      96 //*****************************************************************************
      +
      97 typedef struct SD24_B_initConverterParam {
      +
      109  uint8_t converter;
      +
      114  uint8_t alignment;
      +
      125  uint8_t startSelect;
      +
      131  uint8_t conversionMode;
      +
      132 } SD24_B_initConverterParam;
      +
      133 
      +
      134 //*****************************************************************************
      +
      135 //
      +
      138 //
      +
      139 //*****************************************************************************
      +
      140 typedef struct SD24_B_initConverterAdvancedParam {
      +
      152  uint8_t converter;
      +
      157  uint8_t alignment;
      +
      168  uint8_t startSelect;
      +
      174  uint8_t conversionMode;
      +
      179  uint8_t dataFormat;
      +
      186  uint8_t sampleDelay;
      +
      195  uint16_t oversampleRatio;
      +
      206  uint8_t gain;
      +
      207 } SD24_B_initConverterAdvancedParam;
      +
      208 
      +
      209 
      +
      210 //*****************************************************************************
      +
      211 //
      +
      212 // The following are values that can be passed to the clockSourceSelect
      +
      213 // parameter for functions: SD24_B_init(); the param parameter for functions:
      +
      214 // SD24_B_init().
      +
      215 //
      +
      216 //*****************************************************************************
      +
      217 #define SD24_B_CLOCKSOURCE_MCLK (SD24SSEL__MCLK)
      +
      218 #define SD24_B_CLOCKSOURCE_SMCLK (SD24SSEL__SMCLK)
      +
      219 #define SD24_B_CLOCKSOURCE_ACLK (SD24SSEL__ACLK)
      +
      220 #define SD24_B_CLOCKSOURCE_SD24CLK (SD24SSEL__SD24CLK)
      +
      221 
      +
      222 //*****************************************************************************
      +
      223 //
      +
      224 // The following are values that can be passed to the referenceSelect parameter
      +
      225 // for functions: SD24_B_init(); the param parameter for functions:
      +
      226 // SD24_B_init().
      +
      227 //
      +
      228 //*****************************************************************************
      +
      229 #define SD24_B_REF_EXTERNAL (0x00)
      +
      230 #define SD24_B_REF_INTERNAL (SD24REFS)
      +
      231 
      +
      232 //*****************************************************************************
      +
      233 //
      +
      234 // The following are values that can be passed to the clockPreDivider parameter
      +
      235 // for functions: SD24_B_init(); the param parameter for functions:
      +
      236 // SD24_B_init().
      +
      237 //
      +
      238 //*****************************************************************************
      +
      239 #define SD24_B_PRECLOCKDIVIDER_1 (SD24PDIV_0)
      +
      240 #define SD24_B_PRECLOCKDIVIDER_2 (SD24PDIV_1)
      +
      241 #define SD24_B_PRECLOCKDIVIDER_4 (SD24PDIV_2)
      +
      242 #define SD24_B_PRECLOCKDIVIDER_8 (SD24PDIV_3)
      +
      243 #define SD24_B_PRECLOCKDIVIDER_16 (SD24PDIV_4)
      +
      244 #define SD24_B_PRECLOCKDIVIDER_32 (SD24PDIV_5)
      +
      245 #define SD24_B_PRECLOCKDIVIDER_64 (SD24PDIV_6)
      +
      246 #define SD24_B_PRECLOCKDIVIDER_128 (SD24PDIV_7)
      +
      247 
      +
      248 //*****************************************************************************
      +
      249 //
      +
      250 // The following are values that can be passed to the clockDivider parameter
      +
      251 // for functions: SD24_B_init(); the param parameter for functions:
      +
      252 // SD24_B_init().
      +
      253 //
      +
      254 //*****************************************************************************
      +
      255 #define SD24_B_CLOCKDIVIDER_1 (0x00)
      +
      256 #define SD24_B_CLOCKDIVIDER_2 (SD24DIV0)
      +
      257 #define SD24_B_CLOCKDIVIDER_3 (SD24DIV1)
      +
      258 #define SD24_B_CLOCKDIVIDER_4 (SD24DIV1 | SD24DIV0)
      +
      259 #define SD24_B_CLOCKDIVIDER_5 (SD24DIV2)
      +
      260 #define SD24_B_CLOCKDIVIDER_6 (SD24DIV2 | SD24DIV0)
      +
      261 #define SD24_B_CLOCKDIVIDER_7 (SD24DIV2 | SD24DIV1)
      +
      262 #define SD24_B_CLOCKDIVIDER_8 (SD24DIV2 | SD24DIV1 | SD24DIV0)
      +
      263 #define SD24_B_CLOCKDIVIDER_9 (SD24DIV3)
      +
      264 #define SD24_B_CLOCKDIVIDER_10 (SD24DIV3 | SD24DIV0)
      +
      265 #define SD24_B_CLOCKDIVIDER_11 (SD24DIV3 | SD24DIV1)
      +
      266 #define SD24_B_CLOCKDIVIDER_12 (SD24DIV3 | SD24DIV1 | SD24DIV0)
      +
      267 #define SD24_B_CLOCKDIVIDER_13 (SD24DIV3 | SD24DIV2)
      +
      268 #define SD24_B_CLOCKDIVIDER_14 (SD24DIV3 | SD24DIV2 | SD24DIV0)
      +
      269 #define SD24_B_CLOCKDIVIDER_15 (SD24DIV3 | SD24DIV2 | SD24DIV1)
      +
      270 #define SD24_B_CLOCKDIVIDER_16 (SD24DIV3 | SD24DIV2 | SD24DIV1 | SD24DIV0)
      +
      271 #define SD24_B_CLOCKDIVIDER_17 (SD24DIV4)
      +
      272 #define SD24_B_CLOCKDIVIDER_18 (SD24DIV4 | SD24DIV0)
      +
      273 #define SD24_B_CLOCKDIVIDER_19 (SD24DIV4 | SD24DIV1)
      +
      274 #define SD24_B_CLOCKDIVIDER_20 (SD24DIV4 | SD24DIV1 | SD24DIV0)
      +
      275 #define SD24_B_CLOCKDIVIDER_21 (SD24DIV4 | SD24DIV2)
      +
      276 #define SD24_B_CLOCKDIVIDER_22 (SD24DIV4 | SD24DIV2 | SD24DIV0)
      +
      277 #define SD24_B_CLOCKDIVIDER_23 (SD24DIV4 | SD24DIV2 | SD24DIV1)
      +
      278 #define SD24_B_CLOCKDIVIDER_24 (SD24DIV4 | SD24DIV2 | SD24DIV1 | SD24DIV0)
      +
      279 #define SD24_B_CLOCKDIVIDER_25 (SD24DIV4 | SD24DIV3)
      +
      280 #define SD24_B_CLOCKDIVIDER_26 (SD24DIV4 | SD24DIV3 | SD24DIV0)
      +
      281 #define SD24_B_CLOCKDIVIDER_27 (SD24DIV4 | SD24DIV3 | SD24DIV1)
      +
      282 #define SD24_B_CLOCKDIVIDER_28 (SD24DIV4 | SD24DIV3 | SD24DIV1 | SD24DIV0)
      +
      283 #define SD24_B_CLOCKDIVIDER_29 (SD24DIV4 | SD24DIV3 | SD24DIV2)
      +
      284 #define SD24_B_CLOCKDIVIDER_30 (SD24DIV4 | SD24DIV3 | SD24DIV2 | SD24DIV0)
      +
      285 #define SD24_B_CLOCKDIVIDER_31 (SD24DIV4 | SD24DIV3 | SD24DIV2 | SD24DIV1)
      +
      286 #define SD24_B_CLOCKDIVIDER_32 \
      +
      287  (SD24DIV4 | SD24DIV3 | SD24DIV2 | SD24DIV1 | SD24DIV0)
      +
      288 
      +
      289 //*****************************************************************************
      +
      290 //
      +
      291 // The following are values that can be passed to the param parameter for
      +
      292 // functions: SD24_B_initConverter(), and SD24_B_initConverterAdvanced().
      +
      293 //
      +
      294 //*****************************************************************************
      +
      295 #define SD24_B_CONTINUOUS_MODE (0x00)
      +
      296 #define SD24_B_SINGLE_MODE (SD24SNGL_H)
      +
      297 
      +
      298 //*****************************************************************************
      +
      299 //
      +
      300 // The following are values that can be passed to the converter parameter for
      +
      301 // functions: SD24_B_setConverterDataFormat(),
      +
      302 // SD24_B_startConverterConversion(), SD24_B_stopConverterConversion(),
      +
      303 // SD24_B_setInterruptDelay(), SD24_B_setConversionDelay(),
      +
      304 // SD24_B_setOversampling(), SD24_B_setGain(), SD24_B_getResults(),
      +
      305 // SD24_B_getHighWordResults(), SD24_B_enableInterrupt(),
      +
      306 // SD24_B_disableInterrupt(), SD24_B_clearInterrupt(), and
      +
      307 // SD24_B_getInterruptStatus(); the param parameter for functions:
      +
      308 // SD24_B_initConverter(), and SD24_B_initConverterAdvanced().
      +
      309 //
      +
      310 //*****************************************************************************
      +
      311 #define SD24_B_CONVERTER_0 0
      +
      312 #define SD24_B_CONVERTER_1 1
      +
      313 #define SD24_B_CONVERTER_2 2
      +
      314 #define SD24_B_CONVERTER_3 3
      +
      315 #define SD24_B_CONVERTER_4 4
      +
      316 #define SD24_B_CONVERTER_5 5
      +
      317 #define SD24_B_CONVERTER_6 6
      +
      318 #define SD24_B_CONVERTER_7 7
      +
      319 
      +
      320 //*****************************************************************************
      +
      321 //
      +
      322 // The following are values that can be passed to the param parameter for
      +
      323 // functions: SD24_B_initConverter(), and SD24_B_initConverterAdvanced().
      +
      324 //
      +
      325 //*****************************************************************************
      +
      326 #define SD24_B_ALIGN_RIGHT (0x00)
      +
      327 #define SD24_B_ALIGN_LEFT (SD24ALGN)
      +
      328 
      +
      329 //*****************************************************************************
      +
      330 //
      +
      331 // The following are values that can be passed to the param parameter for
      +
      332 // functions: SD24_B_initConverter(), and SD24_B_initConverterAdvanced().
      +
      333 //
      +
      334 //*****************************************************************************
      +
      335 #define SD24_B_CONVERSION_SELECT_SD24SC (SD24SCS__SD24SC)
      +
      336 #define SD24_B_CONVERSION_SELECT_EXT1 (SD24SCS__EXT1)
      +
      337 #define SD24_B_CONVERSION_SELECT_EXT2 (SD24SCS__EXT2)
      +
      338 #define SD24_B_CONVERSION_SELECT_EXT3 (SD24SCS__EXT3)
      +
      339 #define SD24_B_CONVERSION_SELECT_GROUP0 (SD24SCS__GROUP0)
      +
      340 #define SD24_B_CONVERSION_SELECT_GROUP1 (SD24SCS__GROUP1)
      +
      341 #define SD24_B_CONVERSION_SELECT_GROUP2 (SD24SCS__GROUP2)
      +
      342 #define SD24_B_CONVERSION_SELECT_GROUP3 (SD24SCS__GROUP3)
      +
      343 
      +
      344 //*****************************************************************************
      +
      345 //
      +
      346 // The following are values that can be passed to the oversampleRatio parameter
      +
      347 // for functions: SD24_B_setOversampling(); the param parameter for functions:
      +
      348 // SD24_B_initConverterAdvanced().
      +
      349 //
      +
      350 //*****************************************************************************
      +
      351 #define SD24_B_OVERSAMPLE_32 (OSR__32)
      +
      352 #define SD24_B_OVERSAMPLE_64 (OSR__64)
      +
      353 #define SD24_B_OVERSAMPLE_128 (OSR__128)
      +
      354 #define SD24_B_OVERSAMPLE_256 (OSR__256)
      +
      355 #define SD24_B_OVERSAMPLE_512 (OSR__512)
      +
      356 #define SD24_B_OVERSAMPLE_1024 (OSR__1024)
      +
      357 
      +
      358 //*****************************************************************************
      +
      359 //
      +
      360 // The following are values that can be passed to the dataFormat parameter for
      +
      361 // functions: SD24_B_setConverterDataFormat(); the param parameter for
      +
      362 // functions: SD24_B_initConverterAdvanced().
      +
      363 //
      +
      364 //*****************************************************************************
      +
      365 #define SD24_B_DATA_FORMAT_BINARY (SD24DF_0)
      +
      366 #define SD24_B_DATA_FORMAT_2COMPLEMENT (SD24DF_1)
      +
      367 
      +
      368 //*****************************************************************************
      +
      369 //
      +
      370 // The following are values that can be passed to the gain parameter for
      +
      371 // functions: SD24_B_setGain(); the param parameter for functions:
      +
      372 // SD24_B_initConverterAdvanced().
      +
      373 //
      +
      374 //*****************************************************************************
      +
      375 #define SD24_B_GAIN_1 (SD24GAIN_1)
      +
      376 #define SD24_B_GAIN_2 (SD24GAIN_2)
      +
      377 #define SD24_B_GAIN_4 (SD24GAIN_4)
      +
      378 #define SD24_B_GAIN_8 (SD24GAIN_8)
      +
      379 #define SD24_B_GAIN_16 (SD24GAIN_16)
      +
      380 #define SD24_B_GAIN_32 (SD24GAIN_32)
      +
      381 #define SD24_B_GAIN_64 (SD24GAIN_64)
      +
      382 #define SD24_B_GAIN_128 (SD24GAIN_128)
      +
      383 
      +
      384 //*****************************************************************************
      +
      385 //
      +
      386 // The following are values that can be passed to the sampleDelay parameter for
      +
      387 // functions: SD24_B_setInterruptDelay(); the param parameter for functions:
      +
      388 // SD24_B_initConverterAdvanced().
      +
      389 //
      +
      390 //*****************************************************************************
      +
      391 #define SD24_B_FOURTH_SAMPLE_INTERRUPT (SD24INTDLY_0)
      +
      392 #define SD24_B_THIRD_SAMPLE_INTERRUPT (SD24INTDLY_1)
      +
      393 #define SD24_B_SECOND_SAMPLE_INTERRUPT (SD24INTDLY_2)
      +
      394 #define SD24_B_FIRST_SAMPLE_INTERRUPT (SD24INTDLY_3)
      +
      395 
      +
      396 //*****************************************************************************
      +
      397 //
      +
      398 // The following are values that can be passed to the group parameter for
      +
      399 // functions: SD24_B_startGroupConversion(), and SD24_B_stopGroupConversion().
      +
      400 //
      +
      401 //*****************************************************************************
      +
      402 #define SD24_B_GROUP0 0
      +
      403 #define SD24_B_GROUP1 1
      +
      404 #define SD24_B_GROUP2 2
      +
      405 #define SD24_B_GROUP3 3
      +
      406 
      +
      407 //*****************************************************************************
      +
      408 //
      +
      409 // The following are values that can be passed to the interruptFlag parameter
      +
      410 // for functions: SD24_B_configureDMATrigger().
      +
      411 //
      +
      412 //*****************************************************************************
      +
      413 #define SD24_B_DMA_TRIGGER_IFG0 (SD24DMA_0)
      +
      414 #define SD24_B_DMA_TRIGGER_IFG1 (SD24DMA_1)
      +
      415 #define SD24_B_DMA_TRIGGER_IFG2 (SD24DMA_2)
      +
      416 #define SD24_B_DMA_TRIGGER_IFG3 (SD24DMA_3)
      +
      417 #define SD24_B_DMA_TRIGGER_IFG4 (SD24DMA_4)
      +
      418 #define SD24_B_DMA_TRIGGER_IFG5 (SD24DMA_5)
      +
      419 #define SD24_B_DMA_TRIGGER_IFG6 (SD24DMA_6)
      +
      420 #define SD24_B_DMA_TRIGGER_IFG7 (SD24DMA_7)
      +
      421 #define SD24_B_DMA_TRIGGER_TRGIFG (SD24DMA_8)
      +
      422 
      +
      423 //*****************************************************************************
      +
      424 //
      +
      425 // The following are values that can be passed to the mask parameter for
      +
      426 // functions: SD24_B_enableInterrupt(), SD24_B_disableInterrupt(),
      +
      427 // SD24_B_clearInterrupt(), and SD24_B_getInterruptStatus() as well as returned
      +
      428 // by the SD24_B_getInterruptStatus() function.
      +
      429 //
      +
      430 //*****************************************************************************
      +
      431 #define SD24_B_CONVERTER_INTERRUPT SD24IE0
      +
      432 #define SD24_B_CONVERTER_OVERFLOW_INTERRUPT SD24OVIE0
      +
      433 
      +
      434 //*****************************************************************************
      +
      435 //
      +
      436 // Prototypes for the APIs.
      +
      437 //
      +
      438 //*****************************************************************************
      +
      439 
      +
      440 //*****************************************************************************
      +
      441 //
      +
      457 //
      +
      458 //*****************************************************************************
      +
      459 extern void SD24_B_init(uint16_t baseAddress,
      +
      460  SD24_B_initParam *param);
      +
      461 
      +
      462 //*****************************************************************************
      +
      463 //
      +
      476 //
      +
      477 //*****************************************************************************
      +
      478 extern void SD24_B_initConverter(uint16_t baseAddress,
      +
      479  SD24_B_initConverterParam *param);
      +
      480 
      +
      481 //*****************************************************************************
      +
      482 //
      +
      494 //
      +
      495 //*****************************************************************************
      +
      496 extern void SD24_B_initConverterAdvanced(uint16_t baseAddress,
      +
      497  SD24_B_initConverterAdvancedParam *param);
      +
      498 
      +
      499 //*****************************************************************************
      +
      500 //
      +
      525 //
      +
      526 //*****************************************************************************
      +
      527 extern void SD24_B_setConverterDataFormat(uint16_t baseAddress,
      +
      528  uint8_t converter,
      +
      529  uint8_t dataFormat);
      +
      530 
      +
      531 //*****************************************************************************
      +
      532 //
      +
      548 //
      +
      549 //*****************************************************************************
      +
      550 extern void SD24_B_startGroupConversion(uint16_t baseAddress,
      +
      551  uint8_t group);
      +
      552 
      +
      553 //*****************************************************************************
      +
      554 //
      +
      570 //
      +
      571 //*****************************************************************************
      +
      572 extern void SD24_B_stopGroupConversion(uint16_t baseAddress,
      +
      573  uint8_t group);
      +
      574 
      +
      575 //*****************************************************************************
      +
      576 //
      +
      595 //
      +
      596 //*****************************************************************************
      +
      597 extern void SD24_B_startConverterConversion(uint16_t baseAddress,
      +
      598  uint8_t converter);
      +
      599 
      +
      600 //*****************************************************************************
      +
      601 //
      +
      620 //
      +
      621 //*****************************************************************************
      +
      622 extern void SD24_B_stopConverterConversion(uint16_t baseAddress,
      +
      623  uint8_t converter);
      +
      624 
      +
      625 //*****************************************************************************
      +
      626 //
      +
      647 //
      +
      648 //*****************************************************************************
      +
      649 extern void SD24_B_configureDMATrigger(uint16_t baseAddress,
      +
      650  uint16_t interruptFlag);
      +
      651 
      +
      652 //*****************************************************************************
      +
      653 //
      +
      681 //
      +
      682 //*****************************************************************************
      +
      683 extern void SD24_B_setInterruptDelay(uint16_t baseAddress,
      +
      684  uint8_t converter,
      +
      685  uint8_t sampleDelay);
      +
      686 
      +
      687 //*****************************************************************************
      +
      688 //
      +
      712 //
      +
      713 //*****************************************************************************
      +
      714 extern void SD24_B_setConversionDelay(uint16_t baseAddress,
      +
      715  uint8_t converter,
      +
      716  uint16_t cycleDelay);
      +
      717 
      +
      718 //*****************************************************************************
      +
      719 //
      +
      746 //
      +
      747 //*****************************************************************************
      +
      748 extern void SD24_B_setOversampling(uint16_t baseAddress,
      +
      749  uint8_t converter,
      +
      750  uint16_t oversampleRatio);
      +
      751 
      +
      752 //*****************************************************************************
      +
      753 //
      +
      782 //
      +
      783 //*****************************************************************************
      +
      784 extern void SD24_B_setGain(uint16_t baseAddress,
      +
      785  uint8_t converter,
      +
      786  uint8_t gain);
      +
      787 
      +
      788 //*****************************************************************************
      +
      789 //
      +
      809 //
      +
      810 //*****************************************************************************
      +
      811 extern uint32_t SD24_B_getResults(uint16_t baseAddress,
      +
      812  uint8_t converter);
      +
      813 
      +
      814 //*****************************************************************************
      +
      815 //
      +
      833 //
      +
      834 //*****************************************************************************
      +
      835 extern uint16_t SD24_B_getHighWordResults(uint16_t baseAddress,
      +
      836  uint8_t converter);
      +
      837 
      +
      838 //*****************************************************************************
      +
      839 //
      +
      864 //
      +
      865 //*****************************************************************************
      +
      866 extern void SD24_B_enableInterrupt(uint16_t baseAddress,
      +
      867  uint8_t converter,
      +
      868  uint16_t mask);
      +
      869 
      +
      870 //*****************************************************************************
      +
      871 //
      +
      897 //
      +
      898 //*****************************************************************************
      +
      899 extern void SD24_B_disableInterrupt(uint16_t baseAddress,
      +
      900  uint8_t converter,
      +
      901  uint16_t mask);
      +
      902 
      +
      903 //*****************************************************************************
      +
      904 //
      +
      927 //
      +
      928 //*****************************************************************************
      +
      929 extern void SD24_B_clearInterrupt(uint16_t baseAddress,
      +
      930  uint8_t converter,
      +
      931  uint16_t mask);
      +
      932 
      +
      933 //*****************************************************************************
      +
      934 //
      +
      959 //
      +
      960 //*****************************************************************************
      +
      961 extern uint16_t SD24_B_getInterruptStatus(uint16_t baseAddress,
      +
      962  uint8_t converter,
      +
      963  uint16_t mask);
      +
      964 
      +
      965 //*****************************************************************************
      +
      966 //
      +
      967 // Mark the end of the C bindings section for C++ compilers.
      +
      968 //
      +
      969 //*****************************************************************************
      +
      970 #ifdef __cplusplus
      +
      971 }
      +
      972 #endif
      +
      973 
      +
      974 #endif
      +
      975 #endif // __MSP430WARE_SD24_B_H__
      + +
      +
      + + + + diff --git a/Documentation/html/search/all_1.js b/Documentation/html/search/all_1.js index 18ccdf1..1a43840 100644 --- a/Documentation/html/search/all_1.js +++ b/Documentation/html/search/all_1.js @@ -1,9 +1,4 @@ var searchData= [ - ['design_20choices_2',['Design Choices',['../design_choices.html',1,'hardware']]], - ['design_20choices_2emarkdown_3',['Design Choices.markdown',['../_design_01_choices_8markdown.html',1,'']]], - ['device_20specifications_4',['Device Specifications',['../device_specifications.html',1,'hardware']]], - ['device_20specifications_2emarkdown_5',['Device Specifications.markdown',['../_device_01_specifications_8markdown.html',1,'']]], - ['documentation_20guide_6',['Documentation Guide',['../documentation_guide.html',1,'']]], - ['documentation_20guide_2emarkdown_7',['Documentation Guide.markdown',['../_documentation_01_guide_8markdown.html',1,'']]] + ['_5f_5fdriverlib_5fmsp430f5xx_5f6xx_5ffamily_5f_5f_2',['__DRIVERLIB_MSP430F5XX_6XX_FAMILY__',['../hw__memmap_8h.html#a97af2b5e31182f676ac18b271c0edebf',1,'hw_memmap.h']]] ]; diff --git a/Documentation/html/search/all_10.html b/Documentation/html/search/all_10.html new file mode 100644 index 0000000..3bf1196 --- /dev/null +++ b/Documentation/html/search/all_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_10.js b/Documentation/html/search/all_10.js new file mode 100644 index 0000000..d5bd450 --- /dev/null +++ b/Documentation/html/search/all_10.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['sd24_5fb_108',['sd24_b',['../group__sd24__b__api.html',1,'']]], + ['sd24_5fb_2ec_109',['sd24_b.c',['../sd24__b_8c.html',1,'']]], + ['sd24_5fb_2eh_110',['sd24_b.h',['../sd24__b_8h.html',1,'']]], + ['sfr_111',['sfr',['../group__sfr__api.html',1,'']]], + ['sfr_2ec_112',['sfr.c',['../sfr_8c.html',1,'']]], + ['sfr_2eh_113',['sfr.h',['../sfr_8h.html',1,'']]], + ['software_114',['Software',['../software.html',1,'']]], + ['status_5ffail_115',['STATUS_FAIL',['../hw__memmap_8h.html#a9024ed05f7df784637ef7b44ca8caf97',1,'hw_memmap.h']]], + ['status_5fsuccess_116',['STATUS_SUCCESS',['../hw__memmap_8h.html#ae56fdb340b23940f7a64ed2e37c1774a',1,'hw_memmap.h']]], + ['sysctl_117',['sysctl',['../group__sysctl__api.html',1,'']]], + ['sysctl_2ec_118',['sysctl.c',['../sysctl_8c.html',1,'']]], + ['sysctl_2eh_119',['sysctl.h',['../sysctl_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/all_11.html b/Documentation/html/search/all_11.html new file mode 100644 index 0000000..c9f79d2 --- /dev/null +++ b/Documentation/html/search/all_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_11.js b/Documentation/html/search/all_11.js new file mode 100644 index 0000000..b55509a --- /dev/null +++ b/Documentation/html/search/all_11.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['tec_120',['tec',['../group__tec__api.html',1,'']]], + ['tec_2ec_121',['tec.c',['../tec_8c.html',1,'']]], + ['tec_2eh_122',['tec.h',['../tec_8h.html',1,'']]], + ['timer_5fa_123',['timer_a',['../group__timer__a__api.html',1,'']]], + ['timer_5fa_2ec_124',['timer_a.c',['../timer__a_8c.html',1,'']]], + ['timer_5fa_2eh_125',['timer_a.h',['../timer__a_8h.html',1,'']]], + ['timer_5fb_126',['timer_b',['../group__timer__b__api.html',1,'']]], + ['timer_5fb_2ec_127',['timer_b.c',['../timer__b_8c.html',1,'']]], + ['timer_5fb_2eh_128',['timer_b.h',['../timer__b_8h.html',1,'']]], + ['timer_5fd_129',['timer_d',['../group__timer__d__api.html',1,'']]], + ['timer_5fd_2ec_130',['timer_d.c',['../timer__d_8c.html',1,'']]], + ['timer_5fd_2eh_131',['timer_d.h',['../timer__d_8h.html',1,'']]], + ['tlv_132',['tlv',['../group__tlv__api.html',1,'']]], + ['tlv_2ec_133',['tlv.c',['../tlv_8c.html',1,'']]], + ['tlv_2eh_134',['tlv.h',['../tlv_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/all_12.html b/Documentation/html/search/all_12.html new file mode 100644 index 0000000..ab93472 --- /dev/null +++ b/Documentation/html/search/all_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_12.js b/Documentation/html/search/all_12.js new file mode 100644 index 0000000..02e8f95 --- /dev/null +++ b/Documentation/html/search/all_12.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['ucs_135',['ucs',['../group__ucs__api.html',1,'']]], + ['ucs_2ec_136',['ucs.c',['../ucs_8c.html',1,'']]], + ['ucs_2eh_137',['ucs.h',['../ucs_8h.html',1,'']]], + ['usci_5fa_5fspi_138',['usci_a_spi',['../group__usci__a__spi__api.html',1,'']]], + ['usci_5fa_5fspi_2ec_139',['usci_a_spi.c',['../usci__a__spi_8c.html',1,'']]], + ['usci_5fa_5fspi_2eh_140',['usci_a_spi.h',['../usci__a__spi_8h.html',1,'']]], + ['usci_5fa_5fuart_141',['usci_a_uart',['../group__usci__a__uart__api.html',1,'']]], + ['usci_5fa_5fuart_2ec_142',['usci_a_uart.c',['../usci__a__uart_8c.html',1,'']]], + ['usci_5fa_5fuart_2eh_143',['usci_a_uart.h',['../usci__a__uart_8h.html',1,'']]], + ['usci_5fb_5fi2c_144',['usci_b_i2c',['../group__usci__b__i2c__api.html',1,'']]], + ['usci_5fb_5fi2c_2ec_145',['usci_b_i2c.c',['../usci__b__i2c_8c.html',1,'']]], + ['usci_5fb_5fi2c_2eh_146',['usci_b_i2c.h',['../usci__b__i2c_8h.html',1,'']]], + ['usci_5fb_5fspi_147',['usci_b_spi',['../group__usci__b__spi__api.html',1,'']]], + ['usci_5fb_5fspi_2ec_148',['usci_b_spi.c',['../usci__b__spi_8c.html',1,'']]], + ['usci_5fb_5fspi_2eh_149',['usci_b_spi.h',['../usci__b__spi_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/all_13.html b/Documentation/html/search/all_13.html new file mode 100644 index 0000000..51172c2 --- /dev/null +++ b/Documentation/html/search/all_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_13.js b/Documentation/html/search/all_13.js new file mode 100644 index 0000000..a7eccc4 --- /dev/null +++ b/Documentation/html/search/all_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['version_2eh_150',['version.h',['../version_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/all_14.html b/Documentation/html/search/all_14.html new file mode 100644 index 0000000..afecf56 --- /dev/null +++ b/Documentation/html/search/all_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_14.js b/Documentation/html/search/all_14.js new file mode 100644 index 0000000..00e7276 --- /dev/null +++ b/Documentation/html/search/all_14.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['wdt_5fa_151',['wdt_a',['../group__wdt__a__api.html',1,'']]], + ['wdt_5fa_2ec_152',['wdt_a.c',['../wdt__a_8c.html',1,'']]], + ['wdt_5fa_2eh_153',['wdt_a.h',['../wdt__a_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/all_15.html b/Documentation/html/search/all_15.html new file mode 100644 index 0000000..69f382b --- /dev/null +++ b/Documentation/html/search/all_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_15.js b/Documentation/html/search/all_15.js new file mode 100644 index 0000000..fbed47b --- /dev/null +++ b/Documentation/html/search/all_15.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['yacctab_154',['yacctab',['../namespaceyacctab.html',1,'']]], + ['yacctab_2epy_155',['yacctab.py',['../yacctab_8py.html',1,'']]] +]; diff --git a/Documentation/html/search/all_2.js b/Documentation/html/search/all_2.js index b3eacbc..53300ac 100644 --- a/Documentation/html/search/all_2.js +++ b/Documentation/html/search/all_2.js @@ -1,5 +1,12 @@ var searchData= [ - ['hardware_8',['Hardware',['../hardware.html',1,'']]], - ['home_9',['Home',['../index.html',1,'']]] + ['adc10_5fa_3',['adc10_a',['../group__adc10__a__api.html',1,'']]], + ['adc10_5fa_2ec_4',['adc10_a.c',['../adc10__a_8c.html',1,'']]], + ['adc10_5fa_2eh_5',['adc10_a.h',['../adc10__a_8h.html',1,'']]], + ['adc12_5fa_6',['adc12_a',['../group__adc12__a__api.html',1,'']]], + ['adc12_5fa_2ec_7',['adc12_a.c',['../adc12__a_8c.html',1,'']]], + ['adc12_5fa_2eh_8',['adc12_a.h',['../adc12__a_8h.html',1,'']]], + ['aes_9',['aes',['../group__aes__api.html',1,'']]], + ['aes_2ec_10',['aes.c',['../aes_8c.html',1,'']]], + ['aes_2eh_11',['aes.h',['../aes_8h.html',1,'']]] ]; diff --git a/Documentation/html/search/all_3.js b/Documentation/html/search/all_3.js index f95dcb0..9781611 100644 --- a/Documentation/html/search/all_3.js +++ b/Documentation/html/search/all_3.js @@ -1,5 +1,6 @@ var searchData= [ - ['main_10',['main',['../main_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main.c']]], - ['main_2ec_11',['main.c',['../main_8c.html',1,'']]] + ['battbak_12',['battbak',['../group__battbak__api.html',1,'']]], + ['battbak_2ec_13',['battbak.c',['../battbak_8c.html',1,'']]], + ['battbak_2eh_14',['battbak.h',['../battbak_8h.html',1,'']]] ]; diff --git a/Documentation/html/search/all_4.js b/Documentation/html/search/all_4.js index 39f1890..4d8213f 100644 --- a/Documentation/html/search/all_4.js +++ b/Documentation/html/search/all_4.js @@ -1,4 +1,12 @@ var searchData= [ - ['readme_2emarkdown_12',['README.markdown',['../_r_e_a_d_m_e_8markdown.html',1,'']]] + ['comp_5fb_15',['comp_b',['../group__comp__b__api.html',1,'']]], + ['comp_5fb_2ec_16',['comp_b.c',['../comp__b_8c.html',1,'']]], + ['comp_5fb_2eh_17',['comp_b.h',['../comp__b_8h.html',1,'']]], + ['crc_18',['crc',['../group__crc__api.html',1,'']]], + ['crc_2ec_19',['crc.c',['../crc_8c.html',1,'']]], + ['crc_2eh_20',['crc.h',['../crc_8h.html',1,'']]], + ['ctsd16_21',['ctsd16',['../group__ctsd16__api.html',1,'']]], + ['ctsd16_2ec_22',['ctsd16.c',['../ctsd16_8c.html',1,'']]], + ['ctsd16_2eh_23',['ctsd16.h',['../ctsd16_8h.html',1,'']]] ]; diff --git a/Documentation/html/search/all_5.js b/Documentation/html/search/all_5.js index f6a795a..d5b83c3 100644 --- a/Documentation/html/search/all_5.js +++ b/Documentation/html/search/all_5.js @@ -1,4 +1,20 @@ var searchData= [ - ['software_13',['Software',['../software.html',1,'']]] + ['dac12_5fa_24',['dac12_a',['../group__dac12__a__api.html',1,'']]], + ['dac12_5fa_2ec_25',['dac12_a.c',['../dac12__a_8c.html',1,'']]], + ['dac12_5fa_2eh_26',['dac12_a.h',['../dac12__a_8h.html',1,'']]], + ['design_20choices_27',['Design Choices',['../design_choices.html',1,'hardware']]], + ['design_20choices_2emarkdown_28',['Design Choices.markdown',['../_design_01_choices_8markdown.html',1,'']]], + ['device_20specifications_29',['Device Specifications',['../device_specifications.html',1,'hardware']]], + ['device_20specifications_2emarkdown_30',['Device Specifications.markdown',['../_device_01_specifications_8markdown.html',1,'']]], + ['dma_31',['dma',['../group__dma__api.html',1,'']]], + ['dma_2ec_32',['dma.c',['../dma_8c.html',1,'']]], + ['dma_2eh_33',['dma.h',['../dma_8h.html',1,'']]], + ['documentation_20guide_34',['Documentation Guide',['../documentation_guide.html',1,'']]], + ['documentation_20guide_2emarkdown_35',['Documentation Guide.markdown',['../_documentation_01_guide_8markdown.html',1,'']]], + ['driverlib_2eh_36',['driverlib.h',['../driverlib_8h.html',1,'']]], + ['driverlib_5fver_5fbuild_37',['DRIVERLIB_VER_BUILD',['../version_8h.html#a182ff263124bd08c6ade62fbc681789a',1,'version.h']]], + ['driverlib_5fver_5fmajor_38',['DRIVERLIB_VER_MAJOR',['../version_8h.html#a5b358dd777e834ae2515d237d4ddef2c',1,'version.h']]], + ['driverlib_5fver_5fminor_39',['DRIVERLIB_VER_MINOR',['../version_8h.html#a3209c4c14367996e38b92df68f4d0c33',1,'version.h']]], + ['driverlib_5fver_5fpatch_40',['DRIVERLIB_VER_PATCH',['../version_8h.html#a7ca458fc4f49f0b05e6fcb64a77f93c9',1,'version.h']]] ]; diff --git a/Documentation/html/search/all_6.js b/Documentation/html/search/all_6.js index 2fbb422..f8981c8 100644 --- a/Documentation/html/search/all_6.js +++ b/Documentation/html/search/all_6.js @@ -1,4 +1,15 @@ var searchData= [ - ['software_14',['Software',['../software.html',1,'index']]] + ['eusci_5fa_5fspi_41',['eusci_a_spi',['../group__eusci__a__spi__api.html',1,'']]], + ['eusci_5fa_5fspi_2ec_42',['eusci_a_spi.c',['../eusci__a__spi_8c.html',1,'']]], + ['eusci_5fa_5fspi_2eh_43',['eusci_a_spi.h',['../eusci__a__spi_8h.html',1,'']]], + ['eusci_5fa_5fuart_44',['eusci_a_uart',['../group__eusci__a__uart__api.html',1,'']]], + ['eusci_5fa_5fuart_2ec_45',['eusci_a_uart.c',['../eusci__a__uart_8c.html',1,'']]], + ['eusci_5fa_5fuart_2eh_46',['eusci_a_uart.h',['../eusci__a__uart_8h.html',1,'']]], + ['eusci_5fb_5fi2c_47',['eusci_b_i2c',['../group__eusci__b__i2c__api.html',1,'']]], + ['eusci_5fb_5fi2c_2ec_48',['eusci_b_i2c.c',['../eusci__b__i2c_8c.html',1,'']]], + ['eusci_5fb_5fi2c_2eh_49',['eusci_b_i2c.h',['../eusci__b__i2c_8h.html',1,'']]], + ['eusci_5fb_5fspi_50',['eusci_b_spi',['../group__eusci__b__spi__api.html',1,'']]], + ['eusci_5fb_5fspi_2ec_51',['eusci_b_spi.c',['../eusci__b__spi_8c.html',1,'']]], + ['eusci_5fb_5fspi_2eh_52',['eusci_b_spi.h',['../eusci__b__spi_8h.html',1,'']]] ]; diff --git a/Documentation/html/search/all_7.html b/Documentation/html/search/all_7.html new file mode 100644 index 0000000..8ddbf6c --- /dev/null +++ b/Documentation/html/search/all_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_7.js b/Documentation/html/search/all_7.js new file mode 100644 index 0000000..a88af7a --- /dev/null +++ b/Documentation/html/search/all_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['flashctl_53',['flashctl',['../group__flashctl__api.html',1,'']]], + ['flashctl_2ec_54',['flashctl.c',['../flashctl_8c.html',1,'']]], + ['flashctl_2eh_55',['flashctl.h',['../flashctl_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/all_8.html b/Documentation/html/search/all_8.html new file mode 100644 index 0000000..83c55ae --- /dev/null +++ b/Documentation/html/search/all_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_8.js b/Documentation/html/search/all_8.js new file mode 100644 index 0000000..bdc45b8 --- /dev/null +++ b/Documentation/html/search/all_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['getversion_56',['getVersion',['../version_8h.html#ab51e84a6281c4c257274af566f2b3ce6',1,'version.h']]], + ['gpio_57',['gpio',['../group__gpio__api.html',1,'']]], + ['gpio_2ec_58',['gpio.c',['../gpio_8c.html',1,'']]], + ['gpio_2eh_59',['gpio.h',['../gpio_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/all_9.html b/Documentation/html/search/all_9.html new file mode 100644 index 0000000..1e263c1 --- /dev/null +++ b/Documentation/html/search/all_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_9.js b/Documentation/html/search/all_9.js new file mode 100644 index 0000000..7189d44 --- /dev/null +++ b/Documentation/html/search/all_9.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['hardware_60',['Hardware',['../hardware.html',1,'']]], + ['home_61',['Home',['../index.html',1,'']]], + ['hw_5fmemmap_2eh_62',['hw_memmap.h',['../hw__memmap_8h.html',1,'']]], + ['hwreg16_63',['HWREG16',['../hw__memmap_8h.html#a7bb830016238e9f911612eddc5e58143',1,'hw_memmap.h']]], + ['hwreg32_64',['HWREG32',['../hw__memmap_8h.html#a005bc3d0bebdd1031a77f1fba8947998',1,'hw_memmap.h']]], + ['hwreg8_65',['HWREG8',['../hw__memmap_8h.html#a437bba8c6aaa7542f8d7522146157b42',1,'hw_memmap.h']]] +]; diff --git a/Documentation/html/search/all_a.html b/Documentation/html/search/all_a.html new file mode 100644 index 0000000..3a6cac1 --- /dev/null +++ b/Documentation/html/search/all_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_a.js b/Documentation/html/search/all_a.js new file mode 100644 index 0000000..1e03809 --- /dev/null +++ b/Documentation/html/search/all_a.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['lcd_5fb_66',['lcd_b',['../group__lcd__b__api.html',1,'']]], + ['lcd_5fb_2ec_67',['lcd_b.c',['../lcd__b_8c.html',1,'']]], + ['lcd_5fb_2eh_68',['lcd_b.h',['../lcd__b_8h.html',1,'']]], + ['lcd_5fc_69',['lcd_c',['../group__lcd__c__api.html',1,'']]], + ['lcd_5fc_2ec_70',['lcd_c.c',['../lcd__c_8c.html',1,'']]], + ['lcd_5fc_2eh_71',['lcd_c.h',['../lcd__c_8h.html',1,'']]], + ['ldopwr_72',['ldopwr',['../group__ldopwr__api.html',1,'']]], + ['ldopwr_2ec_73',['ldopwr.c',['../ldopwr_8c.html',1,'']]], + ['ldopwr_2eh_74',['ldopwr.h',['../ldopwr_8h.html',1,'']]], + ['lextab_75',['lextab',['../namespacelextab.html',1,'']]], + ['lextab_2epy_76',['lextab.py',['../lextab_8py.html',1,'']]] +]; diff --git a/Documentation/html/search/all_b.html b/Documentation/html/search/all_b.html new file mode 100644 index 0000000..130deb4 --- /dev/null +++ b/Documentation/html/search/all_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_b.js b/Documentation/html/search/all_b.js new file mode 100644 index 0000000..b0adda6 --- /dev/null +++ b/Documentation/html/search/all_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['main_77',['main',['../main_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main.c']]], + ['main_2ec_78',['main.c',['../main_8c.html',1,'']]], + ['mpy32_79',['mpy32',['../group__mpy32__api.html',1,'']]], + ['mpy32_2ec_80',['mpy32.c',['../mpy32_8c.html',1,'']]], + ['mpy32_2eh_81',['mpy32.h',['../mpy32_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/all_c.html b/Documentation/html/search/all_c.html new file mode 100644 index 0000000..3dd5af0 --- /dev/null +++ b/Documentation/html/search/all_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_c.js b/Documentation/html/search/all_c.js new file mode 100644 index 0000000..03d6eef --- /dev/null +++ b/Documentation/html/search/all_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ndebug_82',['NDEBUG',['../hw__memmap_8h.html#a8de3ed741dadc9c979a4ff17c0a9116e',1,'hw_memmap.h']]] +]; diff --git a/Documentation/html/search/all_d.html b/Documentation/html/search/all_d.html new file mode 100644 index 0000000..af7f2f0 --- /dev/null +++ b/Documentation/html/search/all_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_d.js b/Documentation/html/search/all_d.js new file mode 100644 index 0000000..ccf5e1c --- /dev/null +++ b/Documentation/html/search/all_d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['oa_83',['oa',['../group__oa__api.html',1,'']]], + ['oa_2ec_84',['oa.c',['../oa_8c.html',1,'']]], + ['oa_2eh_85',['oa.h',['../oa_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/all_e.html b/Documentation/html/search/all_e.html new file mode 100644 index 0000000..e25df42 --- /dev/null +++ b/Documentation/html/search/all_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_e.js b/Documentation/html/search/all_e.js new file mode 100644 index 0000000..bff1faf --- /dev/null +++ b/Documentation/html/search/all_e.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['pmap_86',['pmap',['../group__pmap__api.html',1,'']]], + ['pmap_2ec_87',['pmap.c',['../pmap_8c.html',1,'']]], + ['pmap_2eh_88',['pmap.h',['../pmap_8h.html',1,'']]], + ['pmm_89',['pmm',['../group__pmm__api.html',1,'']]], + ['pmm_2ec_90',['pmm.c',['../pmm_8c.html',1,'']]], + ['pmm_2eh_91',['pmm.h',['../pmm_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/all_f.html b/Documentation/html/search/all_f.html new file mode 100644 index 0000000..b23da6c --- /dev/null +++ b/Documentation/html/search/all_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/all_f.js b/Documentation/html/search/all_f.js new file mode 100644 index 0000000..f3cc27b --- /dev/null +++ b/Documentation/html/search/all_f.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['ram_92',['ram',['../group__ram__api.html',1,'']]], + ['ram_2ec_93',['ram.c',['../ram_8c.html',1,'']]], + ['ram_2eh_94',['ram.h',['../ram_8h.html',1,'']]], + ['readme_2emarkdown_95',['README.markdown',['../_r_e_a_d_m_e_8markdown.html',1,'']]], + ['ref_96',['ref',['../group__ref__api.html',1,'']]], + ['ref_2ec_97',['ref.c',['../ref_8c.html',1,'']]], + ['ref_2eh_98',['ref.h',['../ref_8h.html',1,'']]], + ['rtc_5fa_99',['rtc_a',['../group__rtc__a__api.html',1,'']]], + ['rtc_5fa_2ec_100',['rtc_a.c',['../rtc__a_8c.html',1,'']]], + ['rtc_5fa_2eh_101',['rtc_a.h',['../rtc__a_8h.html',1,'']]], + ['rtc_5fb_102',['rtc_b',['../group__rtc__b__api.html',1,'']]], + ['rtc_5fb_2ec_103',['rtc_b.c',['../rtc__b_8c.html',1,'']]], + ['rtc_5fb_2eh_104',['rtc_b.h',['../rtc__b_8h.html',1,'']]], + ['rtc_5fc_105',['rtc_c',['../group__rtc__c__api.html',1,'']]], + ['rtc_5fc_2ec_106',['rtc_c.c',['../rtc__c_8c.html',1,'']]], + ['rtc_5fc_2eh_107',['rtc_c.h',['../rtc__c_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/defines_0.html b/Documentation/html/search/defines_0.html new file mode 100644 index 0000000..15cc3de --- /dev/null +++ b/Documentation/html/search/defines_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/defines_0.js b/Documentation/html/search/defines_0.js new file mode 100644 index 0000000..d7efab2 --- /dev/null +++ b/Documentation/html/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_5f_5fdriverlib_5fmsp430f5xx_5f6xx_5ffamily_5f_5f_253',['__DRIVERLIB_MSP430F5XX_6XX_FAMILY__',['../hw__memmap_8h.html#a97af2b5e31182f676ac18b271c0edebf',1,'hw_memmap.h']]] +]; diff --git a/Documentation/html/search/defines_1.html b/Documentation/html/search/defines_1.html new file mode 100644 index 0000000..c49009c --- /dev/null +++ b/Documentation/html/search/defines_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/defines_1.js b/Documentation/html/search/defines_1.js new file mode 100644 index 0000000..db53827 --- /dev/null +++ b/Documentation/html/search/defines_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['driverlib_5fver_5fbuild_254',['DRIVERLIB_VER_BUILD',['../version_8h.html#a182ff263124bd08c6ade62fbc681789a',1,'version.h']]], + ['driverlib_5fver_5fmajor_255',['DRIVERLIB_VER_MAJOR',['../version_8h.html#a5b358dd777e834ae2515d237d4ddef2c',1,'version.h']]], + ['driverlib_5fver_5fminor_256',['DRIVERLIB_VER_MINOR',['../version_8h.html#a3209c4c14367996e38b92df68f4d0c33',1,'version.h']]], + ['driverlib_5fver_5fpatch_257',['DRIVERLIB_VER_PATCH',['../version_8h.html#a7ca458fc4f49f0b05e6fcb64a77f93c9',1,'version.h']]] +]; diff --git a/Documentation/html/search/defines_2.html b/Documentation/html/search/defines_2.html new file mode 100644 index 0000000..c551011 --- /dev/null +++ b/Documentation/html/search/defines_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/defines_2.js b/Documentation/html/search/defines_2.js new file mode 100644 index 0000000..9702bae --- /dev/null +++ b/Documentation/html/search/defines_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['getversion_258',['getVersion',['../version_8h.html#ab51e84a6281c4c257274af566f2b3ce6',1,'version.h']]] +]; diff --git a/Documentation/html/search/defines_3.html b/Documentation/html/search/defines_3.html new file mode 100644 index 0000000..8c6d215 --- /dev/null +++ b/Documentation/html/search/defines_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/defines_3.js b/Documentation/html/search/defines_3.js new file mode 100644 index 0000000..4825759 --- /dev/null +++ b/Documentation/html/search/defines_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['hwreg16_259',['HWREG16',['../hw__memmap_8h.html#a7bb830016238e9f911612eddc5e58143',1,'hw_memmap.h']]], + ['hwreg32_260',['HWREG32',['../hw__memmap_8h.html#a005bc3d0bebdd1031a77f1fba8947998',1,'hw_memmap.h']]], + ['hwreg8_261',['HWREG8',['../hw__memmap_8h.html#a437bba8c6aaa7542f8d7522146157b42',1,'hw_memmap.h']]] +]; diff --git a/Documentation/html/search/defines_4.html b/Documentation/html/search/defines_4.html new file mode 100644 index 0000000..f4afac1 --- /dev/null +++ b/Documentation/html/search/defines_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/defines_4.js b/Documentation/html/search/defines_4.js new file mode 100644 index 0000000..52dd4c5 --- /dev/null +++ b/Documentation/html/search/defines_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ndebug_262',['NDEBUG',['../hw__memmap_8h.html#a8de3ed741dadc9c979a4ff17c0a9116e',1,'hw_memmap.h']]] +]; diff --git a/Documentation/html/search/defines_5.html b/Documentation/html/search/defines_5.html new file mode 100644 index 0000000..8c40d12 --- /dev/null +++ b/Documentation/html/search/defines_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/defines_5.js b/Documentation/html/search/defines_5.js new file mode 100644 index 0000000..dcd896d --- /dev/null +++ b/Documentation/html/search/defines_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['status_5ffail_263',['STATUS_FAIL',['../hw__memmap_8h.html#a9024ed05f7df784637ef7b44ca8caf97',1,'hw_memmap.h']]], + ['status_5fsuccess_264',['STATUS_SUCCESS',['../hw__memmap_8h.html#ae56fdb340b23940f7a64ed2e37c1774a',1,'hw_memmap.h']]] +]; diff --git a/Documentation/html/search/files_0.js b/Documentation/html/search/files_0.js index 5ba27ce..f4d47d1 100644 --- a/Documentation/html/search/files_0.js +++ b/Documentation/html/search/files_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['_21hardware_2emarkdown_14',['!Hardware.markdown',['../_9_hardware_8markdown.html',1,'']]], - ['_21software_2emarkdown_15',['!Software.markdown',['../_9_software_8markdown.html',1,'']]] + ['_21hardware_2emarkdown_158',['!Hardware.markdown',['../_9_hardware_8markdown.html',1,'']]], + ['_21software_2emarkdown_159',['!Software.markdown',['../_9_software_8markdown.html',1,'']]] ]; diff --git a/Documentation/html/search/files_1.js b/Documentation/html/search/files_1.js index 4f26c2a..2677dfa 100644 --- a/Documentation/html/search/files_1.js +++ b/Documentation/html/search/files_1.js @@ -1,6 +1,9 @@ var searchData= [ - ['design_20choices_2emarkdown_16',['Design Choices.markdown',['../_design_01_choices_8markdown.html',1,'']]], - ['device_20specifications_2emarkdown_17',['Device Specifications.markdown',['../_device_01_specifications_8markdown.html',1,'']]], - ['documentation_20guide_2emarkdown_18',['Documentation Guide.markdown',['../_documentation_01_guide_8markdown.html',1,'']]] + ['adc10_5fa_2ec_160',['adc10_a.c',['../adc10__a_8c.html',1,'']]], + ['adc10_5fa_2eh_161',['adc10_a.h',['../adc10__a_8h.html',1,'']]], + ['adc12_5fa_2ec_162',['adc12_a.c',['../adc12__a_8c.html',1,'']]], + ['adc12_5fa_2eh_163',['adc12_a.h',['../adc12__a_8h.html',1,'']]], + ['aes_2ec_164',['aes.c',['../aes_8c.html',1,'']]], + ['aes_2eh_165',['aes.h',['../aes_8h.html',1,'']]] ]; diff --git a/Documentation/html/search/files_10.html b/Documentation/html/search/files_10.html new file mode 100644 index 0000000..e52318e --- /dev/null +++ b/Documentation/html/search/files_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_10.js b/Documentation/html/search/files_10.js new file mode 100644 index 0000000..f229c37 --- /dev/null +++ b/Documentation/html/search/files_10.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['ucs_2ec_238',['ucs.c',['../ucs_8c.html',1,'']]], + ['ucs_2eh_239',['ucs.h',['../ucs_8h.html',1,'']]], + ['usci_5fa_5fspi_2ec_240',['usci_a_spi.c',['../usci__a__spi_8c.html',1,'']]], + ['usci_5fa_5fspi_2eh_241',['usci_a_spi.h',['../usci__a__spi_8h.html',1,'']]], + ['usci_5fa_5fuart_2ec_242',['usci_a_uart.c',['../usci__a__uart_8c.html',1,'']]], + ['usci_5fa_5fuart_2eh_243',['usci_a_uart.h',['../usci__a__uart_8h.html',1,'']]], + ['usci_5fb_5fi2c_2ec_244',['usci_b_i2c.c',['../usci__b__i2c_8c.html',1,'']]], + ['usci_5fb_5fi2c_2eh_245',['usci_b_i2c.h',['../usci__b__i2c_8h.html',1,'']]], + ['usci_5fb_5fspi_2ec_246',['usci_b_spi.c',['../usci__b__spi_8c.html',1,'']]], + ['usci_5fb_5fspi_2eh_247',['usci_b_spi.h',['../usci__b__spi_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_11.html b/Documentation/html/search/files_11.html new file mode 100644 index 0000000..02edc09 --- /dev/null +++ b/Documentation/html/search/files_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_11.js b/Documentation/html/search/files_11.js new file mode 100644 index 0000000..257e2dc --- /dev/null +++ b/Documentation/html/search/files_11.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['version_2eh_248',['version.h',['../version_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_12.html b/Documentation/html/search/files_12.html new file mode 100644 index 0000000..bd79f3c --- /dev/null +++ b/Documentation/html/search/files_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_12.js b/Documentation/html/search/files_12.js new file mode 100644 index 0000000..b8d166f --- /dev/null +++ b/Documentation/html/search/files_12.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['wdt_5fa_2ec_249',['wdt_a.c',['../wdt__a_8c.html',1,'']]], + ['wdt_5fa_2eh_250',['wdt_a.h',['../wdt__a_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_13.html b/Documentation/html/search/files_13.html new file mode 100644 index 0000000..7cbb5b0 --- /dev/null +++ b/Documentation/html/search/files_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_13.js b/Documentation/html/search/files_13.js new file mode 100644 index 0000000..324d334 --- /dev/null +++ b/Documentation/html/search/files_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['yacctab_2epy_251',['yacctab.py',['../yacctab_8py.html',1,'']]] +]; diff --git a/Documentation/html/search/files_2.js b/Documentation/html/search/files_2.js index 36997b9..eaa0e99 100644 --- a/Documentation/html/search/files_2.js +++ b/Documentation/html/search/files_2.js @@ -1,4 +1,5 @@ var searchData= [ - ['main_2ec_19',['main.c',['../main_8c.html',1,'']]] + ['battbak_2ec_166',['battbak.c',['../battbak_8c.html',1,'']]], + ['battbak_2eh_167',['battbak.h',['../battbak_8h.html',1,'']]] ]; diff --git a/Documentation/html/search/files_3.js b/Documentation/html/search/files_3.js index d3ed67b..ecd3594 100644 --- a/Documentation/html/search/files_3.js +++ b/Documentation/html/search/files_3.js @@ -1,4 +1,9 @@ var searchData= [ - ['readme_2emarkdown_20',['README.markdown',['../_r_e_a_d_m_e_8markdown.html',1,'']]] + ['comp_5fb_2ec_168',['comp_b.c',['../comp__b_8c.html',1,'']]], + ['comp_5fb_2eh_169',['comp_b.h',['../comp__b_8h.html',1,'']]], + ['crc_2ec_170',['crc.c',['../crc_8c.html',1,'']]], + ['crc_2eh_171',['crc.h',['../crc_8h.html',1,'']]], + ['ctsd16_2ec_172',['ctsd16.c',['../ctsd16_8c.html',1,'']]], + ['ctsd16_2eh_173',['ctsd16.h',['../ctsd16_8h.html',1,'']]] ]; diff --git a/Documentation/html/search/files_4.js b/Documentation/html/search/files_4.js index 2799f73..a6f008a 100644 --- a/Documentation/html/search/files_4.js +++ b/Documentation/html/search/files_4.js @@ -1,4 +1,11 @@ var searchData= [ - ['readme_2emarkdown_22',['README.markdown',['../_r_e_a_d_m_e_8markdown.html',1,'']]] + ['dac12_5fa_2ec_174',['dac12_a.c',['../dac12__a_8c.html',1,'']]], + ['dac12_5fa_2eh_175',['dac12_a.h',['../dac12__a_8h.html',1,'']]], + ['design_20choices_2emarkdown_176',['Design Choices.markdown',['../_design_01_choices_8markdown.html',1,'']]], + ['device_20specifications_2emarkdown_177',['Device Specifications.markdown',['../_device_01_specifications_8markdown.html',1,'']]], + ['dma_2ec_178',['dma.c',['../dma_8c.html',1,'']]], + ['dma_2eh_179',['dma.h',['../dma_8h.html',1,'']]], + ['documentation_20guide_2emarkdown_180',['Documentation Guide.markdown',['../_documentation_01_guide_8markdown.html',1,'']]], + ['driverlib_2eh_181',['driverlib.h',['../driverlib_8h.html',1,'']]] ]; diff --git a/Documentation/html/search/files_5.html b/Documentation/html/search/files_5.html new file mode 100644 index 0000000..7b6affd --- /dev/null +++ b/Documentation/html/search/files_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_5.js b/Documentation/html/search/files_5.js new file mode 100644 index 0000000..c9a5f1c --- /dev/null +++ b/Documentation/html/search/files_5.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['eusci_5fa_5fspi_2ec_182',['eusci_a_spi.c',['../eusci__a__spi_8c.html',1,'']]], + ['eusci_5fa_5fspi_2eh_183',['eusci_a_spi.h',['../eusci__a__spi_8h.html',1,'']]], + ['eusci_5fa_5fuart_2ec_184',['eusci_a_uart.c',['../eusci__a__uart_8c.html',1,'']]], + ['eusci_5fa_5fuart_2eh_185',['eusci_a_uart.h',['../eusci__a__uart_8h.html',1,'']]], + ['eusci_5fb_5fi2c_2ec_186',['eusci_b_i2c.c',['../eusci__b__i2c_8c.html',1,'']]], + ['eusci_5fb_5fi2c_2eh_187',['eusci_b_i2c.h',['../eusci__b__i2c_8h.html',1,'']]], + ['eusci_5fb_5fspi_2ec_188',['eusci_b_spi.c',['../eusci__b__spi_8c.html',1,'']]], + ['eusci_5fb_5fspi_2eh_189',['eusci_b_spi.h',['../eusci__b__spi_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_6.html b/Documentation/html/search/files_6.html new file mode 100644 index 0000000..802ebf7 --- /dev/null +++ b/Documentation/html/search/files_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_6.js b/Documentation/html/search/files_6.js new file mode 100644 index 0000000..08af527 --- /dev/null +++ b/Documentation/html/search/files_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['flashctl_2ec_190',['flashctl.c',['../flashctl_8c.html',1,'']]], + ['flashctl_2eh_191',['flashctl.h',['../flashctl_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_7.html b/Documentation/html/search/files_7.html new file mode 100644 index 0000000..365e648 --- /dev/null +++ b/Documentation/html/search/files_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_7.js b/Documentation/html/search/files_7.js new file mode 100644 index 0000000..68064ec --- /dev/null +++ b/Documentation/html/search/files_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['gpio_2ec_192',['gpio.c',['../gpio_8c.html',1,'']]], + ['gpio_2eh_193',['gpio.h',['../gpio_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_8.html b/Documentation/html/search/files_8.html new file mode 100644 index 0000000..3df0f2f --- /dev/null +++ b/Documentation/html/search/files_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_8.js b/Documentation/html/search/files_8.js new file mode 100644 index 0000000..a807b8e --- /dev/null +++ b/Documentation/html/search/files_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['hw_5fmemmap_2eh_194',['hw_memmap.h',['../hw__memmap_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_9.html b/Documentation/html/search/files_9.html new file mode 100644 index 0000000..52f8b6c --- /dev/null +++ b/Documentation/html/search/files_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_9.js b/Documentation/html/search/files_9.js new file mode 100644 index 0000000..c8aea64 --- /dev/null +++ b/Documentation/html/search/files_9.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['lcd_5fb_2ec_195',['lcd_b.c',['../lcd__b_8c.html',1,'']]], + ['lcd_5fb_2eh_196',['lcd_b.h',['../lcd__b_8h.html',1,'']]], + ['lcd_5fc_2ec_197',['lcd_c.c',['../lcd__c_8c.html',1,'']]], + ['lcd_5fc_2eh_198',['lcd_c.h',['../lcd__c_8h.html',1,'']]], + ['ldopwr_2ec_199',['ldopwr.c',['../ldopwr_8c.html',1,'']]], + ['ldopwr_2eh_200',['ldopwr.h',['../ldopwr_8h.html',1,'']]], + ['lextab_2epy_201',['lextab.py',['../lextab_8py.html',1,'']]] +]; diff --git a/Documentation/html/search/files_a.html b/Documentation/html/search/files_a.html new file mode 100644 index 0000000..11d4c11 --- /dev/null +++ b/Documentation/html/search/files_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_a.js b/Documentation/html/search/files_a.js new file mode 100644 index 0000000..e990a8c --- /dev/null +++ b/Documentation/html/search/files_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main_2ec_202',['main.c',['../main_8c.html',1,'']]], + ['mpy32_2ec_203',['mpy32.c',['../mpy32_8c.html',1,'']]], + ['mpy32_2eh_204',['mpy32.h',['../mpy32_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_b.html b/Documentation/html/search/files_b.html new file mode 100644 index 0000000..9fc8343 --- /dev/null +++ b/Documentation/html/search/files_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_b.js b/Documentation/html/search/files_b.js new file mode 100644 index 0000000..49fde52 --- /dev/null +++ b/Documentation/html/search/files_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['oa_2ec_205',['oa.c',['../oa_8c.html',1,'']]], + ['oa_2eh_206',['oa.h',['../oa_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_c.html b/Documentation/html/search/files_c.html new file mode 100644 index 0000000..c266b4c --- /dev/null +++ b/Documentation/html/search/files_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_c.js b/Documentation/html/search/files_c.js new file mode 100644 index 0000000..617e12a --- /dev/null +++ b/Documentation/html/search/files_c.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['pmap_2ec_207',['pmap.c',['../pmap_8c.html',1,'']]], + ['pmap_2eh_208',['pmap.h',['../pmap_8h.html',1,'']]], + ['pmm_2ec_209',['pmm.c',['../pmm_8c.html',1,'']]], + ['pmm_2eh_210',['pmm.h',['../pmm_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_d.html b/Documentation/html/search/files_d.html new file mode 100644 index 0000000..d2ca3c1 --- /dev/null +++ b/Documentation/html/search/files_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_d.js b/Documentation/html/search/files_d.js new file mode 100644 index 0000000..66a20bc --- /dev/null +++ b/Documentation/html/search/files_d.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['ram_2ec_211',['ram.c',['../ram_8c.html',1,'']]], + ['ram_2eh_212',['ram.h',['../ram_8h.html',1,'']]], + ['readme_2emarkdown_213',['README.markdown',['../_r_e_a_d_m_e_8markdown.html',1,'']]], + ['ref_2ec_214',['ref.c',['../ref_8c.html',1,'']]], + ['ref_2eh_215',['ref.h',['../ref_8h.html',1,'']]], + ['rtc_5fa_2ec_216',['rtc_a.c',['../rtc__a_8c.html',1,'']]], + ['rtc_5fa_2eh_217',['rtc_a.h',['../rtc__a_8h.html',1,'']]], + ['rtc_5fb_2ec_218',['rtc_b.c',['../rtc__b_8c.html',1,'']]], + ['rtc_5fb_2eh_219',['rtc_b.h',['../rtc__b_8h.html',1,'']]], + ['rtc_5fc_2ec_220',['rtc_c.c',['../rtc__c_8c.html',1,'']]], + ['rtc_5fc_2eh_221',['rtc_c.h',['../rtc__c_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_e.html b/Documentation/html/search/files_e.html new file mode 100644 index 0000000..9df4116 --- /dev/null +++ b/Documentation/html/search/files_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_e.js b/Documentation/html/search/files_e.js new file mode 100644 index 0000000..3b7e5c8 --- /dev/null +++ b/Documentation/html/search/files_e.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['sd24_5fb_2ec_222',['sd24_b.c',['../sd24__b_8c.html',1,'']]], + ['sd24_5fb_2eh_223',['sd24_b.h',['../sd24__b_8h.html',1,'']]], + ['sfr_2ec_224',['sfr.c',['../sfr_8c.html',1,'']]], + ['sfr_2eh_225',['sfr.h',['../sfr_8h.html',1,'']]], + ['sysctl_2ec_226',['sysctl.c',['../sysctl_8c.html',1,'']]], + ['sysctl_2eh_227',['sysctl.h',['../sysctl_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/files_f.html b/Documentation/html/search/files_f.html new file mode 100644 index 0000000..f75258b --- /dev/null +++ b/Documentation/html/search/files_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/files_f.js b/Documentation/html/search/files_f.js new file mode 100644 index 0000000..3ef7c89 --- /dev/null +++ b/Documentation/html/search/files_f.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['tec_2ec_228',['tec.c',['../tec_8c.html',1,'']]], + ['tec_2eh_229',['tec.h',['../tec_8h.html',1,'']]], + ['timer_5fa_2ec_230',['timer_a.c',['../timer__a_8c.html',1,'']]], + ['timer_5fa_2eh_231',['timer_a.h',['../timer__a_8h.html',1,'']]], + ['timer_5fb_2ec_232',['timer_b.c',['../timer__b_8c.html',1,'']]], + ['timer_5fb_2eh_233',['timer_b.h',['../timer__b_8h.html',1,'']]], + ['timer_5fd_2ec_234',['timer_d.c',['../timer__d_8c.html',1,'']]], + ['timer_5fd_2eh_235',['timer_d.h',['../timer__d_8h.html',1,'']]], + ['tlv_2ec_236',['tlv.c',['../tlv_8c.html',1,'']]], + ['tlv_2eh_237',['tlv.h',['../tlv_8h.html',1,'']]] +]; diff --git a/Documentation/html/search/functions_0.js b/Documentation/html/search/functions_0.js index 6d7eaef..78761fd 100644 --- a/Documentation/html/search/functions_0.js +++ b/Documentation/html/search/functions_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['main_21',['main',['../main_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main.c']]] + ['main_252',['main',['../main_8c.html#a840291bc02cba5474a4cb46a9b9566fe',1,'main.c']]] ]; diff --git a/Documentation/html/search/groups_0.html b/Documentation/html/search/groups_0.html new file mode 100644 index 0000000..c600b49 --- /dev/null +++ b/Documentation/html/search/groups_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_0.js b/Documentation/html/search/groups_0.js new file mode 100644 index 0000000..28d2677 --- /dev/null +++ b/Documentation/html/search/groups_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['adc10_5fa_265',['adc10_a',['../group__adc10__a__api.html',1,'']]], + ['adc12_5fa_266',['adc12_a',['../group__adc12__a__api.html',1,'']]], + ['aes_267',['aes',['../group__aes__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_1.html b/Documentation/html/search/groups_1.html new file mode 100644 index 0000000..2eb3550 --- /dev/null +++ b/Documentation/html/search/groups_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_1.js b/Documentation/html/search/groups_1.js new file mode 100644 index 0000000..458bc38 --- /dev/null +++ b/Documentation/html/search/groups_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['battbak_268',['battbak',['../group__battbak__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_2.html b/Documentation/html/search/groups_2.html new file mode 100644 index 0000000..12f4af7 --- /dev/null +++ b/Documentation/html/search/groups_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_2.js b/Documentation/html/search/groups_2.js new file mode 100644 index 0000000..b1681b2 --- /dev/null +++ b/Documentation/html/search/groups_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['comp_5fb_269',['comp_b',['../group__comp__b__api.html',1,'']]], + ['crc_270',['crc',['../group__crc__api.html',1,'']]], + ['ctsd16_271',['ctsd16',['../group__ctsd16__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_3.html b/Documentation/html/search/groups_3.html new file mode 100644 index 0000000..5e235b5 --- /dev/null +++ b/Documentation/html/search/groups_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_3.js b/Documentation/html/search/groups_3.js new file mode 100644 index 0000000..c7b4ff4 --- /dev/null +++ b/Documentation/html/search/groups_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['dac12_5fa_272',['dac12_a',['../group__dac12__a__api.html',1,'']]], + ['dma_273',['dma',['../group__dma__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_4.html b/Documentation/html/search/groups_4.html new file mode 100644 index 0000000..99405e1 --- /dev/null +++ b/Documentation/html/search/groups_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_4.js b/Documentation/html/search/groups_4.js new file mode 100644 index 0000000..3016e38 --- /dev/null +++ b/Documentation/html/search/groups_4.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['eusci_5fa_5fspi_274',['eusci_a_spi',['../group__eusci__a__spi__api.html',1,'']]], + ['eusci_5fa_5fuart_275',['eusci_a_uart',['../group__eusci__a__uart__api.html',1,'']]], + ['eusci_5fb_5fi2c_276',['eusci_b_i2c',['../group__eusci__b__i2c__api.html',1,'']]], + ['eusci_5fb_5fspi_277',['eusci_b_spi',['../group__eusci__b__spi__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_5.html b/Documentation/html/search/groups_5.html new file mode 100644 index 0000000..583f5f5 --- /dev/null +++ b/Documentation/html/search/groups_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_5.js b/Documentation/html/search/groups_5.js new file mode 100644 index 0000000..8b73eb3 --- /dev/null +++ b/Documentation/html/search/groups_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['flashctl_278',['flashctl',['../group__flashctl__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_6.html b/Documentation/html/search/groups_6.html new file mode 100644 index 0000000..df6a310 --- /dev/null +++ b/Documentation/html/search/groups_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_6.js b/Documentation/html/search/groups_6.js new file mode 100644 index 0000000..0541bee --- /dev/null +++ b/Documentation/html/search/groups_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['gpio_279',['gpio',['../group__gpio__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_7.html b/Documentation/html/search/groups_7.html new file mode 100644 index 0000000..8964e05 --- /dev/null +++ b/Documentation/html/search/groups_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_7.js b/Documentation/html/search/groups_7.js new file mode 100644 index 0000000..e5d57c2 --- /dev/null +++ b/Documentation/html/search/groups_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['lcd_5fb_280',['lcd_b',['../group__lcd__b__api.html',1,'']]], + ['lcd_5fc_281',['lcd_c',['../group__lcd__c__api.html',1,'']]], + ['ldopwr_282',['ldopwr',['../group__ldopwr__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_8.html b/Documentation/html/search/groups_8.html new file mode 100644 index 0000000..7987ca3 --- /dev/null +++ b/Documentation/html/search/groups_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_8.js b/Documentation/html/search/groups_8.js new file mode 100644 index 0000000..0a69357 --- /dev/null +++ b/Documentation/html/search/groups_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['mpy32_283',['mpy32',['../group__mpy32__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_9.html b/Documentation/html/search/groups_9.html new file mode 100644 index 0000000..4567ddf --- /dev/null +++ b/Documentation/html/search/groups_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_9.js b/Documentation/html/search/groups_9.js new file mode 100644 index 0000000..f968e57 --- /dev/null +++ b/Documentation/html/search/groups_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['oa_284',['oa',['../group__oa__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_a.html b/Documentation/html/search/groups_a.html new file mode 100644 index 0000000..31f0da4 --- /dev/null +++ b/Documentation/html/search/groups_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_a.js b/Documentation/html/search/groups_a.js new file mode 100644 index 0000000..254a219 --- /dev/null +++ b/Documentation/html/search/groups_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['pmap_285',['pmap',['../group__pmap__api.html',1,'']]], + ['pmm_286',['pmm',['../group__pmm__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_b.html b/Documentation/html/search/groups_b.html new file mode 100644 index 0000000..8f93347 --- /dev/null +++ b/Documentation/html/search/groups_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_b.js b/Documentation/html/search/groups_b.js new file mode 100644 index 0000000..36f377f --- /dev/null +++ b/Documentation/html/search/groups_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['ram_287',['ram',['../group__ram__api.html',1,'']]], + ['ref_288',['ref',['../group__ref__api.html',1,'']]], + ['rtc_5fa_289',['rtc_a',['../group__rtc__a__api.html',1,'']]], + ['rtc_5fb_290',['rtc_b',['../group__rtc__b__api.html',1,'']]], + ['rtc_5fc_291',['rtc_c',['../group__rtc__c__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_c.html b/Documentation/html/search/groups_c.html new file mode 100644 index 0000000..1583087 --- /dev/null +++ b/Documentation/html/search/groups_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_c.js b/Documentation/html/search/groups_c.js new file mode 100644 index 0000000..cdb06b8 --- /dev/null +++ b/Documentation/html/search/groups_c.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['sd24_5fb_292',['sd24_b',['../group__sd24__b__api.html',1,'']]], + ['sfr_293',['sfr',['../group__sfr__api.html',1,'']]], + ['sysctl_294',['sysctl',['../group__sysctl__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_d.html b/Documentation/html/search/groups_d.html new file mode 100644 index 0000000..ea1c4e5 --- /dev/null +++ b/Documentation/html/search/groups_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_d.js b/Documentation/html/search/groups_d.js new file mode 100644 index 0000000..08d55b8 --- /dev/null +++ b/Documentation/html/search/groups_d.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['tec_295',['tec',['../group__tec__api.html',1,'']]], + ['timer_5fa_296',['timer_a',['../group__timer__a__api.html',1,'']]], + ['timer_5fb_297',['timer_b',['../group__timer__b__api.html',1,'']]], + ['timer_5fd_298',['timer_d',['../group__timer__d__api.html',1,'']]], + ['tlv_299',['tlv',['../group__tlv__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_e.html b/Documentation/html/search/groups_e.html new file mode 100644 index 0000000..fc25390 --- /dev/null +++ b/Documentation/html/search/groups_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_e.js b/Documentation/html/search/groups_e.js new file mode 100644 index 0000000..eb44301 --- /dev/null +++ b/Documentation/html/search/groups_e.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['ucs_300',['ucs',['../group__ucs__api.html',1,'']]], + ['usci_5fa_5fspi_301',['usci_a_spi',['../group__usci__a__spi__api.html',1,'']]], + ['usci_5fa_5fuart_302',['usci_a_uart',['../group__usci__a__uart__api.html',1,'']]], + ['usci_5fb_5fi2c_303',['usci_b_i2c',['../group__usci__b__i2c__api.html',1,'']]], + ['usci_5fb_5fspi_304',['usci_b_spi',['../group__usci__b__spi__api.html',1,'']]] +]; diff --git a/Documentation/html/search/groups_f.html b/Documentation/html/search/groups_f.html new file mode 100644 index 0000000..2f5c7a3 --- /dev/null +++ b/Documentation/html/search/groups_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/groups_f.js b/Documentation/html/search/groups_f.js new file mode 100644 index 0000000..0aff420 --- /dev/null +++ b/Documentation/html/search/groups_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['wdt_5fa_305',['wdt_a',['../group__wdt__a__api.html',1,'']]] +]; diff --git a/Documentation/html/search/namespaces_0.html b/Documentation/html/search/namespaces_0.html new file mode 100644 index 0000000..21db2c3 --- /dev/null +++ b/Documentation/html/search/namespaces_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/namespaces_0.js b/Documentation/html/search/namespaces_0.js new file mode 100644 index 0000000..d143cc5 --- /dev/null +++ b/Documentation/html/search/namespaces_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['lextab_156',['lextab',['../namespacelextab.html',1,'']]] +]; diff --git a/Documentation/html/search/namespaces_1.html b/Documentation/html/search/namespaces_1.html new file mode 100644 index 0000000..a01efeb --- /dev/null +++ b/Documentation/html/search/namespaces_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
      +
      Loading...
      +
      + +
      Searching...
      +
      No Matches
      + +
      + + diff --git a/Documentation/html/search/namespaces_1.js b/Documentation/html/search/namespaces_1.js new file mode 100644 index 0000000..bf5da1b --- /dev/null +++ b/Documentation/html/search/namespaces_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['yacctab_157',['yacctab',['../namespaceyacctab.html',1,'']]] +]; diff --git a/Documentation/html/search/pages_0.js b/Documentation/html/search/pages_0.js index b95eaac..2c11a8e 100644 --- a/Documentation/html/search/pages_0.js +++ b/Documentation/html/search/pages_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['design_20choices_22',['Design Choices',['../design_choices.html',1,'hardware']]], - ['device_20specifications_23',['Device Specifications',['../device_specifications.html',1,'hardware']]], - ['documentation_20guide_24',['Documentation Guide',['../documentation_guide.html',1,'']]] + ['design_20choices_306',['Design Choices',['../design_choices.html',1,'hardware']]], + ['device_20specifications_307',['Device Specifications',['../device_specifications.html',1,'hardware']]], + ['documentation_20guide_308',['Documentation Guide',['../documentation_guide.html',1,'']]] ]; diff --git a/Documentation/html/search/pages_1.js b/Documentation/html/search/pages_1.js index 053a7e9..5c43e46 100644 --- a/Documentation/html/search/pages_1.js +++ b/Documentation/html/search/pages_1.js @@ -1,5 +1,5 @@ var searchData= [ - ['hardware_25',['Hardware',['../hardware.html',1,'']]], - ['home_26',['Home',['../index.html',1,'']]] + ['hardware_309',['Hardware',['../hardware.html',1,'']]], + ['home_310',['Home',['../index.html',1,'']]] ]; diff --git a/Documentation/html/search/pages_2.js b/Documentation/html/search/pages_2.js index 33e3f50..8a75ea7 100644 --- a/Documentation/html/search/pages_2.js +++ b/Documentation/html/search/pages_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['software_27',['Software',['../software.html',1,'']]] + ['software_311',['Software',['../software.html',1,'']]] ]; diff --git a/Documentation/html/search/searchdata.js b/Documentation/html/search/searchdata.js index 74ec432..2bc24bf 100644 --- a/Documentation/html/search/searchdata.js +++ b/Documentation/html/search/searchdata.js @@ -1,24 +1,33 @@ var indexSectionsWithContent = { - 0: "!dhmrs", - 1: "!dmr", - 2: "m", - 3: "dhs" + 0: "!_abcdefghlmnoprstuvwy", + 1: "ly", + 2: "!abcdefghlmoprstuvwy", + 3: "m", + 4: "_dghns", + 5: "abcdefglmoprstuw", + 6: "dhs" }; var indexSectionNames = { 0: "all", - 1: "files", - 2: "functions", - 3: "pages" + 1: "namespaces", + 2: "files", + 3: "functions", + 4: "defines", + 5: "groups", + 6: "pages" }; var indexSectionLabels = { 0: "All", - 1: "Files", - 2: "Functions", - 3: "Pages" + 1: "Namespaces", + 2: "Files", + 3: "Functions", + 4: "Macros", + 5: "Modules", + 6: "Pages" }; diff --git a/Documentation/html/sfr_8c.html b/Documentation/html/sfr_8c.html new file mode 100644 index 0000000..5904694 --- /dev/null +++ b/Documentation/html/sfr_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sfr.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sfr.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/sfr_8c_source.html b/Documentation/html/sfr_8c_source.html new file mode 100644 index 0000000..b154155 --- /dev/null +++ b/Documentation/html/sfr_8c_source.html @@ -0,0 +1,169 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sfr.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sfr.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // sfr.c - Driver for the sfr Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_SFR__
      +
      17 #include "sfr.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void SFR_enableInterrupt (uint8_t interruptMask)
      +
      22 {
      +
      23  HWREG8(SFR_BASE + OFS_SFRIE1_L) |= interruptMask;
      +
      24 }
      +
      25 
      +
      26 void SFR_disableInterrupt (uint8_t interruptMask)
      +
      27 {
      +
      28  HWREG8(SFR_BASE + OFS_SFRIE1_L) &= ~(interruptMask);
      +
      29 }
      +
      30 
      +
      31 uint8_t SFR_getInterruptStatus (uint8_t interruptFlagMask)
      +
      32 {
      +
      33  return ( HWREG8(SFR_BASE + OFS_SFRIFG1_L) & interruptFlagMask );
      +
      34 }
      +
      35 
      +
      36 void SFR_clearInterrupt (uint8_t interruptFlagMask)
      +
      37 {
      +
      38  HWREG8(SFR_BASE + OFS_SFRIFG1_L) &= ~(interruptFlagMask);
      +
      39 }
      +
      40 
      +
      41 void SFR_setResetPinPullResistor (uint16_t pullResistorSetup)
      +
      42 {
      +
      43  HWREG8(SFR_BASE + OFS_SFRRPCR_L) &= ~(SYSRSTRE + SYSRSTUP);
      +
      44  HWREG8(SFR_BASE + OFS_SFRRPCR_L) |= pullResistorSetup;
      +
      45 }
      +
      46 
      +
      47 void SFR_setNMIEdge (uint16_t edgeDirection)
      +
      48 {
      +
      49  HWREG8(SFR_BASE + OFS_SFRRPCR_L) &= ~(SYSNMIIES);
      +
      50  HWREG8(SFR_BASE + OFS_SFRRPCR_L) |= edgeDirection;
      +
      51 }
      +
      52 
      +
      53 void SFR_setResetNMIPinFunction (uint8_t resetPinFunction)
      +
      54 {
      +
      55  HWREG8(SFR_BASE + OFS_SFRRPCR_L) &= ~(SYSNMI);
      +
      56  HWREG8(SFR_BASE + OFS_SFRRPCR_L) |= resetPinFunction;
      +
      57 }
      +
      58 
      +
      59 #endif
      +
      60 //*****************************************************************************
      +
      61 //
      +
      64 //
      +
      65 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      + +
      +
      + + + + diff --git a/Documentation/html/sfr_8h.html b/Documentation/html/sfr_8h.html new file mode 100644 index 0000000..b9734a7 --- /dev/null +++ b/Documentation/html/sfr_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sfr.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sfr.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/sfr_8h_source.html b/Documentation/html/sfr_8h_source.html new file mode 100644 index 0000000..9d6ebee --- /dev/null +++ b/Documentation/html/sfr_8h_source.html @@ -0,0 +1,234 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sfr.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sfr.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // sfr.h - Driver for the SFR Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_SFR_H__
      +
      8 #define __MSP430WARE_SFR_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_SFR__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 //*****************************************************************************
      +
      26 //
      +
      27 // The following are values that can be passed to the interruptMask parameter
      +
      28 // for functions: SFR_enableInterrupt(), and SFR_disableInterrupt(); the
      +
      29 // interruptFlagMask parameter for functions: SFR_getInterruptStatus(), and
      +
      30 // SFR_clearInterrupt() as well as returned by the SFR_getInterruptStatus()
      +
      31 // function.
      +
      32 //
      +
      33 //*****************************************************************************
      +
      34 #define SFR_JTAG_OUTBOX_INTERRUPT JMBOUTIE
      +
      35 #define SFR_JTAG_INBOX_INTERRUPT JMBINIE
      +
      36 #define SFR_NMI_PIN_INTERRUPT NMIIE
      +
      37 #define SFR_VACANT_MEMORY_ACCESS_INTERRUPT VMAIE
      +
      38 #define SFR_OSCILLATOR_FAULT_INTERRUPT OFIE
      +
      39 #define SFR_WATCHDOG_INTERVAL_TIMER_INTERRUPT WDTIE
      +
      40 #define SFR_FLASH_CONTROLLER_ACCESS_VIOLATION_INTERRUPT ACCVIE
      +
      41 
      +
      42 //*****************************************************************************
      +
      43 //
      +
      44 // The following are values that can be passed to the pullResistorSetup
      +
      45 // parameter for functions: SFR_setResetPinPullResistor().
      +
      46 //
      +
      47 //*****************************************************************************
      +
      48 #define SFR_RESISTORDISABLE (!(SYSRSTRE + SYSRSTUP))
      +
      49 #define SFR_RESISTORENABLE_PULLUP (SYSRSTRE + SYSRSTUP)
      +
      50 #define SFR_RESISTORENABLE_PULLDOWN (SYSRSTRE)
      +
      51 
      +
      52 //*****************************************************************************
      +
      53 //
      +
      54 // The following are values that can be passed to the edgeDirection parameter
      +
      55 // for functions: SFR_setNMIEdge().
      +
      56 //
      +
      57 //*****************************************************************************
      +
      58 #define SFR_NMI_RISINGEDGE (!(SYSNMIIES))
      +
      59 #define SFR_NMI_FALLINGEDGE (SYSNMIIES)
      +
      60 
      +
      61 //*****************************************************************************
      +
      62 //
      +
      63 // The following are values that can be passed to the resetPinFunction
      +
      64 // parameter for functions: SFR_setResetNMIPinFunction().
      +
      65 //
      +
      66 //*****************************************************************************
      +
      67 #define SFR_RESETPINFUNC_RESET (!(SYSNMI))
      +
      68 #define SFR_RESETPINFUNC_NMI (SYSNMI)
      +
      69 
      +
      70 //*****************************************************************************
      +
      71 //
      +
      72 // Prototypes for the APIs.
      +
      73 //
      +
      74 //*****************************************************************************
      +
      75 
      +
      76 //*****************************************************************************
      +
      77 //
      +
      100 //
      +
      101 //*****************************************************************************
      +
      102 extern void SFR_enableInterrupt(uint8_t interruptMask);
      +
      103 
      +
      104 //*****************************************************************************
      +
      105 //
      +
      128 //
      +
      129 //*****************************************************************************
      +
      130 extern void SFR_disableInterrupt(uint8_t interruptMask);
      +
      131 
      +
      132 //*****************************************************************************
      +
      133 //
      +
      169 //
      +
      170 //*****************************************************************************
      +
      171 extern uint8_t SFR_getInterruptStatus(uint8_t interruptFlagMask);
      +
      172 
      +
      173 //*****************************************************************************
      +
      174 //
      +
      196 //
      +
      197 //*****************************************************************************
      +
      198 extern void SFR_clearInterrupt(uint8_t interruptFlagMask);
      +
      199 
      +
      200 //*****************************************************************************
      +
      201 //
      +
      216 //
      +
      217 //*****************************************************************************
      +
      218 extern void SFR_setResetPinPullResistor(uint16_t pullResistorSetup);
      +
      219 
      +
      220 //*****************************************************************************
      +
      221 //
      +
      238 //
      +
      239 //*****************************************************************************
      +
      240 extern void SFR_setNMIEdge(uint16_t edgeDirection);
      +
      241 
      +
      242 //*****************************************************************************
      +
      243 //
      +
      259 //
      +
      260 //*****************************************************************************
      +
      261 extern void SFR_setResetNMIPinFunction(uint8_t resetPinFunction);
      +
      262 
      +
      263 //*****************************************************************************
      +
      264 //
      +
      265 // Mark the end of the C bindings section for C++ compilers.
      +
      266 //
      +
      267 //*****************************************************************************
      +
      268 #ifdef __cplusplus
      +
      269 }
      +
      270 #endif
      +
      271 
      +
      272 #endif
      +
      273 #endif // __MSP430WARE_SFR_H__
      + +
      +
      + + + + diff --git a/Documentation/html/software.html b/Documentation/html/software.html index 4f82d34..301c8e4 100644 --- a/Documentation/html/software.html +++ b/Documentation/html/software.html @@ -98,7 +98,7 @@ $(document).ready(function(){initNavTree('software.html',''); initResizable(); } diff --git a/Documentation/html/sysctl_8c.html b/Documentation/html/sysctl_8c.html new file mode 100644 index 0000000..2823c10 --- /dev/null +++ b/Documentation/html/sysctl_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sysctl.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sysctl.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/sysctl_8c_source.html b/Documentation/html/sysctl_8c_source.html new file mode 100644 index 0000000..3653eb4 --- /dev/null +++ b/Documentation/html/sysctl_8c_source.html @@ -0,0 +1,237 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sysctl.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sysctl.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // sysctl.c - Driver for the sysctl Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_SYS__
      +
      17 #include "sysctl.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void SysCtl_enableDedicatedJTAGPins (void)
      +
      22 {
      +
      23  HWREG8(SYS_BASE + OFS_SYSCTL_L) |= SYSJTAGPIN;
      +
      24 }
      +
      25 
      +
      26 uint8_t SysCtl_getBSLEntryIndication (void)
      +
      27 {
      +
      28  if ( HWREG8(SYS_BASE + OFS_SYSCTL_L) & SYSBSLIND){
      +
      29  return (SYSCTL_BSLENTRY_INDICATED) ;
      +
      30  } else {
      +
      31  return (SYSCTL_BSLENTRY_NOTINDICATED) ;
      +
      32  }
      +
      33 }
      +
      34 
      +
      35 void SysCtl_enablePMMAccessProtect (void)
      +
      36 {
      +
      37  HWREG8(SYS_BASE + OFS_SYSCTL_L) |= SYSPMMPE;
      +
      38 }
      +
      39 
      +
      40 void SysCtl_enableRAMBasedInterruptVectors (void)
      +
      41 {
      +
      42  HWREG8(SYS_BASE + OFS_SYSCTL_L) |= SYSRIVECT;
      +
      43 }
      +
      44 
      +
      45 void SysCtl_disableRAMBasedInterruptVectors (void)
      +
      46 {
      +
      47  HWREG8(SYS_BASE + OFS_SYSCTL_L) &= ~(SYSRIVECT);
      +
      48 }
      +
      49 
      +
      50 void SysCtl_enableBSLProtect (void)
      +
      51 {
      +
      52  HWREG16(SYS_BASE + OFS_SYSBSLC) |= SYSBSLPE;
      +
      53 }
      +
      54 
      +
      55 void SysCtl_disableBSLProtect (void)
      +
      56 {
      +
      57  HWREG16(SYS_BASE + OFS_SYSBSLC) &= ~(SYSBSLPE);
      +
      58 }
      +
      59 
      +
      60 void SysCtl_enableBSLMemory (void)
      +
      61 {
      +
      62  HWREG16(SYS_BASE + OFS_SYSBSLC) &= ~(SYSBSLOFF);
      +
      63 }
      +
      64 
      +
      65 void SysCtl_disableBSLMemory (void)
      +
      66 {
      +
      67  HWREG16(SYS_BASE + OFS_SYSBSLC) |= SYSBSLOFF;
      +
      68 }
      +
      69 
      +
      70 void SysCtl_setRAMAssignedToBSL (uint8_t BSLRAMAssignment)
      +
      71 {
      +
      72  HWREG8(SYS_BASE + OFS_SYSBSLC_L) &= ~(SYSBSLR);
      +
      73  HWREG8(SYS_BASE + OFS_SYSBSLC_L) |= BSLRAMAssignment;
      +
      74 }
      +
      75 
      +
      76 void SysCtl_setBSLSize (uint8_t BSLSizeSelect)
      +
      77 {
      +
      78  HWREG8(SYS_BASE + OFS_SYSBSLC_L) &= ~(SYSBSLSIZE0 + SYSBSLSIZE1);
      +
      79  HWREG8(SYS_BASE + OFS_SYSBSLC_L) |= BSLSizeSelect;
      +
      80 }
      +
      81 
      +
      82 void SysCtl_initJTAGMailbox (uint8_t mailboxSizeSelect,
      +
      83  uint8_t autoClearInboxFlagSelect)
      +
      84 {
      +
      85  HWREG8(SYS_BASE + OFS_SYSJMBC_L) &= ~(JMBCLR1OFF + JMBCLR0OFF + JMBMODE);
      +
      86  HWREG8(SYS_BASE + OFS_SYSJMBC_L) |=
      +
      87  mailboxSizeSelect + autoClearInboxFlagSelect;
      +
      88 }
      +
      89 
      +
      90 uint8_t SysCtl_getJTAGMailboxFlagStatus (uint8_t mailboxFlagMask)
      +
      91 {
      +
      92  return ( HWREG8(SYS_BASE + OFS_SYSJMBC_L) & mailboxFlagMask);
      +
      93 }
      +
      94 
      +
      95 void SysCtl_clearJTAGMailboxFlagStatus (uint8_t mailboxFlagMask)
      +
      96 {
      +
      97  HWREG8(SYS_BASE + OFS_SYSJMBC_L) &= ~(mailboxFlagMask);
      +
      98 }
      +
      99 
      +
      100 uint16_t SysCtl_getJTAGInboxMessage16Bit (uint8_t inboxSelect)
      +
      101 {
      +
      102  return ( HWREG16(SYS_BASE + OFS_SYSJMBI0 + inboxSelect) );
      +
      103 }
      +
      104 
      +
      105 uint32_t SysCtl_getJTAGInboxMessage32Bit (void)
      +
      106 {
      +
      107  uint32_t JTAGInboxMessageLow = HWREG16(SYS_BASE + OFS_SYSJMBI0);
      +
      108  uint32_t JTAGInboxMessageHigh = HWREG16(SYS_BASE + OFS_SYSJMBI1);
      +
      109 
      +
      110  return ( (JTAGInboxMessageHigh << 16) + JTAGInboxMessageLow );
      +
      111 }
      +
      112 
      +
      113 void SysCtl_setJTAGOutgoingMessage16Bit (uint8_t outboxSelect,
      +
      114  uint16_t outgoingMessage)
      +
      115 {
      +
      116  HWREG16(SYS_BASE + OFS_SYSJMBO0 + outboxSelect) = outgoingMessage;
      +
      117 }
      +
      118 
      +
      119 void SysCtl_setJTAGOutgoingMessage32Bit (uint32_t outgoingMessage)
      +
      120 {
      +
      121  HWREG16(SYS_BASE + OFS_SYSJMBO0) = (outgoingMessage);
      +
      122  HWREG16(SYS_BASE + OFS_SYSJMBO1) = (outgoingMessage >> 16);
      +
      123 }
      +
      124 
      +
      125 
      +
      126 #endif
      +
      127 //*****************************************************************************
      +
      128 //
      +
      131 //
      +
      132 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/sysctl_8h.html b/Documentation/html/sysctl_8h.html new file mode 100644 index 0000000..d40540c --- /dev/null +++ b/Documentation/html/sysctl_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sysctl.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sysctl.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/sysctl_8h_source.html b/Documentation/html/sysctl_8h_source.html new file mode 100644 index 0000000..f490d7b --- /dev/null +++ b/Documentation/html/sysctl_8h_source.html @@ -0,0 +1,336 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/sysctl.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      sysctl.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // sysctl.h - Driver for the SYSCTL Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_SYSCTL_H__
      +
      8 #define __MSP430WARE_SYSCTL_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_SYS__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 //*****************************************************************************
      +
      26 //
      +
      27 // The following are values that can be passed to the BSLRAMAssignment
      +
      28 // parameter for functions: SysCtl_setRAMAssignedToBSL().
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 #define SYSCTL_BSLRAMASSIGN_NORAM (!(SYSBSLR))
      +
      32 #define SYSCTL_BSLRAMASSIGN_LOWEST16BYTES (SYSBSLR)
      +
      33 
      +
      34 //*****************************************************************************
      +
      35 //
      +
      36 // The following are values that can be passed to the BSLSizeSelect parameter
      +
      37 // for functions: SysCtl_setBSLSize().
      +
      38 //
      +
      39 //*****************************************************************************
      +
      40 #define SYSCTL_BSLSIZE_SEG3 (~(SYSBSLSIZE0 + SYSBSLSIZE1))
      +
      41 #define SYSCTL_BSLSIZE_SEGS23 (SYSBSLSIZE0)
      +
      42 #define SYSCTL_BSLSIZE_SEGS123 (SYSBSLSIZE1)
      +
      43 #define SYSCTL_BSLSIZE_SEGS1234 (SYSBSLSIZE0 + SYSBSLSIZE1)
      +
      44 
      +
      45 //*****************************************************************************
      +
      46 //
      +
      47 // The following are values that can be passed to the mailboxSizeSelect
      +
      48 // parameter for functions: SysCtl_initJTAGMailbox().
      +
      49 //
      +
      50 //*****************************************************************************
      +
      51 #define SYSCTL_JTAGMBSIZE_16BIT (!(JMBMODE))
      +
      52 #define SYSCTL_JTAGMBSIZE_32BIT (JMBMODE)
      +
      53 
      +
      54 //*****************************************************************************
      +
      55 //
      +
      56 // The following are values that can be passed to the autoClearInboxFlagSelect
      +
      57 // parameter for functions: SysCtl_initJTAGMailbox().
      +
      58 //
      +
      59 //*****************************************************************************
      +
      60 #define SYSCTL_JTAGINBOX0AUTO_JTAGINBOX1AUTO (!(JMBCLR0OFF + JMBCLR1OFF))
      +
      61 #define SYSCTL_JTAGINBOX0AUTO_JTAGINBOX1SW (JMBCLR1OFF)
      +
      62 #define SYSCTL_JTAGINBOX0SW_JTAGINBOX1AUTO (JMBCLR0OFF)
      +
      63 #define SYSCTL_JTAGINBOX0SW_JTAGINBOX1SW (JMBCLR0OFF + JMBCLR1OFF)
      +
      64 
      +
      65 //*****************************************************************************
      +
      66 //
      +
      67 // The following are values that can be passed to the mailboxFlagMask parameter
      +
      68 // for functions: SysCtl_getJTAGMailboxFlagStatus(), and
      +
      69 // SysCtl_clearJTAGMailboxFlagStatus().
      +
      70 //
      +
      71 //*****************************************************************************
      +
      72 #define SYSCTL_JTAGOUTBOX_FLAG0 (JMBOUT0FG)
      +
      73 #define SYSCTL_JTAGOUTBOX_FLAG1 (JMBOUT1FG)
      +
      74 #define SYSCTL_JTAGINBOX_FLAG0 (JMBIN0FG)
      +
      75 #define SYSCTL_JTAGINBOX_FLAG1 (JMBIN1FG)
      +
      76 
      +
      77 //*****************************************************************************
      +
      78 //
      +
      79 // The following are values that can be passed to the inboxSelect parameter for
      +
      80 // functions: SysCtl_getJTAGInboxMessage16Bit().
      +
      81 //
      +
      82 //*****************************************************************************
      +
      83 #define SYSCTL_JTAGINBOX_0 (0x0)
      +
      84 #define SYSCTL_JTAGINBOX_1 (0x2)
      +
      85 
      +
      86 //*****************************************************************************
      +
      87 //
      +
      88 // The following are values that can be passed to the outboxSelect parameter
      +
      89 // for functions: SysCtl_setJTAGOutgoingMessage16Bit().
      +
      90 //
      +
      91 //*****************************************************************************
      +
      92 #define SYSCTL_JTAGOUTBOX_0 (0x0)
      +
      93 #define SYSCTL_JTAGOUTBOX_1 (0x2)
      +
      94 
      +
      95 //*****************************************************************************
      +
      96 //
      +
      97 // The following are values that can be passed toThe following are values that
      +
      98 // can be returned by the SysCtl_getBSLEntryIndication() function.
      +
      99 //
      +
      100 //*****************************************************************************
      +
      101 #define SYSCTL_BSLENTRY_INDICATED (0x1)
      +
      102 #define SYSCTL_BSLENTRY_NOTINDICATED (0x0)
      +
      103 
      +
      104 //*****************************************************************************
      +
      105 //
      +
      106 // Prototypes for the APIs.
      +
      107 //
      +
      108 //*****************************************************************************
      +
      109 
      +
      110 //*****************************************************************************
      +
      111 //
      +
      120 //
      +
      121 //*****************************************************************************
      +
      122 extern void SysCtl_enableDedicatedJTAGPins(void);
      +
      123 
      +
      124 //*****************************************************************************
      +
      125 //
      +
      136 //
      +
      137 //*****************************************************************************
      +
      138 extern uint8_t SysCtl_getBSLEntryIndication(void);
      +
      139 
      +
      140 //*****************************************************************************
      +
      141 //
      +
      149 //
      +
      150 //*****************************************************************************
      +
      151 extern void SysCtl_enablePMMAccessProtect(void);
      +
      152 
      +
      153 //*****************************************************************************
      +
      154 //
      +
      163 //
      +
      164 //*****************************************************************************
      +
      165 extern void SysCtl_enableRAMBasedInterruptVectors(void);
      +
      166 
      +
      167 //*****************************************************************************
      +
      168 //
      +
      176 //
      +
      177 //*****************************************************************************
      +
      178 extern void SysCtl_disableRAMBasedInterruptVectors(void);
      +
      179 
      +
      180 //*****************************************************************************
      +
      181 //
      +
      189 //
      +
      190 //*****************************************************************************
      +
      191 extern void SysCtl_enableBSLProtect(void);
      +
      192 
      +
      193 //*****************************************************************************
      +
      194 //
      +
      201 //
      +
      202 //*****************************************************************************
      +
      203 extern void SysCtl_disableBSLProtect(void);
      +
      204 
      +
      205 //*****************************************************************************
      +
      206 //
      +
      213 //
      +
      214 //*****************************************************************************
      +
      215 extern void SysCtl_enableBSLMemory(void);
      +
      216 
      +
      217 //*****************************************************************************
      +
      218 //
      +
      226 //
      +
      227 //*****************************************************************************
      +
      228 extern void SysCtl_disableBSLMemory(void);
      +
      229 
      +
      230 //*****************************************************************************
      +
      231 //
      +
      245 //
      +
      246 //*****************************************************************************
      +
      247 extern void SysCtl_setRAMAssignedToBSL(uint8_t BSLRAMAssignment);
      +
      248 
      +
      249 //*****************************************************************************
      +
      250 //
      +
      264 //
      +
      265 //*****************************************************************************
      +
      266 extern void SysCtl_setBSLSize(uint8_t BSLSizeSelect);
      +
      267 
      +
      268 //*****************************************************************************
      +
      269 //
      +
      306 //
      +
      307 //*****************************************************************************
      +
      308 extern void SysCtl_initJTAGMailbox(uint8_t mailboxSizeSelect,
      +
      309  uint8_t autoClearInboxFlagSelect);
      +
      310 
      +
      311 //*****************************************************************************
      +
      312 //
      +
      327 //
      +
      328 //*****************************************************************************
      +
      329 extern uint8_t SysCtl_getJTAGMailboxFlagStatus(uint8_t mailboxFlagMask);
      +
      330 
      +
      331 //*****************************************************************************
      +
      332 //
      +
      346 //
      +
      347 //*****************************************************************************
      +
      348 extern void SysCtl_clearJTAGMailboxFlagStatus(uint8_t mailboxFlagMask);
      +
      349 
      +
      350 //*****************************************************************************
      +
      351 //
      +
      365 //
      +
      366 //*****************************************************************************
      +
      367 extern uint16_t SysCtl_getJTAGInboxMessage16Bit(uint8_t inboxSelect);
      +
      368 
      +
      369 //*****************************************************************************
      +
      370 //
      +
      381 //
      +
      382 //*****************************************************************************
      +
      383 extern uint32_t SysCtl_getJTAGInboxMessage32Bit(void);
      +
      384 
      +
      385 //*****************************************************************************
      +
      386 //
      +
      402 //
      +
      403 //*****************************************************************************
      +
      404 extern void SysCtl_setJTAGOutgoingMessage16Bit(uint8_t outboxSelect,
      +
      405  uint16_t outgoingMessage);
      +
      406 
      +
      407 //*****************************************************************************
      +
      408 //
      +
      419 //
      +
      420 //*****************************************************************************
      +
      421 extern void SysCtl_setJTAGOutgoingMessage32Bit(uint32_t outgoingMessage);
      +
      422 
      +
      423 //*****************************************************************************
      +
      424 //
      +
      425 // Mark the end of the C bindings section for C++ compilers.
      +
      426 //
      +
      427 //*****************************************************************************
      +
      428 #ifdef __cplusplus
      +
      429 }
      +
      430 #endif
      +
      431 
      +
      432 #endif
      +
      433 #endif // __MSP430WARE_SYSCTL_H__
      + +
      +
      + + + + diff --git a/Documentation/html/tec_8c.html b/Documentation/html/tec_8c.html new file mode 100644 index 0000000..9d6fec5 --- /dev/null +++ b/Documentation/html/tec_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/tec.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      tec.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/tec_8c_source.html b/Documentation/html/tec_8c_source.html new file mode 100644 index 0000000..a7fac9c --- /dev/null +++ b/Documentation/html/tec_8c_source.html @@ -0,0 +1,255 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/tec.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      tec.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // tec.c - Driver for the tec Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_TEV0__
      +
      17 #include "tec.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void TEC_initExternalClearInput (uint16_t baseAddress,
      +
      22  uint8_t signalType,
      +
      23  uint8_t signalHold,
      +
      24  uint8_t polarityBit
      +
      25  )
      +
      26 {
      +
      27  HWREG8(baseAddress + OFS_TEC0XCTL2_L) &= ~(TEC_EXTERNAL_CLEAR_SIGNALTYPE_LEVEL_SENSITIVE +
      +
      28  TEC_EXTERNAL_CLEAR_SIGNAL_HELD +
      +
      29  TEC_EXTERNAL_CLEAR_POLARITY_RISING_EDGE_OR_HIGH_LEVEL
      +
      30  );
      +
      31 
      +
      32  HWREG8(baseAddress + OFS_TEC0XCTL2_L) |= (signalType +
      +
      33  signalHold +
      +
      34  polarityBit
      +
      35  );
      +
      36 }
      +
      37 
      +
      38 void TEC_initExternalFaultInput(uint16_t baseAddress,
      +
      39  TEC_initExternalFaultInputParam *param)
      +
      40 {
      +
      41  HWREG8(baseAddress + OFS_TEC0XCTL2_L) &= ~((TEC_EXTERNAL_FAULT_SIGNALTYPE_LEVEL_SENSITIVE << param->selectedExternalFault)+
      +
      42  (TEC_EXTERNAL_FAULT_POLARITY_RISING_EDGE_OR_HIGH_LEVEL << param->selectedExternalFault)+
      +
      43  (TEC_EXTERNAL_FAULT_SIGNAL_HELD << param->selectedExternalFault )
      +
      44  );
      +
      45 
      +
      46  HWREG8(baseAddress + OFS_TEC0XCTL2_L) |= ((param->signalType << param->selectedExternalFault)+
      +
      47  (param->polarityBit << param->selectedExternalFault) +
      +
      48  (param->signalHold << param->selectedExternalFault )
      +
      49  );
      +
      50 }
      +
      51 
      +
      52 void TEC_enableExternalFaultInput (uint16_t baseAddress,
      +
      53  uint8_t channelEventBlock
      +
      54  )
      +
      55 {
      +
      56  HWREG8(baseAddress + OFS_TEC0XCTL0_H) |= (1 << channelEventBlock );
      +
      57 }
      +
      58 
      +
      59 void TEC_disableExternalFaultInput (uint16_t baseAddress,
      +
      60  uint8_t channelEventBlock
      +
      61  )
      +
      62 {
      +
      63  HWREG8(baseAddress + OFS_TEC0XCTL0_H) &= ~(1 << channelEventBlock );
      +
      64 }
      +
      65 
      +
      66 void TEC_enableExternalClearInput (uint16_t baseAddress )
      +
      67 {
      +
      68  HWREG8(baseAddress + OFS_TEC0XCTL2_L) |= TECEXCLREN;
      +
      69 }
      +
      70 
      +
      71 void TEC_disableExternalClearInput (uint16_t baseAddress )
      +
      72 {
      +
      73  HWREG8(baseAddress + OFS_TEC0XCTL2_L) &= ~TECEXCLREN;
      +
      74 }
      +
      75 
      +
      76 void TEC_enableAuxiliaryClearSignal (uint16_t baseAddress )
      +
      77 {
      +
      78  HWREG8(baseAddress + OFS_TEC0XCTL2_L) |= TECAXCLREN;
      +
      79 }
      +
      80 
      +
      81 void TEC_disableAuxiliaryClearSignal (uint16_t baseAddress )
      +
      82 {
      +
      83  HWREG8(baseAddress + OFS_TEC0XCTL2_L) &= ~TECAXCLREN;
      +
      84 }
      +
      85 
      +
      86 void TEC_clearInterrupt (uint16_t baseAddress,
      +
      87  uint8_t mask
      +
      88  )
      +
      89 {
      +
      90  HWREG8(baseAddress + OFS_TEC0XINT_L) &= ~mask;
      +
      91 }
      +
      92 
      +
      93 uint8_t TEC_getInterruptStatus (uint16_t baseAddress,
      +
      94  uint8_t mask
      +
      95  )
      +
      96 {
      +
      97  //Return the interrupt status of the request masked bit.
      +
      98  return (HWREG8(baseAddress + OFS_TEC0XINT_L) & mask);
      +
      99 }
      +
      100 
      +
      101 void TEC_enableInterrupt (uint16_t baseAddress,
      +
      102  uint8_t mask
      +
      103  )
      +
      104 {
      +
      105  //Enable the interrupt masked bit
      +
      106  HWREG8(baseAddress + OFS_TEC0XINT_H) |= mask;
      +
      107 }
      +
      108 
      +
      109 void TEC_disableInterrupt (uint16_t baseAddress,
      +
      110  uint8_t mask
      +
      111  )
      +
      112 {
      +
      113  //Disable the interrupt masked bit
      +
      114  HWREG8(baseAddress + OFS_TEC0XINT_H) &= ~(mask);
      +
      115 }
      +
      116 
      +
      117 uint8_t TEC_getExternalFaultStatus (uint16_t baseAddress,
      +
      118  uint8_t mask
      +
      119  )
      +
      120 {
      +
      121  //Return the interrupt status of the request masked bit.
      +
      122  return (HWREG8(baseAddress + OFS_TEC0STA_L) & mask);
      +
      123 }
      +
      124 
      +
      125 void TEC_clearExternalFaultStatus (uint16_t baseAddress,
      +
      126  uint8_t mask
      +
      127  )
      +
      128 {
      +
      129  HWREG8(baseAddress + OFS_TEC0STA_L) &= ~mask;
      +
      130 }
      +
      131 
      +
      132 uint8_t TEC_getExternalClearStatus (uint16_t baseAddress)
      +
      133 
      +
      134 {
      +
      135  //Return the interrupt status of the request masked bit.
      +
      136  return (HWREG8(baseAddress + OFS_TEC0STA_L) & TECXCLRSTA);
      +
      137 }
      +
      138 
      +
      139 void TEC_clearExternalClearStatus (uint16_t baseAddress)
      +
      140 {
      +
      141  HWREG8(baseAddress + OFS_TEC0STA_L) &= ~TECXCLRSTA;
      +
      142 }
      +
      143 
      +
      144 
      +
      145 #endif
      +
      146 //*****************************************************************************
      +
      147 //
      +
      150 //
      +
      151 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      + +
      +
      + + + + diff --git a/Documentation/html/tec_8h.html b/Documentation/html/tec_8h.html new file mode 100644 index 0000000..31d7fa6 --- /dev/null +++ b/Documentation/html/tec_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/tec.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      tec.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/tec_8h_source.html b/Documentation/html/tec_8h_source.html new file mode 100644 index 0000000..457c9b2 --- /dev/null +++ b/Documentation/html/tec_8h_source.html @@ -0,0 +1,374 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/tec.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      tec.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // tec.h - Driver for the TEC Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_TEC_H__
      +
      8 #define __MSP430WARE_TEC_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_TEV0__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      30 //
      +
      31 //*****************************************************************************
      +
      32 typedef struct TEC_initExternalFaultInputParam {
      +
      42  uint8_t selectedExternalFault;
      +
      47  uint16_t signalType;
      +
      52  uint8_t signalHold;
      +
      57  uint8_t polarityBit;
      +
      58 } TEC_initExternalFaultInputParam;
      +
      59 
      +
      60 
      +
      61 //*****************************************************************************
      +
      62 //
      +
      63 // The following are values that can be passed to the signalHold parameter for
      +
      64 // functions: TEC_initExternalClearInput().
      +
      65 //
      +
      66 //*****************************************************************************
      +
      67 #define TEC_EXTERNAL_CLEAR_SIGNAL_NOT_HELD 0x00
      +
      68 #define TEC_EXTERNAL_CLEAR_SIGNAL_HELD TECEXCLRHLD
      +
      69 
      +
      70 //*****************************************************************************
      +
      71 //
      +
      72 // The following are values that can be passed to the param parameter for
      +
      73 // functions: TEC_initExternalFaultInput().
      +
      74 //
      +
      75 //*****************************************************************************
      +
      76 #define TEC_EXTERNAL_FAULT_SIGNAL_NOT_HELD 0x00
      +
      77 #define TEC_EXTERNAL_FAULT_SIGNAL_HELD TECXFLTHLD0
      +
      78 
      +
      79 //*****************************************************************************
      +
      80 //
      +
      81 // The following are values that can be passed to the polarityBit parameter for
      +
      82 // functions: TEC_initExternalClearInput().
      +
      83 //
      +
      84 //*****************************************************************************
      +
      85 #define TEC_EXTERNAL_CLEAR_POLARITY_FALLING_EDGE_OR_LOW_LEVEL 0x00
      +
      86 #define TEC_EXTERNAL_CLEAR_POLARITY_RISING_EDGE_OR_HIGH_LEVEL TECEXCLRPOL
      +
      87 
      +
      88 //*****************************************************************************
      +
      89 //
      +
      90 // The following are values that can be passed to the param parameter for
      +
      91 // functions: TEC_initExternalFaultInput().
      +
      92 //
      +
      93 //*****************************************************************************
      +
      94 #define TEC_EXTERNAL_FAULT_POLARITY_FALLING_EDGE_OR_LOW_LEVEL 0x00
      +
      95 #define TEC_EXTERNAL_FAULT_POLARITY_RISING_EDGE_OR_HIGH_LEVEL TECXFLTPOL0
      +
      96 
      +
      97 //*****************************************************************************
      +
      98 //
      +
      99 // The following are values that can be passed to the signalType parameter for
      +
      100 // functions: TEC_initExternalClearInput().
      +
      101 //
      +
      102 //*****************************************************************************
      +
      103 #define TEC_EXTERNAL_CLEAR_SIGNALTYPE_EDGE_SENSITIVE 0x00
      +
      104 #define TEC_EXTERNAL_CLEAR_SIGNALTYPE_LEVEL_SENSITIVE TECEXCLRLVS
      +
      105 
      +
      106 //*****************************************************************************
      +
      107 //
      +
      108 // The following are values that can be passed to the param parameter for
      +
      109 // functions: TEC_initExternalFaultInput().
      +
      110 //
      +
      111 //*****************************************************************************
      +
      112 #define TEC_EXTERNAL_FAULT_SIGNALTYPE_EDGE_SENSITIVE 0x00
      +
      113 #define TEC_EXTERNAL_FAULT_SIGNALTYPE_LEVEL_SENSITIVE TECXFLTLVS0
      +
      114 
      +
      115 //*****************************************************************************
      +
      116 //
      +
      117 // The following are values that can be passed to the param parameter for
      +
      118 // functions: TEC_initExternalFaultInput().
      +
      119 //
      +
      120 //*****************************************************************************
      +
      121 #define TEC_EXTERNAL_FAULT_0 0
      +
      122 #define TEC_EXTERNAL_FAULT_1 1
      +
      123 #define TEC_EXTERNAL_FAULT_2 2
      +
      124 #define TEC_EXTERNAL_FAULT_3 3
      +
      125 #define TEC_EXTERNAL_FAULT_4 4
      +
      126 #define TEC_EXTERNAL_FAULT_5 5
      +
      127 #define TEC_EXTERNAL_FAULT_6 6
      +
      128 
      +
      129 //*****************************************************************************
      +
      130 //
      +
      131 // The following are values that can be passed to the channelEventBlock
      +
      132 // parameter for functions: TEC_enableExternalFaultInput(), and
      +
      133 // TEC_disableExternalFaultInput(); the mask parameter for functions:
      +
      134 // TEC_clearExternalFaultStatus(), and TEC_getExternalFaultStatus() as well as
      +
      135 // returned by the TEC_getExternalFaultStatus() function.
      +
      136 //
      +
      137 //*****************************************************************************
      +
      138 #define TEC_CE0 TECXFLT0STA
      +
      139 #define TEC_CE1 TECXFLT1STA
      +
      140 #define TEC_CE2 TECXFLT2STA
      +
      141 #define TEC_CE3 TECXFLT3STA
      +
      142 #define TEC_CE4 TECXFLT4STA
      +
      143 #define TEC_CE5 TECXFLT5STA
      +
      144 #define TEC_CE6 TECXFLT6STA
      +
      145 
      +
      146 //*****************************************************************************
      +
      147 //
      +
      148 // The following are values that can be passed to the mask parameter for
      +
      149 // functions: TEC_clearInterrupt(), TEC_getInterruptStatus(),
      +
      150 // TEC_enableInterrupt(), and TEC_disableInterrupt() as well as returned by the
      +
      151 // TEC_getInterruptStatus() function.
      +
      152 //
      +
      153 //*****************************************************************************
      +
      154 #define TEC_EXTERNAL_FAULT_INTERRUPT TECXFLTIFG
      +
      155 #define TEC_EXTERNAL_CLEAR_INTERRUPT TECEXCLRIFG
      +
      156 #define TEC_AUXILIARY_CLEAR_INTERRUPT TECAXCLRIFG
      +
      157 
      +
      158 //*****************************************************************************
      +
      159 //
      +
      160 // The following are values that can be passed toThe following are values that
      +
      161 // can be returned by the TEC_getExternalClearStatus() function.
      +
      162 //
      +
      163 //*****************************************************************************
      +
      164 #define TEC_EXTERNAL_CLEAR_DETECTED TECXCLRSTA
      +
      165 #define TEC_EXTERNAL_CLEAR_NOT_DETECTED 0x00
      +
      166 
      +
      167 //*****************************************************************************
      +
      168 //
      +
      169 // Prototypes for the APIs.
      +
      170 //
      +
      171 //*****************************************************************************
      +
      172 
      +
      173 //*****************************************************************************
      +
      174 //
      +
      194 //
      +
      195 //*****************************************************************************
      +
      196 extern void TEC_initExternalClearInput(uint16_t baseAddress,
      +
      197  uint8_t signalType,
      +
      198  uint8_t signalHold,
      +
      199  uint8_t polarityBit);
      +
      200 
      +
      201 //*****************************************************************************
      +
      202 //
      +
      212 //
      +
      213 //*****************************************************************************
      +
      214 extern void TEC_initExternalFaultInput(uint16_t baseAddress,
      +
      215  TEC_initExternalFaultInputParam *param);
      +
      216 
      +
      217 //*****************************************************************************
      +
      218 //
      +
      235 //
      +
      236 //*****************************************************************************
      +
      237 extern void TEC_enableExternalFaultInput(uint16_t baseAddress,
      +
      238  uint8_t channelEventBlock);
      +
      239 
      +
      240 //*****************************************************************************
      +
      241 //
      +
      258 //
      +
      259 //*****************************************************************************
      +
      260 extern void TEC_disableExternalFaultInput(uint16_t baseAddress,
      +
      261  uint8_t channelEventBlock);
      +
      262 
      +
      263 //*****************************************************************************
      +
      264 //
      +
      272 //
      +
      273 //*****************************************************************************
      +
      274 extern void TEC_enableExternalClearInput(uint16_t baseAddress);
      +
      275 
      +
      276 //*****************************************************************************
      +
      277 //
      +
      285 //
      +
      286 //*****************************************************************************
      +
      287 extern void TEC_disableExternalClearInput(uint16_t baseAddress);
      +
      288 
      +
      289 //*****************************************************************************
      +
      290 //
      +
      298 //
      +
      299 //*****************************************************************************
      +
      300 extern void TEC_enableAuxiliaryClearSignal(uint16_t baseAddress);
      +
      301 
      +
      302 //*****************************************************************************
      +
      303 //
      +
      311 //
      +
      312 //*****************************************************************************
      +
      313 extern void TEC_disableAuxiliaryClearSignal(uint16_t baseAddress);
      +
      314 
      +
      315 //*****************************************************************************
      +
      316 //
      +
      329 //
      +
      330 //*****************************************************************************
      +
      331 extern void TEC_clearInterrupt(uint16_t baseAddress,
      +
      332  uint8_t mask);
      +
      333 
      +
      334 //*****************************************************************************
      +
      335 //
      +
      353 //
      +
      354 //*****************************************************************************
      +
      355 extern uint8_t TEC_getInterruptStatus(uint16_t baseAddress,
      +
      356  uint8_t mask);
      +
      357 
      +
      358 //*****************************************************************************
      +
      359 //
      +
      377 //
      +
      378 //*****************************************************************************
      +
      379 extern void TEC_enableInterrupt(uint16_t baseAddress,
      +
      380  uint8_t mask);
      +
      381 
      +
      382 //*****************************************************************************
      +
      383 //
      +
      400 //
      +
      401 //*****************************************************************************
      +
      402 extern void TEC_disableInterrupt(uint16_t baseAddress,
      +
      403  uint8_t mask);
      +
      404 
      +
      405 //*****************************************************************************
      +
      406 //
      +
      432 //
      +
      433 //*****************************************************************************
      +
      434 extern uint8_t TEC_getExternalFaultStatus(uint16_t baseAddress,
      +
      435  uint8_t mask);
      +
      436 
      +
      437 //*****************************************************************************
      +
      438 //
      +
      455 //
      +
      456 //*****************************************************************************
      +
      457 extern void TEC_clearExternalFaultStatus(uint16_t baseAddress,
      +
      458  uint8_t mask);
      +
      459 
      +
      460 //*****************************************************************************
      +
      461 //
      +
      470 //
      +
      471 //*****************************************************************************
      +
      472 extern uint8_t TEC_getExternalClearStatus(uint16_t baseAddress);
      +
      473 
      +
      474 //*****************************************************************************
      +
      475 //
      +
      483 //
      +
      484 //*****************************************************************************
      +
      485 extern void TEC_clearExternalClearStatus(uint16_t baseAddress);
      +
      486 
      +
      487 //*****************************************************************************
      +
      488 //
      +
      489 // Mark the end of the C bindings section for C++ compilers.
      +
      490 //
      +
      491 //*****************************************************************************
      +
      492 #ifdef __cplusplus
      +
      493 }
      +
      494 #endif
      +
      495 
      +
      496 #endif
      +
      497 #endif // __MSP430WARE_TEC_H__
      + +
      +
      + + + + diff --git a/Documentation/html/timer__a_8c.html b/Documentation/html/timer__a_8c.html new file mode 100644 index 0000000..6a75492 --- /dev/null +++ b/Documentation/html/timer__a_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_a.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_a.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/timer__a_8c_source.html b/Documentation/html/timer__a_8c_source.html new file mode 100644 index 0000000..fb858a3 --- /dev/null +++ b/Documentation/html/timer__a_8c_source.html @@ -0,0 +1,437 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_a.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_a.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // timer_a.c - Driver for the timer_a Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_TxA7__
      +
      17 #include "timer_a.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void Timer_A_startCounter ( uint16_t baseAddress,
      +
      22  uint16_t timerMode
      +
      23  )
      +
      24 {
      +
      25  HWREG16(baseAddress + OFS_TAxCTL) &= ~MC_3;
      +
      26  HWREG16(baseAddress + OFS_TAxCTL) |= timerMode;
      +
      27 }
      +
      28 
      +
      29 void Timer_A_initContinuousMode (uint16_t baseAddress,
      +
      30  Timer_A_initContinuousModeParam *param)
      +
      31 {
      +
      32 
      +
      33  HWREG16(baseAddress +
      +
      34  OFS_TAxCTL) &= ~(TIMER_A_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK +
      +
      35  TIMER_A_UPDOWN_MODE +
      +
      36  TIMER_A_DO_CLEAR +
      +
      37  TIMER_A_TAIE_INTERRUPT_ENABLE +
      +
      38  ID__8
      +
      39  );
      +
      40  HWREG16(baseAddress + OFS_TAxEX0) &= ~TAIDEX_7;
      +
      41 
      +
      42  HWREG16(baseAddress + OFS_TAxEX0) |= param->clockSourceDivider&0x7;
      +
      43  HWREG16(baseAddress + OFS_TAxCTL) |= (param->clockSource +
      +
      44  param->timerClear +
      +
      45  param->timerInterruptEnable_TAIE +
      +
      46  ((param->clockSourceDivider>>3)<<6));
      +
      47 
      +
      48  if(param->startTimer) {
      +
      49  HWREG16(baseAddress + OFS_TAxCTL) |= TIMER_A_CONTINUOUS_MODE;
      +
      50  }
      +
      51 }
      +
      52 
      +
      53 void Timer_A_initUpMode (uint16_t baseAddress,
      +
      54  Timer_A_initUpModeParam *param)
      +
      55 {
      +
      56 
      +
      57  HWREG16(baseAddress + OFS_TAxCTL) &=
      +
      58  ~(TIMER_A_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK +
      +
      59  TIMER_A_UPDOWN_MODE +
      +
      60  TIMER_A_DO_CLEAR +
      +
      61  TIMER_A_TAIE_INTERRUPT_ENABLE +
      +
      62  ID__8
      +
      63  );
      +
      64  HWREG16(baseAddress + OFS_TAxEX0) &= ~TAIDEX_7;
      +
      65 
      +
      66  HWREG16(baseAddress + OFS_TAxEX0) |= param->clockSourceDivider&0x7;
      +
      67  HWREG16(baseAddress + OFS_TAxCTL) |= (param->clockSource +
      +
      68  param->timerClear +
      +
      69  param->timerInterruptEnable_TAIE +
      +
      70  ((param->clockSourceDivider>>3)<<6));
      +
      71 
      +
      72  if (param->startTimer) {
      +
      73  HWREG16(baseAddress + OFS_TAxCTL) |= TIMER_A_UP_MODE;
      +
      74  }
      +
      75 
      +
      76  if (TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE ==
      +
      77  param->captureCompareInterruptEnable_CCR0_CCIE){
      +
      78  HWREG16(baseAddress + OFS_TAxCCTL0) |= TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      79  } else {
      +
      80  HWREG16(baseAddress + OFS_TAxCCTL0) &= ~TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      81  }
      +
      82 
      +
      83  HWREG16(baseAddress + OFS_TAxCCR0) = param->timerPeriod;
      +
      84 }
      +
      85 
      +
      86 void Timer_A_initUpDownMode(uint16_t baseAddress,
      +
      87  Timer_A_initUpDownModeParam *param)
      +
      88 {
      +
      89  HWREG16(baseAddress + OFS_TAxCTL) &=
      +
      90  ~(TIMER_A_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK +
      +
      91  TIMER_A_UPDOWN_MODE +
      +
      92  TIMER_A_DO_CLEAR +
      +
      93  TIMER_A_TAIE_INTERRUPT_ENABLE +
      +
      94  ID__8
      +
      95  );
      +
      96  HWREG16(baseAddress + OFS_TAxEX0) &= ~TAIDEX_7;
      +
      97 
      +
      98  HWREG16(baseAddress + OFS_TAxEX0) |= param->clockSourceDivider&0x7;
      +
      99  HWREG16(baseAddress + OFS_TAxCTL) |= (param->clockSource +
      +
      100  param->timerClear +
      +
      101  param->timerInterruptEnable_TAIE +
      +
      102  ((param->clockSourceDivider>>3)<<6));
      +
      103 
      +
      104  if (param->startTimer) {
      +
      105  HWREG16(baseAddress + OFS_TAxCTL) |= TIMER_A_UPDOWN_MODE;
      +
      106  }
      +
      107 
      +
      108  if (TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE ==
      +
      109  param->captureCompareInterruptEnable_CCR0_CCIE){
      +
      110  HWREG16(baseAddress + OFS_TAxCCTL0) |= TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      111  } else {
      +
      112  HWREG16(baseAddress + OFS_TAxCCTL0) &= ~TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      113  }
      +
      114 
      +
      115  HWREG16(baseAddress + OFS_TAxCCR0) = param->timerPeriod;
      +
      116 }
      +
      117 
      +
      118 void Timer_A_initCaptureMode(uint16_t baseAddress,
      +
      119  Timer_A_initCaptureModeParam *param)
      +
      120 {
      +
      121  HWREG16(baseAddress + param->captureRegister ) |= CAP;
      +
      122 
      +
      123  HWREG16(baseAddress + param->captureRegister) &=
      +
      124  ~(TIMER_A_CAPTUREMODE_RISING_AND_FALLING_EDGE +
      +
      125  TIMER_A_CAPTURE_INPUTSELECT_Vcc +
      +
      126  TIMER_A_CAPTURE_SYNCHRONOUS +
      +
      127  TIMER_A_DO_CLEAR +
      +
      128  TIMER_A_TAIE_INTERRUPT_ENABLE +
      +
      129  CM_3
      +
      130  );
      +
      131 
      +
      132  HWREG16(baseAddress + param->captureRegister) |= (param->captureMode +
      +
      133  param->captureInputSelect +
      +
      134  param->synchronizeCaptureSource +
      +
      135  param->captureInterruptEnable +
      +
      136  param->captureOutputMode
      +
      137  );
      +
      138 }
      +
      139 
      +
      140 void Timer_A_initCompareMode(uint16_t baseAddress,
      +
      141  Timer_A_initCompareModeParam *param)
      +
      142 {
      +
      143  HWREG16(baseAddress + param->compareRegister ) &= ~CAP;
      +
      144 
      +
      145  HWREG16(baseAddress + param->compareRegister) &=
      +
      146  ~(TIMER_A_CAPTURECOMPARE_INTERRUPT_ENABLE +
      +
      147  TIMER_A_OUTPUTMODE_RESET_SET
      +
      148  );
      +
      149 
      +
      150  HWREG16(baseAddress + param->compareRegister) |= (param->compareInterruptEnable +
      +
      151  param->compareOutputMode
      +
      152  );
      +
      153 
      +
      154  HWREG16(baseAddress + param->compareRegister + OFS_TAxR) = param->compareValue;
      +
      155 }
      +
      156 
      +
      157 void Timer_A_enableInterrupt (uint16_t baseAddress)
      +
      158 {
      +
      159  HWREG16(baseAddress + OFS_TAxCTL) |= TAIE;
      +
      160 }
      +
      161 
      +
      162 void Timer_A_disableInterrupt (uint16_t baseAddress)
      +
      163 {
      +
      164  HWREG16(baseAddress + OFS_TAxCTL) &= ~TAIE;
      +
      165 }
      +
      166 
      +
      167 uint32_t Timer_A_getInterruptStatus (uint16_t baseAddress)
      +
      168 {
      +
      169  return ( HWREG16(baseAddress + OFS_TAxCTL) & TAIFG );
      +
      170 }
      +
      171 
      +
      172 void Timer_A_enableCaptureCompareInterrupt (uint16_t baseAddress,
      +
      173  uint16_t captureCompareRegister
      +
      174  )
      +
      175 {
      +
      176  HWREG16(baseAddress + captureCompareRegister) |= CCIE;
      +
      177 }
      +
      178 
      +
      179 void Timer_A_disableCaptureCompareInterrupt (uint16_t baseAddress,
      +
      180  uint16_t captureCompareRegister
      +
      181  )
      +
      182 {
      +
      183  HWREG16(baseAddress + captureCompareRegister) &= ~CCIE;
      +
      184 }
      +
      185 
      +
      186 uint32_t Timer_A_getCaptureCompareInterruptStatus (uint16_t baseAddress,
      +
      187  uint16_t captureCompareRegister,
      +
      188  uint16_t mask
      +
      189  )
      +
      190 {
      +
      191  return ( HWREG16(baseAddress + captureCompareRegister) & mask );
      +
      192 }
      +
      193 
      +
      194 void Timer_A_clear (uint16_t baseAddress)
      +
      195 {
      +
      196  HWREG16(baseAddress + OFS_TAxCTL) |= TACLR;
      +
      197 }
      +
      198 
      +
      199 uint8_t Timer_A_getSynchronizedCaptureCompareInput
      +
      200  (uint16_t baseAddress,
      +
      201  uint16_t captureCompareRegister,
      +
      202  uint16_t synchronized
      +
      203  )
      +
      204 {
      +
      205  if (HWREG16(baseAddress + captureCompareRegister) & synchronized){
      +
      206  return ( TIMER_A_CAPTURECOMPARE_INPUT_HIGH) ;
      +
      207  } else {
      +
      208  return ( TIMER_A_CAPTURECOMPARE_INPUT_LOW) ;
      +
      209  }
      +
      210 }
      +
      211 
      +
      212 uint8_t Timer_A_getOutputForOutputModeOutBitValue
      +
      213  (uint16_t baseAddress,
      +
      214  uint16_t captureCompareRegister
      +
      215  )
      +
      216 {
      +
      217  if (HWREG16(baseAddress + captureCompareRegister) & OUT){
      +
      218  return ( TIMER_A_OUTPUTMODE_OUTBITVALUE_HIGH) ;
      +
      219  } else {
      +
      220  return ( TIMER_A_OUTPUTMODE_OUTBITVALUE_LOW) ;
      +
      221  }
      +
      222 }
      +
      223 
      +
      224 uint16_t Timer_A_getCaptureCompareCount
      +
      225  (uint16_t baseAddress,
      +
      226  uint16_t captureCompareRegister
      +
      227  )
      +
      228 {
      +
      229  return (HWREG16(baseAddress + OFS_TAxR + captureCompareRegister));
      +
      230 }
      +
      231 
      +
      232 void Timer_A_setOutputForOutputModeOutBitValue
      +
      233  (uint16_t baseAddress,
      +
      234  uint16_t captureCompareRegister,
      +
      235  uint8_t outputModeOutBitValue
      +
      236  )
      +
      237 {
      +
      238 
      +
      239  HWREG16(baseAddress + captureCompareRegister) &= ~OUT;
      +
      240  HWREG16(baseAddress + captureCompareRegister) |= outputModeOutBitValue;
      +
      241 }
      +
      242 
      +
      243 void Timer_A_outputPWM(uint16_t baseAddress, Timer_A_outputPWMParam *param)
      +
      244 {
      +
      245  HWREG16(baseAddress + OFS_TAxCTL) &=
      +
      246  ~( TIMER_A_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK +
      +
      247  TIMER_A_UPDOWN_MODE + TIMER_A_DO_CLEAR +
      +
      248  TIMER_A_TAIE_INTERRUPT_ENABLE +
      +
      249  ID__8
      +
      250  );
      +
      251  HWREG16(baseAddress + OFS_TAxEX0) &= ~TAIDEX_7;
      +
      252 
      +
      253  HWREG16(baseAddress + OFS_TAxEX0) |= param->clockSourceDivider&0x7;
      +
      254  HWREG16(baseAddress + OFS_TAxCTL) |= (param->clockSource +
      +
      255  TIMER_A_UP_MODE +
      +
      256  TIMER_A_DO_CLEAR +
      +
      257  ((param->clockSourceDivider>>3)<<6));
      +
      258 
      +
      259  HWREG16(baseAddress + OFS_TAxCCR0) = param->timerPeriod;
      +
      260 
      +
      261  HWREG16(baseAddress + OFS_TAxCCTL0) &=
      +
      262  ~(TIMER_A_CAPTURECOMPARE_INTERRUPT_ENABLE +
      +
      263  TIMER_A_OUTPUTMODE_RESET_SET);
      +
      264 
      +
      265  HWREG16(baseAddress + param->compareRegister) |= param->compareOutputMode;
      +
      266 
      +
      267  HWREG16(baseAddress + param->compareRegister + OFS_TAxR) = param->dutyCycle;
      +
      268 }
      +
      269 
      +
      270 void Timer_A_stop ( uint16_t baseAddress )
      +
      271 {
      +
      272  HWREG16(baseAddress + OFS_TAxCTL) &= ~MC_3;
      +
      273 }
      +
      274 
      +
      275 void Timer_A_setCompareValue ( uint16_t baseAddress,
      +
      276  uint16_t compareRegister,
      +
      277  uint16_t compareValue
      +
      278  )
      +
      279 {
      +
      280  HWREG16(baseAddress + compareRegister + OFS_TAxR) = compareValue;
      +
      281 }
      +
      282 
      +
      283 void Timer_A_setOutputMode(uint16_t baseAddress,
      +
      284  uint16_t compareRegister,
      +
      285  uint16_t compareOutputMode)
      +
      286 {
      +
      287  uint16_t temp = HWREG16(baseAddress + compareRegister);
      +
      288  HWREG16(baseAddress + compareRegister) = temp & ~(OUTMOD_7) | compareOutputMode;
      +
      289 }
      +
      290 void Timer_A_clearTimerInterrupt (uint16_t baseAddress)
      +
      291 {
      +
      292  HWREG16(baseAddress + OFS_TAxCTL) &= ~TAIFG;
      +
      293 }
      +
      294 
      +
      295 void Timer_A_clearCaptureCompareInterrupt (uint16_t baseAddress,
      +
      296  uint16_t captureCompareRegister
      +
      297  )
      +
      298 {
      +
      299  HWREG16(baseAddress + captureCompareRegister) &= ~CCIFG;
      +
      300 }
      +
      301 
      +
      302 uint16_t Timer_A_getCounterValue (uint16_t baseAddress)
      +
      303 {
      +
      304  uint16_t voteOne, voteTwo, res;
      +
      305 
      +
      306  voteTwo = HWREG16(baseAddress + OFS_TAxR);
      +
      307 
      +
      308  do
      +
      309  {
      +
      310  voteOne = voteTwo;
      +
      311  voteTwo = HWREG16(baseAddress + OFS_TAxR);
      +
      312 
      +
      313  if(voteTwo > voteOne) {
      +
      314  res = voteTwo - voteOne;
      +
      315  } else if(voteOne > voteTwo) {
      +
      316  res = voteOne - voteTwo;
      +
      317  } else{
      +
      318  res = 0;
      +
      319  }
      +
      320 
      +
      321  } while ( res > TIMER_A_THRESHOLD);
      +
      322 
      +
      323  return voteTwo;
      +
      324 }
      +
      325 
      +
      326 
      +
      327 #endif
      +
      328 //*****************************************************************************
      +
      329 //
      +
      332 //
      +
      333 //*****************************************************************************
      + +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/timer__a_8h.html b/Documentation/html/timer__a_8h.html new file mode 100644 index 0000000..226db6f --- /dev/null +++ b/Documentation/html/timer__a_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_a.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_a.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/timer__a_8h_source.html b/Documentation/html/timer__a_8h_source.html new file mode 100644 index 0000000..ad9ac54 --- /dev/null +++ b/Documentation/html/timer__a_8h_source.html @@ -0,0 +1,611 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_a.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_a.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // timer_a.h - Driver for the TIMER_A Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_TIMER_A_H__
      +
      8 #define __MSP430WARE_TIMER_A_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_TxA7__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      28 // The following is a parameter used for Timer_A_getCounterValue that
      +
      29 // determines the maximum difference in counts of the TAxR register for a
      +
      30 // majority vote.
      +
      31 //
      +
      32 //*****************************************************************************
      +
      33 #define TIMER_A_THRESHOLD 50
      +
      34 
      +
      35 //*****************************************************************************
      +
      36 //
      +
      39 //
      +
      40 //*****************************************************************************
      +
      41 typedef struct Timer_A_initContinuousModeParam {
      +
      48  uint16_t clockSource;
      +
      71  uint16_t clockSourceDivider;
      +
      76  uint16_t timerInterruptEnable_TAIE;
      +
      82  uint16_t timerClear;
      +
      84  bool startTimer;
      +
      85 } Timer_A_initContinuousModeParam;
      +
      86 
      +
      87 //*****************************************************************************
      +
      88 //
      +
      91 //
      +
      92 //*****************************************************************************
      +
      93 typedef struct Timer_A_initCaptureModeParam {
      +
      104  uint16_t captureRegister;
      +
      111  uint16_t captureMode;
      +
      118  uint16_t captureInputSelect;
      +
      123  uint16_t synchronizeCaptureSource;
      +
      128  uint16_t captureInterruptEnable;
      +
      139  uint16_t captureOutputMode;
      +
      140 } Timer_A_initCaptureModeParam;
      +
      141 
      +
      142 //*****************************************************************************
      +
      143 //
      +
      146 //
      +
      147 //*****************************************************************************
      +
      148 typedef struct Timer_A_initUpDownModeParam {
      +
      155  uint16_t clockSource;
      +
      178  uint16_t clockSourceDivider;
      +
      180  uint16_t timerPeriod;
      +
      185  uint16_t timerInterruptEnable_TAIE;
      +
      190  uint16_t captureCompareInterruptEnable_CCR0_CCIE;
      +
      196  uint16_t timerClear;
      +
      198  bool startTimer;
      +
      199 } Timer_A_initUpDownModeParam;
      +
      200 
      +
      201 //*****************************************************************************
      +
      202 //
      +
      204 //
      +
      205 //*****************************************************************************
      +
      206 typedef struct Timer_A_outputPWMParam {
      +
      213  uint16_t clockSource;
      +
      236  uint16_t clockSourceDivider;
      +
      238  uint16_t timerPeriod;
      +
      249  uint16_t compareRegister;
      +
      260  uint16_t compareOutputMode;
      +
      262  uint16_t dutyCycle;
      +
      263 } Timer_A_outputPWMParam;
      +
      264 
      +
      265 //*****************************************************************************
      +
      266 //
      +
      268 //
      +
      269 //*****************************************************************************
      +
      270 typedef struct Timer_A_initUpModeParam {
      +
      277  uint16_t clockSource;
      +
      300  uint16_t clockSourceDivider;
      +
      303  uint16_t timerPeriod;
      +
      308  uint16_t timerInterruptEnable_TAIE;
      +
      313  uint16_t captureCompareInterruptEnable_CCR0_CCIE;
      +
      319  uint16_t timerClear;
      +
      321  bool startTimer;
      +
      322 } Timer_A_initUpModeParam;
      +
      323 
      +
      324 //*****************************************************************************
      +
      325 //
      +
      328 //
      +
      329 //*****************************************************************************
      +
      330 typedef struct Timer_A_initCompareModeParam {
      +
      341  uint16_t compareRegister;
      +
      346  uint16_t compareInterruptEnable;
      +
      357  uint16_t compareOutputMode;
      +
      359  uint16_t compareValue;
      +
      360 } Timer_A_initCompareModeParam;
      +
      361 
      +
      362 
      +
      363 //*****************************************************************************
      +
      364 //
      +
      365 // The following are values that can be passed to the param parameter for
      +
      366 // functions: Timer_A_initContinuousMode(), Timer_A_initUpMode(),
      +
      367 // Timer_A_initUpDownMode(), and Timer_A_outputPWM().
      +
      368 //
      +
      369 //*****************************************************************************
      +
      370 #define TIMER_A_CLOCKSOURCE_DIVIDER_1 0x00
      +
      371 #define TIMER_A_CLOCKSOURCE_DIVIDER_2 0x08
      +
      372 #define TIMER_A_CLOCKSOURCE_DIVIDER_3 0x02
      +
      373 #define TIMER_A_CLOCKSOURCE_DIVIDER_4 0x10
      +
      374 #define TIMER_A_CLOCKSOURCE_DIVIDER_5 0x04
      +
      375 #define TIMER_A_CLOCKSOURCE_DIVIDER_6 0x05
      +
      376 #define TIMER_A_CLOCKSOURCE_DIVIDER_7 0x06
      +
      377 #define TIMER_A_CLOCKSOURCE_DIVIDER_8 0x18
      +
      378 #define TIMER_A_CLOCKSOURCE_DIVIDER_10 0x0C
      +
      379 #define TIMER_A_CLOCKSOURCE_DIVIDER_12 0x0D
      +
      380 #define TIMER_A_CLOCKSOURCE_DIVIDER_14 0x0E
      +
      381 #define TIMER_A_CLOCKSOURCE_DIVIDER_16 0x0F
      +
      382 #define TIMER_A_CLOCKSOURCE_DIVIDER_20 0x14
      +
      383 #define TIMER_A_CLOCKSOURCE_DIVIDER_24 0x15
      +
      384 #define TIMER_A_CLOCKSOURCE_DIVIDER_28 0x16
      +
      385 #define TIMER_A_CLOCKSOURCE_DIVIDER_32 0x17
      +
      386 #define TIMER_A_CLOCKSOURCE_DIVIDER_40 0x1C
      +
      387 #define TIMER_A_CLOCKSOURCE_DIVIDER_48 0x1D
      +
      388 #define TIMER_A_CLOCKSOURCE_DIVIDER_56 0x1E
      +
      389 #define TIMER_A_CLOCKSOURCE_DIVIDER_64 0x1F
      +
      390 
      +
      391 //*****************************************************************************
      +
      392 //
      +
      393 // The following are values that can be passed to the timerMode parameter for
      +
      394 // functions: Timer_A_startCounter().
      +
      395 //
      +
      396 //*****************************************************************************
      +
      397 #define TIMER_A_STOP_MODE MC_0
      +
      398 #define TIMER_A_UP_MODE MC_1
      +
      399 #define TIMER_A_CONTINUOUS_MODE MC_2
      +
      400 #define TIMER_A_UPDOWN_MODE MC_3
      +
      401 
      +
      402 //*****************************************************************************
      +
      403 //
      +
      404 // The following are values that can be passed to the param parameter for
      +
      405 // functions: Timer_A_initContinuousMode(), Timer_A_initUpMode(), and
      +
      406 // Timer_A_initUpDownMode().
      +
      407 //
      +
      408 //*****************************************************************************
      +
      409 #define TIMER_A_DO_CLEAR TACLR
      +
      410 #define TIMER_A_SKIP_CLEAR 0x00
      +
      411 
      +
      412 //*****************************************************************************
      +
      413 //
      +
      414 // The following are values that can be passed to the param parameter for
      +
      415 // functions: Timer_A_initContinuousMode(), Timer_A_initUpMode(),
      +
      416 // Timer_A_initUpDownMode(), and Timer_A_outputPWM().
      +
      417 //
      +
      418 //*****************************************************************************
      +
      419 #define TIMER_A_CLOCKSOURCE_EXTERNAL_TXCLK TASSEL__TACLK
      +
      420 #define TIMER_A_CLOCKSOURCE_ACLK TASSEL__ACLK
      +
      421 #define TIMER_A_CLOCKSOURCE_SMCLK TASSEL__SMCLK
      +
      422 #define TIMER_A_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK TASSEL__INCLK
      +
      423 
      +
      424 //*****************************************************************************
      +
      425 //
      +
      426 // The following are values that can be passed to the param parameter for
      +
      427 // functions: Timer_A_initContinuousMode(), Timer_A_initUpMode(), and
      +
      428 // Timer_A_initUpDownMode().
      +
      429 //
      +
      430 //*****************************************************************************
      +
      431 #define TIMER_A_TAIE_INTERRUPT_ENABLE TAIE
      +
      432 #define TIMER_A_TAIE_INTERRUPT_DISABLE 0x00
      +
      433 
      +
      434 //*****************************************************************************
      +
      435 //
      +
      436 // The following are values that can be passed to the param parameter for
      +
      437 // functions: Timer_A_initUpMode(), and Timer_A_initUpDownMode().
      +
      438 //
      +
      439 //*****************************************************************************
      +
      440 #define TIMER_A_CCIE_CCR0_INTERRUPT_ENABLE CCIE
      +
      441 #define TIMER_A_CCIE_CCR0_INTERRUPT_DISABLE 0x00
      +
      442 
      +
      443 //*****************************************************************************
      +
      444 //
      +
      445 // The following are values that can be passed to the param parameter for
      +
      446 // functions: Timer_A_initCaptureMode(), and Timer_A_initCompareMode().
      +
      447 //
      +
      448 //*****************************************************************************
      +
      449 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE 0x00
      +
      450 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_ENABLE CCIE
      +
      451 
      +
      452 //*****************************************************************************
      +
      453 //
      +
      454 // The following are values that can be passed to the param parameter for
      +
      455 // functions: Timer_A_initCaptureMode().
      +
      456 //
      +
      457 //*****************************************************************************
      +
      458 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxA CCIS_0
      +
      459 #define TIMER_A_CAPTURE_INPUTSELECT_CCIxB CCIS_1
      +
      460 #define TIMER_A_CAPTURE_INPUTSELECT_GND CCIS_2
      +
      461 #define TIMER_A_CAPTURE_INPUTSELECT_Vcc CCIS_3
      +
      462 
      +
      463 //*****************************************************************************
      +
      464 //
      +
      465 // The following are values that can be passed to the compareOutputMode
      +
      466 // parameter for functions: Timer_A_setOutputMode(); the param parameter for
      +
      467 // functions: Timer_A_initCaptureMode(), Timer_A_initCompareMode(), and
      +
      468 // Timer_A_outputPWM().
      +
      469 //
      +
      470 //*****************************************************************************
      +
      471 #define TIMER_A_OUTPUTMODE_OUTBITVALUE OUTMOD_0
      +
      472 #define TIMER_A_OUTPUTMODE_SET OUTMOD_1
      +
      473 #define TIMER_A_OUTPUTMODE_TOGGLE_RESET OUTMOD_2
      +
      474 #define TIMER_A_OUTPUTMODE_SET_RESET OUTMOD_3
      +
      475 #define TIMER_A_OUTPUTMODE_TOGGLE OUTMOD_4
      +
      476 #define TIMER_A_OUTPUTMODE_RESET OUTMOD_5
      +
      477 #define TIMER_A_OUTPUTMODE_TOGGLE_SET OUTMOD_6
      +
      478 #define TIMER_A_OUTPUTMODE_RESET_SET OUTMOD_7
      +
      479 
      +
      480 //*****************************************************************************
      +
      481 //
      +
      482 // The following are values that can be passed to the compareRegister parameter
      +
      483 // for functions: Timer_A_setCompareValue(), and Timer_A_setOutputMode(); the
      +
      484 // captureCompareRegister parameter for functions:
      +
      485 // Timer_A_enableCaptureCompareInterrupt(),
      +
      486 // Timer_A_disableCaptureCompareInterrupt(),
      +
      487 // Timer_A_getCaptureCompareInterruptStatus(),
      +
      488 // Timer_A_getSynchronizedCaptureCompareInput(),
      +
      489 // Timer_A_getOutputForOutputModeOutBitValue(),
      +
      490 // Timer_A_getCaptureCompareCount(),
      +
      491 // Timer_A_setOutputForOutputModeOutBitValue(), and
      +
      492 // Timer_A_clearCaptureCompareInterrupt(); the param parameter for functions:
      +
      493 // Timer_A_initCaptureMode(), Timer_A_initCompareMode(), and
      +
      494 // Timer_A_outputPWM().
      +
      495 //
      +
      496 //*****************************************************************************
      +
      497 #define TIMER_A_CAPTURECOMPARE_REGISTER_0 0x02
      +
      498 #define TIMER_A_CAPTURECOMPARE_REGISTER_1 0x04
      +
      499 #define TIMER_A_CAPTURECOMPARE_REGISTER_2 0x06
      +
      500 #define TIMER_A_CAPTURECOMPARE_REGISTER_3 0x08
      +
      501 #define TIMER_A_CAPTURECOMPARE_REGISTER_4 0x0A
      +
      502 #define TIMER_A_CAPTURECOMPARE_REGISTER_5 0x0C
      +
      503 #define TIMER_A_CAPTURECOMPARE_REGISTER_6 0x0E
      +
      504 
      +
      505 //*****************************************************************************
      +
      506 //
      +
      507 // The following are values that can be passed to the param parameter for
      +
      508 // functions: Timer_A_initCaptureMode().
      +
      509 //
      +
      510 //*****************************************************************************
      +
      511 #define TIMER_A_CAPTUREMODE_NO_CAPTURE CM_0
      +
      512 #define TIMER_A_CAPTUREMODE_RISING_EDGE CM_1
      +
      513 #define TIMER_A_CAPTUREMODE_FALLING_EDGE CM_2
      +
      514 #define TIMER_A_CAPTUREMODE_RISING_AND_FALLING_EDGE CM_3
      +
      515 
      +
      516 //*****************************************************************************
      +
      517 //
      +
      518 // The following are values that can be passed to the param parameter for
      +
      519 // functions: Timer_A_initCaptureMode().
      +
      520 //
      +
      521 //*****************************************************************************
      +
      522 #define TIMER_A_CAPTURE_ASYNCHRONOUS 0x00
      +
      523 #define TIMER_A_CAPTURE_SYNCHRONOUS SCS
      +
      524 
      +
      525 //*****************************************************************************
      +
      526 //
      +
      527 // The following are values that can be passed to the mask parameter for
      +
      528 // functions: Timer_A_getCaptureCompareInterruptStatus() as well as returned by
      +
      529 // the Timer_A_getCaptureCompareInterruptStatus() function.
      +
      530 //
      +
      531 //*****************************************************************************
      +
      532 #define TIMER_A_CAPTURE_OVERFLOW COV
      +
      533 #define TIMER_A_CAPTURECOMPARE_INTERRUPT_FLAG CCIFG
      +
      534 
      +
      535 //*****************************************************************************
      +
      536 //
      +
      537 // The following are values that can be passed to the synchronized parameter
      +
      538 // for functions: Timer_A_getSynchronizedCaptureCompareInput().
      +
      539 //
      +
      540 //*****************************************************************************
      +
      541 #define TIMER_A_READ_SYNCHRONIZED_CAPTURECOMPAREINPUT SCCI
      +
      542 #define TIMER_A_READ_CAPTURE_COMPARE_INPUT CCI
      +
      543 
      +
      544 //*****************************************************************************
      +
      545 //
      +
      546 // The following are values that can be passed toThe following are values that
      +
      547 // can be returned by the Timer_A_getSynchronizedCaptureCompareInput()
      +
      548 // function.
      +
      549 //
      +
      550 //*****************************************************************************
      +
      551 #define TIMER_A_CAPTURECOMPARE_INPUT_HIGH 0x01
      +
      552 #define TIMER_A_CAPTURECOMPARE_INPUT_LOW 0x00
      +
      553 
      +
      554 //*****************************************************************************
      +
      555 //
      +
      556 // The following are values that can be passed to the outputModeOutBitValue
      +
      557 // parameter for functions: Timer_A_setOutputForOutputModeOutBitValue() as well
      +
      558 // as returned by the Timer_A_getOutputForOutputModeOutBitValue() function.
      +
      559 //
      +
      560 //*****************************************************************************
      +
      561 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_HIGH OUT
      +
      562 #define TIMER_A_OUTPUTMODE_OUTBITVALUE_LOW 0x00
      +
      563 
      +
      564 //*****************************************************************************
      +
      565 //
      +
      566 // The following are values that can be passed toThe following are values that
      +
      567 // can be returned by the Timer_A_getInterruptStatus() function.
      +
      568 //
      +
      569 //*****************************************************************************
      +
      570 #define TIMER_A_INTERRUPT_NOT_PENDING 0x00
      +
      571 #define TIMER_A_INTERRUPT_PENDING 0x01
      +
      572 
      +
      573 //*****************************************************************************
      +
      574 //
      +
      575 // Prototypes for the APIs.
      +
      576 //
      +
      577 //*****************************************************************************
      +
      578 
      +
      579 //*****************************************************************************
      +
      580 //
      +
      597 //
      +
      598 //*****************************************************************************
      +
      599 extern void Timer_A_startCounter(uint16_t baseAddress,
      +
      600  uint16_t timerMode);
      +
      601 
      +
      602 //*****************************************************************************
      +
      603 //
      +
      612 //
      +
      613 //*****************************************************************************
      +
      614 extern void Timer_A_initContinuousMode(uint16_t baseAddress,
      +
      615  Timer_A_initContinuousModeParam *param);
      +
      616 
      +
      617 //*****************************************************************************
      +
      618 //
      +
      628 //
      +
      629 //*****************************************************************************
      +
      630 extern void Timer_A_initUpMode(uint16_t baseAddress,
      +
      631  Timer_A_initUpModeParam *param);
      +
      632 
      +
      633 //*****************************************************************************
      +
      634 //
      +
      644 //
      +
      645 //*****************************************************************************
      +
      646 extern void Timer_A_initUpDownMode(uint16_t baseAddress,
      +
      647  Timer_A_initUpDownModeParam *param);
      +
      648 
      +
      649 //*****************************************************************************
      +
      650 //
      +
      659 //
      +
      660 //*****************************************************************************
      +
      661 extern void Timer_A_initCaptureMode(uint16_t baseAddress,
      +
      662  Timer_A_initCaptureModeParam *param);
      +
      663 
      +
      664 //*****************************************************************************
      +
      665 //
      +
      674 //
      +
      675 //*****************************************************************************
      +
      676 extern void Timer_A_initCompareMode(uint16_t baseAddress,
      +
      677  Timer_A_initCompareModeParam *param);
      +
      678 
      +
      679 //*****************************************************************************
      +
      680 //
      +
      690 //
      +
      691 //*****************************************************************************
      +
      692 extern void Timer_A_enableInterrupt(uint16_t baseAddress);
      +
      693 
      +
      694 //*****************************************************************************
      +
      695 //
      +
      703 //
      +
      704 //*****************************************************************************
      +
      705 extern void Timer_A_disableInterrupt(uint16_t baseAddress);
      +
      706 
      +
      707 //*****************************************************************************
      +
      708 //
      +
      717 //
      +
      718 //*****************************************************************************
      +
      719 extern uint32_t Timer_A_getInterruptStatus(uint16_t baseAddress);
      +
      720 
      +
      721 //*****************************************************************************
      +
      722 //
      +
      741 //
      +
      742 //*****************************************************************************
      +
      743 extern void Timer_A_enableCaptureCompareInterrupt(uint16_t baseAddress,
      +
      744  uint16_t captureCompareRegister);
      +
      745 
      +
      746 //*****************************************************************************
      +
      747 //
      +
      764 //
      +
      765 //*****************************************************************************
      +
      766 extern void Timer_A_disableCaptureCompareInterrupt(uint16_t baseAddress,
      +
      767  uint16_t captureCompareRegister);
      +
      768 
      +
      769 //*****************************************************************************
      +
      770 //
      +
      792 //
      +
      793 //*****************************************************************************
      +
      794 extern uint32_t Timer_A_getCaptureCompareInterruptStatus(uint16_t baseAddress,
      +
      795  uint16_t captureCompareRegister,
      +
      796  uint16_t mask);
      +
      797 
      +
      798 //*****************************************************************************
      +
      799 //
      +
      807 //
      +
      808 //*****************************************************************************
      +
      809 extern void Timer_A_clear(uint16_t baseAddress);
      +
      810 
      +
      811 //*****************************************************************************
      +
      812 //
      +
      833 //
      +
      834 //*****************************************************************************
      +
      835 extern uint8_t Timer_A_getSynchronizedCaptureCompareInput(uint16_t baseAddress,
      +
      836  uint16_t captureCompareRegister,
      +
      837  uint16_t synchronized);
      +
      838 
      +
      839 //*****************************************************************************
      +
      840 //
      +
      857 //
      +
      858 //*****************************************************************************
      +
      859 extern uint8_t Timer_A_getOutputForOutputModeOutBitValue(uint16_t baseAddress,
      +
      860  uint16_t captureCompareRegister);
      +
      861 
      +
      862 //*****************************************************************************
      +
      863 //
      +
      878 //
      +
      879 //*****************************************************************************
      +
      880 extern uint16_t Timer_A_getCaptureCompareCount(uint16_t baseAddress,
      +
      881  uint16_t captureCompareRegister);
      +
      882 
      +
      883 //*****************************************************************************
      +
      884 //
      +
      905 //
      +
      906 //*****************************************************************************
      +
      907 extern void Timer_A_setOutputForOutputModeOutBitValue(uint16_t baseAddress,
      +
      908  uint16_t captureCompareRegister,
      +
      909  uint8_t outputModeOutBitValue);
      +
      910 
      +
      911 //*****************************************************************************
      +
      912 //
      +
      922 //
      +
      923 //*****************************************************************************
      +
      924 extern void Timer_A_outputPWM(uint16_t baseAddress,
      +
      925  Timer_A_outputPWMParam *param);
      +
      926 
      +
      927 //*****************************************************************************
      +
      928 //
      +
      936 //
      +
      937 //*****************************************************************************
      +
      938 extern void Timer_A_stop(uint16_t baseAddress);
      +
      939 
      +
      940 //*****************************************************************************
      +
      941 //
      +
      961 //
      +
      962 //*****************************************************************************
      +
      963 extern void Timer_A_setCompareValue(uint16_t baseAddress,
      +
      964  uint16_t compareRegister,
      +
      965  uint16_t compareValue);
      +
      966 
      +
      967 //*****************************************************************************
      +
      968 //
      +
      997 //
      +
      998 //*****************************************************************************
      +
      999 extern void Timer_A_setOutputMode(uint16_t baseAddress,
      +
      1000  uint16_t compareRegister,
      +
      1001  uint16_t compareOutputMode);
      +
      1002 
      +
      1003 //*****************************************************************************
      +
      1004 //
      +
      1012 //
      +
      1013 //*****************************************************************************
      +
      1014 extern void Timer_A_clearTimerInterrupt(uint16_t baseAddress);
      +
      1015 
      +
      1016 //*****************************************************************************
      +
      1017 //
      +
      1035 //
      +
      1036 //*****************************************************************************
      +
      1037 extern void Timer_A_clearCaptureCompareInterrupt(uint16_t baseAddress,
      +
      1038  uint16_t captureCompareRegister);
      +
      1039 
      +
      1040 //*****************************************************************************
      +
      1041 //
      +
      1052 //
      +
      1053 //*****************************************************************************
      +
      1054 extern uint16_t Timer_A_getCounterValue(uint16_t baseAddress);
      +
      1055 
      +
      1056 //*****************************************************************************
      +
      1057 //
      +
      1058 // Mark the end of the C bindings section for C++ compilers.
      +
      1059 //
      +
      1060 //*****************************************************************************
      +
      1061 #ifdef __cplusplus
      +
      1062 }
      +
      1063 #endif
      +
      1064 
      +
      1065 #endif
      +
      1066 #endif // __MSP430WARE_TIMER_A_H__
      + +
      +
      + + + + diff --git a/Documentation/html/timer__b_8c.html b/Documentation/html/timer__b_8c.html new file mode 100644 index 0000000..d779aab --- /dev/null +++ b/Documentation/html/timer__b_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_b.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_b.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/timer__b_8c_source.html b/Documentation/html/timer__b_8c_source.html new file mode 100644 index 0000000..6ec41d3 --- /dev/null +++ b/Documentation/html/timer__b_8c_source.html @@ -0,0 +1,471 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_b.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_b.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // timer_b.c - Driver for the timer_b Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_TxB7__
      +
      17 #include "timer_b.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void Timer_B_startCounter ( uint16_t baseAddress,
      +
      22  uint16_t timerMode
      +
      23  )
      +
      24 {
      +
      25  HWREG16(baseAddress + OFS_TBxCTL) |= timerMode;
      +
      26 }
      +
      27 
      +
      28 void Timer_B_initContinuousMode(uint16_t baseAddress,
      +
      29  Timer_B_initContinuousModeParam *param)
      +
      30 {
      +
      31 
      +
      32  HWREG16(baseAddress +
      +
      33  OFS_TBxCTL) &= ~(TIMER_B_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK +
      +
      34  TIMER_B_UPDOWN_MODE +
      +
      35  TIMER_B_DO_CLEAR +
      +
      36  TIMER_B_TBIE_INTERRUPT_ENABLE +
      +
      37  CNTL_3 +
      +
      38  ID__8
      +
      39  );
      +
      40  HWREG16(baseAddress + OFS_TBxEX0) &= ~TBIDEX_7;
      +
      41 
      +
      42  HWREG16(baseAddress + OFS_TBxEX0) |= param->clockSourceDivider&0x7;
      +
      43 
      +
      44  HWREG16(baseAddress + OFS_TBxCTL) |= (param->clockSource +
      +
      45  param->timerClear +
      +
      46  param->timerInterruptEnable_TBIE +
      +
      47  ((param->clockSourceDivider>>3)<<6));
      +
      48 
      +
      49  if(param->startTimer) {
      +
      50  HWREG16(baseAddress + OFS_TBxCTL) |= TIMER_B_CONTINUOUS_MODE;
      +
      51  }
      +
      52 }
      +
      53 
      +
      54 void Timer_B_initUpMode (uint16_t baseAddress,
      +
      55  Timer_B_initUpModeParam *param)
      +
      56 {
      +
      57 
      +
      58  HWREG16(baseAddress + OFS_TBxCTL) &=
      +
      59  ~(TIMER_B_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK +
      +
      60  TIMER_B_UPDOWN_MODE +
      +
      61  TIMER_B_DO_CLEAR +
      +
      62  TIMER_B_TBIE_INTERRUPT_ENABLE +
      +
      63  CNTL_3
      +
      64  );
      +
      65  HWREG16(baseAddress + OFS_TBxEX0) &= ~TBIDEX_7;
      +
      66 
      +
      67  HWREG16(baseAddress + OFS_TBxEX0) |= param->clockSourceDivider&0x7;
      +
      68 
      +
      69  HWREG16(baseAddress + OFS_TBxCTL) |= (param->clockSource +
      +
      70  param->timerClear +
      +
      71  param->timerInterruptEnable_TBIE +
      +
      72  ((param->clockSourceDivider>>3)<<6));
      +
      73 
      +
      74  if (param->startTimer) {
      +
      75  HWREG16(baseAddress + OFS_TBxCTL) |= TIMER_B_UP_MODE;
      +
      76  }
      +
      77 
      +
      78  if (TIMER_B_CCIE_CCR0_INTERRUPT_ENABLE ==
      +
      79  param->captureCompareInterruptEnable_CCR0_CCIE){
      +
      80  HWREG16(baseAddress + OFS_TBxCCTL0) |= TIMER_B_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      81  } else {
      +
      82  HWREG16(baseAddress + OFS_TBxCCTL0) &= ~TIMER_B_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      83  }
      +
      84 
      +
      85  HWREG16(baseAddress + OFS_TBxCCR0) = param->timerPeriod;
      +
      86 }
      +
      87 
      +
      88 void Timer_B_initUpDownMode(uint16_t baseAddress,
      +
      89  Timer_B_initUpDownModeParam *param)
      +
      90 {
      +
      91  HWREG16(baseAddress + OFS_TBxCTL) &=
      +
      92  ~(TIMER_B_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK +
      +
      93  TIMER_B_UPDOWN_MODE +
      +
      94  TIMER_B_DO_CLEAR +
      +
      95  TIMER_B_TBIE_INTERRUPT_ENABLE +
      +
      96  CNTL_3
      +
      97  );
      +
      98  HWREG16(baseAddress + OFS_TBxEX0) &= ~TBIDEX_7;
      +
      99 
      +
      100  HWREG16(baseAddress + OFS_TBxEX0) |= param->clockSourceDivider&0x7;
      +
      101 
      +
      102  HWREG16(baseAddress + OFS_TBxCTL) |= (param->clockSource +
      +
      103  TIMER_B_STOP_MODE +
      +
      104  param->timerClear +
      +
      105  param->timerInterruptEnable_TBIE +
      +
      106  ((param->clockSourceDivider>>3)<<6));
      +
      107 
      +
      108  if (param->startTimer) {
      +
      109  HWREG16(baseAddress + OFS_TBxCTL) |= TIMER_B_UPDOWN_MODE;
      +
      110  }
      +
      111 
      +
      112  if (TIMER_B_CCIE_CCR0_INTERRUPT_ENABLE ==
      +
      113  param->captureCompareInterruptEnable_CCR0_CCIE){
      +
      114  HWREG16(baseAddress + OFS_TBxCCTL0) |= TIMER_B_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      115  } else {
      +
      116  HWREG16(baseAddress + OFS_TBxCCTL0) &= ~TIMER_B_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      117  }
      +
      118 
      +
      119  HWREG16(baseAddress + OFS_TBxCCR0) = param->timerPeriod;
      +
      120 }
      +
      121 
      +
      122 void Timer_B_initCaptureMode(uint16_t baseAddress,
      +
      123  Timer_B_initCaptureModeParam *param)
      +
      124 {
      +
      125 
      +
      126  HWREG16(baseAddress + param->captureRegister ) |= CAP;
      +
      127 
      +
      128  HWREG16(baseAddress + param->captureRegister) &=
      +
      129  ~(TIMER_B_CAPTUREMODE_RISING_AND_FALLING_EDGE +
      +
      130  TIMER_B_CAPTURE_INPUTSELECT_Vcc +
      +
      131  TIMER_B_CAPTURE_SYNCHRONOUS +
      +
      132  TIMER_B_DO_CLEAR +
      +
      133  TIMER_B_TBIE_INTERRUPT_ENABLE +
      +
      134  CM_3
      +
      135  );
      +
      136 
      +
      137  HWREG16(baseAddress + param->captureRegister) |= (param->captureMode +
      +
      138  param->captureInputSelect +
      +
      139  param->synchronizeCaptureSource +
      +
      140  param->captureInterruptEnable +
      +
      141  param->captureOutputMode
      +
      142  );
      +
      143 }
      +
      144 
      +
      145 void Timer_B_initCompareMode(uint16_t baseAddress,
      +
      146  Timer_B_initCompareModeParam *param)
      +
      147 {
      +
      148 
      +
      149  HWREG16(baseAddress + param->compareRegister ) &= ~CAP;
      +
      150 
      +
      151  HWREG16(baseAddress + param->compareRegister) &=
      +
      152  ~(TIMER_B_CAPTURECOMPARE_INTERRUPT_ENABLE +
      +
      153  TIMER_B_OUTPUTMODE_RESET_SET
      +
      154  );
      +
      155 
      +
      156  HWREG16(baseAddress + param->compareRegister) |= (param->compareInterruptEnable +
      +
      157  param->compareOutputMode
      +
      158  );
      +
      159 
      +
      160  HWREG16(baseAddress + param->compareRegister + OFS_TBxR) = param->compareValue;
      +
      161 }
      +
      162 
      +
      163 void Timer_B_enableInterrupt (uint16_t baseAddress)
      +
      164 {
      +
      165  HWREG16(baseAddress + OFS_TBxCTL) |= TBIE;
      +
      166 }
      +
      167 
      +
      168 void Timer_B_disableInterrupt (uint16_t baseAddress)
      +
      169 {
      +
      170  HWREG16(baseAddress + OFS_TBxCTL) &= ~TBIE;
      +
      171 }
      +
      172 
      +
      173 uint32_t Timer_B_getInterruptStatus (uint16_t baseAddress)
      +
      174 {
      +
      175  return ( HWREG16(baseAddress + OFS_TBxCTL) & TBIFG );
      +
      176 }
      +
      177 
      +
      178 void Timer_B_enableCaptureCompareInterrupt (uint16_t baseAddress,
      +
      179  uint16_t captureCompareRegister
      +
      180  )
      +
      181 {
      +
      182  HWREG16(baseAddress + captureCompareRegister) |= CCIE;
      +
      183 }
      +
      184 
      +
      185 void Timer_B_disableCaptureCompareInterrupt (uint16_t baseAddress,
      +
      186  uint16_t captureCompareRegister
      +
      187  )
      +
      188 {
      +
      189  HWREG16(baseAddress + captureCompareRegister) &= ~CCIE;
      +
      190 }
      +
      191 
      +
      192 uint32_t Timer_B_getCaptureCompareInterruptStatus (uint16_t baseAddress,
      +
      193  uint16_t captureCompareRegister,
      +
      194  uint16_t mask
      +
      195  )
      +
      196 {
      +
      197  return ( HWREG16(baseAddress + captureCompareRegister) & mask );
      +
      198 }
      +
      199 
      +
      200 void Timer_B_clear (uint16_t baseAddress)
      +
      201 {
      +
      202  HWREG16(baseAddress + OFS_TBxCTL) |= TBCLR;
      +
      203 }
      +
      204 
      +
      205 uint8_t Timer_B_getSynchronizedCaptureCompareInput
      +
      206  (uint16_t baseAddress,
      +
      207  uint16_t captureCompareRegister,
      +
      208  uint16_t synchronized
      +
      209  )
      +
      210 {
      +
      211  if (HWREG16(baseAddress + captureCompareRegister) & synchronized){
      +
      212  return ( TIMER_B_CAPTURECOMPARE_INPUT_HIGH) ;
      +
      213  } else {
      +
      214  return ( TIMER_B_CAPTURECOMPARE_INPUT_LOW) ;
      +
      215  }
      +
      216 }
      +
      217 
      +
      218 uint8_t Timer_B_getOutputForOutputModeOutBitValue
      +
      219  (uint16_t baseAddress,
      +
      220  uint16_t captureCompareRegister
      +
      221  )
      +
      222 {
      +
      223 
      +
      224  if (HWREG16(baseAddress + captureCompareRegister) & OUT){
      +
      225  return ( TIMER_B_OUTPUTMODE_OUTBITVALUE_HIGH) ;
      +
      226  } else {
      +
      227  return ( TIMER_B_OUTPUTMODE_OUTBITVALUE_LOW) ;
      +
      228  }
      +
      229 }
      +
      230 
      +
      231 uint16_t Timer_B_getCaptureCompareCount
      +
      232  (uint16_t baseAddress,
      +
      233  uint16_t captureCompareRegister
      +
      234  )
      +
      235 {
      +
      236  return (HWREG16(baseAddress + OFS_TBxR + captureCompareRegister));
      +
      237 }
      +
      238 
      +
      239 void Timer_B_setOutputForOutputModeOutBitValue
      +
      240  (uint16_t baseAddress,
      +
      241  uint16_t captureCompareRegister,
      +
      242  uint16_t outputModeOutBitValue
      +
      243  )
      +
      244 {
      +
      245  HWREG16(baseAddress + captureCompareRegister) &= ~OUT;
      +
      246  HWREG16(baseAddress + captureCompareRegister) |= outputModeOutBitValue;
      +
      247 }
      +
      248 
      +
      249 void Timer_B_outputPWM(uint16_t baseAddress, Timer_B_outputPWMParam *param)
      +
      250 {
      +
      251 
      +
      252  HWREG16(baseAddress + OFS_TBxCTL) &=
      +
      253  ~( TIMER_B_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK +
      +
      254  TIMER_B_UPDOWN_MODE + TIMER_B_DO_CLEAR +
      +
      255  TIMER_B_TBIE_INTERRUPT_ENABLE
      +
      256  );
      +
      257  HWREG16(baseAddress + OFS_TBxEX0) &= ~TBIDEX_7;
      +
      258 
      +
      259  HWREG16(baseAddress + OFS_TBxEX0) |= param->clockSourceDivider&0x7;
      +
      260 
      +
      261  HWREG16(baseAddress + OFS_TBxCTL) |= (param->clockSource +
      +
      262  TIMER_B_UP_MODE +
      +
      263  TIMER_B_DO_CLEAR +
      +
      264  ((param->clockSourceDivider>>3)<<6));
      +
      265 
      +
      266  HWREG16(baseAddress + OFS_TBxCCR0) = param->timerPeriod;
      +
      267 
      +
      268  HWREG16(baseAddress + OFS_TBxCCTL0) &=
      +
      269  ~(TIMER_B_CAPTURECOMPARE_INTERRUPT_ENABLE +
      +
      270  TIMER_B_OUTPUTMODE_RESET_SET
      +
      271  );
      +
      272 
      +
      273  HWREG16(baseAddress + param->compareRegister) |= param->compareOutputMode;
      +
      274 
      +
      275  HWREG16(baseAddress + param->compareRegister + OFS_TBxR) = param->dutyCycle;
      +
      276 }
      +
      277 
      +
      278 void Timer_B_stop ( uint16_t baseAddress )
      +
      279 {
      +
      280  HWREG16(baseAddress + OFS_TBxCTL) &= ~MC_3;
      +
      281 }
      +
      282 
      +
      283 
      +
      284 void Timer_B_setCompareValue ( uint16_t baseAddress,
      +
      285  uint16_t compareRegister,
      +
      286  uint16_t compareValue
      +
      287  )
      +
      288 {
      +
      289  HWREG16(baseAddress + compareRegister + OFS_TBxR) = compareValue;
      +
      290 }
      +
      291 
      +
      292 void Timer_B_clearTimerInterrupt (uint16_t baseAddress)
      +
      293 {
      +
      294  HWREG16(baseAddress + OFS_TBxCTL) &= ~TBIFG;
      +
      295 }
      +
      296 
      +
      297 void Timer_B_clearCaptureCompareInterrupt (uint16_t baseAddress,
      +
      298  uint16_t captureCompareRegister
      +
      299  )
      +
      300 {
      +
      301  HWREG16(baseAddress + captureCompareRegister) &= ~CCIFG;
      +
      302 }
      +
      303 
      +
      304 void Timer_B_selectCounterLength (uint16_t baseAddress,
      +
      305  uint16_t counterLength
      +
      306  )
      +
      307 {
      +
      308  HWREG16(baseAddress + OFS_TBxCTL) &= ~CNTL_3;
      +
      309  HWREG16(baseAddress + OFS_TBxCTL) |= counterLength;
      +
      310 }
      +
      311 
      +
      312 void Timer_B_selectLatchingGroup(uint16_t baseAddress,
      +
      313  uint16_t groupLatch)
      +
      314 {
      +
      315  HWREG16(baseAddress + OFS_TBxCTL) &= ~TBCLGRP_3;
      +
      316  HWREG16(baseAddress + OFS_TBxCTL) |= groupLatch;
      +
      317 }
      +
      318 
      +
      319 void Timer_B_initCompareLatchLoadEvent(uint16_t baseAddress,
      +
      320  uint16_t compareRegister,
      +
      321  uint16_t compareLatchLoadEvent
      +
      322  )
      +
      323 {
      +
      324  HWREG16(baseAddress + compareRegister) &= ~CLLD_3;
      +
      325  HWREG16(baseAddress + compareRegister) |= compareLatchLoadEvent;
      +
      326 }
      +
      327 
      +
      328 uint16_t Timer_B_getCounterValue (uint16_t baseAddress)
      +
      329 {
      +
      330  uint16_t voteOne, voteTwo, res;
      +
      331 
      +
      332  voteTwo = HWREG16(baseAddress + OFS_TBxR);
      +
      333 
      +
      334  do
      +
      335  {
      +
      336  voteOne = voteTwo;
      +
      337  voteTwo = HWREG16(baseAddress + OFS_TBxR);
      +
      338 
      +
      339  if(voteTwo > voteOne) {
      +
      340  res = voteTwo - voteOne;
      +
      341  } else if(voteOne > voteTwo) {
      +
      342  res = voteOne - voteTwo;
      +
      343  } else{
      +
      344  res = 0;
      +
      345  }
      +
      346 
      +
      347  } while ( res > TIMER_B_THRESHOLD);
      +
      348 
      +
      349  return voteTwo;
      +
      350 }
      +
      351 
      +
      352 void Timer_B_setOutputMode(uint16_t baseAddress,
      +
      353  uint16_t compareRegister,
      +
      354  uint16_t compareOutputMode)
      +
      355 {
      +
      356  uint16_t temp = HWREG16(baseAddress + compareRegister);
      +
      357  HWREG16(baseAddress + compareRegister) = temp & ~(OUTMOD_7) | compareOutputMode;
      +
      358 }
      +
      359 
      +
      360 
      +
      361 #endif
      +
      362 //*****************************************************************************
      +
      363 //
      +
      366 //
      +
      367 //*****************************************************************************
      + +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/timer__b_8h.html b/Documentation/html/timer__b_8h.html new file mode 100644 index 0000000..faa5168 --- /dev/null +++ b/Documentation/html/timer__b_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_b.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_b.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/timer__b_8h_source.html b/Documentation/html/timer__b_8h_source.html new file mode 100644 index 0000000..d192d17 --- /dev/null +++ b/Documentation/html/timer__b_8h_source.html @@ -0,0 +1,667 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_b.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_b.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // timer_b.h - Driver for the TIMER_B Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_TIMER_B_H__
      +
      8 #define __MSP430WARE_TIMER_B_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_TxB7__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      28 // The following is a parameter used for Timer_B_getCounterValue that
      +
      29 // determines the maximum difference in counts of the TAxR register for a
      +
      30 // majority vote.
      +
      31 //
      +
      32 //*****************************************************************************
      +
      33 #define TIMER_B_THRESHOLD 50
      +
      34 
      +
      35 //*****************************************************************************
      +
      36 //
      +
      38 //
      +
      39 //*****************************************************************************
      +
      40 typedef struct Timer_B_outputPWMParam {
      +
      47  uint16_t clockSource;
      +
      70  uint16_t clockSourceDivider;
      +
      72  uint16_t timerPeriod;
      +
      83  uint16_t compareRegister;
      +
      94  uint16_t compareOutputMode;
      +
      96  uint16_t dutyCycle;
      +
      97 } Timer_B_outputPWMParam;
      +
      98 
      +
      99 //*****************************************************************************
      +
      100 //
      +
      102 //
      +
      103 //*****************************************************************************
      +
      104 typedef struct Timer_B_initUpModeParam {
      +
      111  uint16_t clockSource;
      +
      134  uint16_t clockSourceDivider;
      +
      137  uint16_t timerPeriod;
      +
      142  uint16_t timerInterruptEnable_TBIE;
      +
      147  uint16_t captureCompareInterruptEnable_CCR0_CCIE;
      +
      153  uint16_t timerClear;
      +
      155  bool startTimer;
      +
      156 } Timer_B_initUpModeParam;
      +
      157 
      +
      158 //*****************************************************************************
      +
      159 //
      +
      162 //
      +
      163 //*****************************************************************************
      +
      164 typedef struct Timer_B_initCaptureModeParam {
      +
      175  uint16_t captureRegister;
      +
      182  uint16_t captureMode;
      +
      189  uint16_t captureInputSelect;
      +
      194  uint16_t synchronizeCaptureSource;
      +
      199  uint16_t captureInterruptEnable;
      +
      210  uint16_t captureOutputMode;
      +
      211 } Timer_B_initCaptureModeParam;
      +
      212 
      +
      213 //*****************************************************************************
      +
      214 //
      +
      217 //
      +
      218 //*****************************************************************************
      +
      219 typedef struct Timer_B_initContinuousModeParam {
      +
      226  uint16_t clockSource;
      +
      249  uint16_t clockSourceDivider;
      +
      254  uint16_t timerInterruptEnable_TBIE;
      +
      260  uint16_t timerClear;
      +
      262  bool startTimer;
      +
      263 } Timer_B_initContinuousModeParam;
      +
      264 
      +
      265 //*****************************************************************************
      +
      266 //
      +
      269 //
      +
      270 //*****************************************************************************
      +
      271 typedef struct Timer_B_initUpDownModeParam {
      +
      278  uint16_t clockSource;
      +
      301  uint16_t clockSourceDivider;
      +
      303  uint16_t timerPeriod;
      +
      308  uint16_t timerInterruptEnable_TBIE;
      +
      313  uint16_t captureCompareInterruptEnable_CCR0_CCIE;
      +
      319  uint16_t timerClear;
      +
      321  bool startTimer;
      +
      322 } Timer_B_initUpDownModeParam;
      +
      323 
      +
      324 //*****************************************************************************
      +
      325 //
      +
      328 //
      +
      329 //*****************************************************************************
      +
      330 typedef struct Timer_B_initCompareModeParam {
      +
      341  uint16_t compareRegister;
      +
      346  uint16_t compareInterruptEnable;
      +
      357  uint16_t compareOutputMode;
      +
      359  uint16_t compareValue;
      +
      360 } Timer_B_initCompareModeParam;
      +
      361 
      +
      362 
      +
      363 //*****************************************************************************
      +
      364 //
      +
      365 // The following are values that can be passed to the param parameter for
      +
      366 // functions: Timer_B_initContinuousMode(), Timer_B_initUpMode(),
      +
      367 // Timer_B_initUpDownMode(), and Timer_B_outputPWM().
      +
      368 //
      +
      369 //*****************************************************************************
      +
      370 #define TIMER_B_CLOCKSOURCE_DIVIDER_1 0x00
      +
      371 #define TIMER_B_CLOCKSOURCE_DIVIDER_2 0x08
      +
      372 #define TIMER_B_CLOCKSOURCE_DIVIDER_3 0x02
      +
      373 #define TIMER_B_CLOCKSOURCE_DIVIDER_4 0x10
      +
      374 #define TIMER_B_CLOCKSOURCE_DIVIDER_5 0x04
      +
      375 #define TIMER_B_CLOCKSOURCE_DIVIDER_6 0x05
      +
      376 #define TIMER_B_CLOCKSOURCE_DIVIDER_7 0x06
      +
      377 #define TIMER_B_CLOCKSOURCE_DIVIDER_8 0x18
      +
      378 #define TIMER_B_CLOCKSOURCE_DIVIDER_10 0x0C
      +
      379 #define TIMER_B_CLOCKSOURCE_DIVIDER_12 0x0D
      +
      380 #define TIMER_B_CLOCKSOURCE_DIVIDER_14 0x0E
      +
      381 #define TIMER_B_CLOCKSOURCE_DIVIDER_16 0x0F
      +
      382 #define TIMER_B_CLOCKSOURCE_DIVIDER_20 0x14
      +
      383 #define TIMER_B_CLOCKSOURCE_DIVIDER_24 0x15
      +
      384 #define TIMER_B_CLOCKSOURCE_DIVIDER_28 0x16
      +
      385 #define TIMER_B_CLOCKSOURCE_DIVIDER_32 0x17
      +
      386 #define TIMER_B_CLOCKSOURCE_DIVIDER_40 0x1C
      +
      387 #define TIMER_B_CLOCKSOURCE_DIVIDER_48 0x1D
      +
      388 #define TIMER_B_CLOCKSOURCE_DIVIDER_56 0x1E
      +
      389 #define TIMER_B_CLOCKSOURCE_DIVIDER_64 0x1F
      +
      390 
      +
      391 //*****************************************************************************
      +
      392 //
      +
      393 // The following are values that can be passed to the timerMode parameter for
      +
      394 // functions: Timer_B_startCounter().
      +
      395 //
      +
      396 //*****************************************************************************
      +
      397 #define TIMER_B_STOP_MODE MC_0
      +
      398 #define TIMER_B_UP_MODE MC_1
      +
      399 #define TIMER_B_CONTINUOUS_MODE MC_2
      +
      400 #define TIMER_B_UPDOWN_MODE MC_3
      +
      401 
      +
      402 //*****************************************************************************
      +
      403 //
      +
      404 // The following are values that can be passed to the param parameter for
      +
      405 // functions: Timer_B_initContinuousMode(), Timer_B_initUpMode(), and
      +
      406 // Timer_B_initUpDownMode().
      +
      407 //
      +
      408 //*****************************************************************************
      +
      409 #define TIMER_B_DO_CLEAR TBCLR
      +
      410 #define TIMER_B_SKIP_CLEAR 0x00
      +
      411 
      +
      412 //*****************************************************************************
      +
      413 //
      +
      414 // The following are values that can be passed to the param parameter for
      +
      415 // functions: Timer_B_initContinuousMode(), Timer_B_initUpMode(),
      +
      416 // Timer_B_initUpDownMode(), and Timer_B_outputPWM().
      +
      417 //
      +
      418 //*****************************************************************************
      +
      419 #define TIMER_B_CLOCKSOURCE_EXTERNAL_TXCLK TBSSEL__TACLK
      +
      420 #define TIMER_B_CLOCKSOURCE_ACLK TBSSEL__ACLK
      +
      421 #define TIMER_B_CLOCKSOURCE_SMCLK TBSSEL__SMCLK
      +
      422 #define TIMER_B_CLOCKSOURCE_INVERTED_EXTERNAL_TXCLK TBSSEL__INCLK
      +
      423 
      +
      424 //*****************************************************************************
      +
      425 //
      +
      426 // The following are values that can be passed to the param parameter for
      +
      427 // functions: Timer_B_initContinuousMode(), Timer_B_initUpMode(), and
      +
      428 // Timer_B_initUpDownMode().
      +
      429 //
      +
      430 //*****************************************************************************
      +
      431 #define TIMER_B_TBIE_INTERRUPT_ENABLE TBIE
      +
      432 #define TIMER_B_TBIE_INTERRUPT_DISABLE 0x00
      +
      433 
      +
      434 //*****************************************************************************
      +
      435 //
      +
      436 // The following are values that can be passed to the param parameter for
      +
      437 // functions: Timer_B_initUpMode(), and Timer_B_initUpDownMode().
      +
      438 //
      +
      439 //*****************************************************************************
      +
      440 #define TIMER_B_CCIE_CCR0_INTERRUPT_ENABLE CCIE
      +
      441 #define TIMER_B_CCIE_CCR0_INTERRUPT_DISABLE 0x00
      +
      442 
      +
      443 //*****************************************************************************
      +
      444 //
      +
      445 // The following are values that can be passed to the param parameter for
      +
      446 // functions: Timer_B_initCaptureMode(), and Timer_B_initCompareMode().
      +
      447 //
      +
      448 //*****************************************************************************
      +
      449 #define TIMER_B_CAPTURECOMPARE_INTERRUPT_DISABLE 0x00
      +
      450 #define TIMER_B_CAPTURECOMPARE_INTERRUPT_ENABLE CCIE
      +
      451 
      +
      452 //*****************************************************************************
      +
      453 //
      +
      454 // The following are values that can be passed to the param parameter for
      +
      455 // functions: Timer_B_initCaptureMode().
      +
      456 //
      +
      457 //*****************************************************************************
      +
      458 #define TIMER_B_CAPTURE_INPUTSELECT_CCIxA CCIS_0
      +
      459 #define TIMER_B_CAPTURE_INPUTSELECT_CCIxB CCIS_1
      +
      460 #define TIMER_B_CAPTURE_INPUTSELECT_GND CCIS_2
      +
      461 #define TIMER_B_CAPTURE_INPUTSELECT_Vcc CCIS_3
      +
      462 
      +
      463 //*****************************************************************************
      +
      464 //
      +
      465 // The following are values that can be passed to the compareOutputMode
      +
      466 // parameter for functions: Timer_B_setOutputMode(); the param parameter for
      +
      467 // functions: Timer_B_initCaptureMode(), Timer_B_initCompareMode(), and
      +
      468 // Timer_B_outputPWM().
      +
      469 //
      +
      470 //*****************************************************************************
      +
      471 #define TIMER_B_OUTPUTMODE_OUTBITVALUE OUTMOD_0
      +
      472 #define TIMER_B_OUTPUTMODE_SET OUTMOD_1
      +
      473 #define TIMER_B_OUTPUTMODE_TOGGLE_RESET OUTMOD_2
      +
      474 #define TIMER_B_OUTPUTMODE_SET_RESET OUTMOD_3
      +
      475 #define TIMER_B_OUTPUTMODE_TOGGLE OUTMOD_4
      +
      476 #define TIMER_B_OUTPUTMODE_RESET OUTMOD_5
      +
      477 #define TIMER_B_OUTPUTMODE_TOGGLE_SET OUTMOD_6
      +
      478 #define TIMER_B_OUTPUTMODE_RESET_SET OUTMOD_7
      +
      479 
      +
      480 //*****************************************************************************
      +
      481 //
      +
      482 // The following are values that can be passed to the compareRegister parameter
      +
      483 // for functions: Timer_B_setCompareValue(),
      +
      484 // Timer_B_initCompareLatchLoadEvent(), and Timer_B_setOutputMode(); the
      +
      485 // captureCompareRegister parameter for functions:
      +
      486 // Timer_B_enableCaptureCompareInterrupt(),
      +
      487 // Timer_B_disableCaptureCompareInterrupt(),
      +
      488 // Timer_B_getCaptureCompareInterruptStatus(),
      +
      489 // Timer_B_getSynchronizedCaptureCompareInput(),
      +
      490 // Timer_B_getOutputForOutputModeOutBitValue(),
      +
      491 // Timer_B_getCaptureCompareCount(),
      +
      492 // Timer_B_setOutputForOutputModeOutBitValue(), and
      +
      493 // Timer_B_clearCaptureCompareInterrupt(); the param parameter for functions:
      +
      494 // Timer_B_initCaptureMode(), Timer_B_initCompareMode(), and
      +
      495 // Timer_B_outputPWM().
      +
      496 //
      +
      497 //*****************************************************************************
      +
      498 #define TIMER_B_CAPTURECOMPARE_REGISTER_0 0x02
      +
      499 #define TIMER_B_CAPTURECOMPARE_REGISTER_1 0x04
      +
      500 #define TIMER_B_CAPTURECOMPARE_REGISTER_2 0x06
      +
      501 #define TIMER_B_CAPTURECOMPARE_REGISTER_3 0x08
      +
      502 #define TIMER_B_CAPTURECOMPARE_REGISTER_4 0x0A
      +
      503 #define TIMER_B_CAPTURECOMPARE_REGISTER_5 0x0C
      +
      504 #define TIMER_B_CAPTURECOMPARE_REGISTER_6 0x0E
      +
      505 
      +
      506 //*****************************************************************************
      +
      507 //
      +
      508 // The following are values that can be passed to the param parameter for
      +
      509 // functions: Timer_B_initCaptureMode().
      +
      510 //
      +
      511 //*****************************************************************************
      +
      512 #define TIMER_B_CAPTUREMODE_NO_CAPTURE CM_0
      +
      513 #define TIMER_B_CAPTUREMODE_RISING_EDGE CM_1
      +
      514 #define TIMER_B_CAPTUREMODE_FALLING_EDGE CM_2
      +
      515 #define TIMER_B_CAPTUREMODE_RISING_AND_FALLING_EDGE CM_3
      +
      516 
      +
      517 //*****************************************************************************
      +
      518 //
      +
      519 // The following are values that can be passed to the param parameter for
      +
      520 // functions: Timer_B_initCaptureMode().
      +
      521 //
      +
      522 //*****************************************************************************
      +
      523 #define TIMER_B_CAPTURE_ASYNCHRONOUS 0x00
      +
      524 #define TIMER_B_CAPTURE_SYNCHRONOUS SCS
      +
      525 
      +
      526 //*****************************************************************************
      +
      527 //
      +
      528 // The following are values that can be passed to the mask parameter for
      +
      529 // functions: Timer_B_getCaptureCompareInterruptStatus() as well as returned by
      +
      530 // the Timer_B_getCaptureCompareInterruptStatus() function.
      +
      531 //
      +
      532 //*****************************************************************************
      +
      533 #define TIMER_B_CAPTURE_OVERFLOW COV
      +
      534 #define TIMER_B_CAPTURECOMPARE_INTERRUPT_FLAG CCIFG
      +
      535 
      +
      536 //*****************************************************************************
      +
      537 //
      +
      538 // The following are values that can be passed to the synchronized parameter
      +
      539 // for functions: Timer_B_getSynchronizedCaptureCompareInput().
      +
      540 //
      +
      541 //*****************************************************************************
      +
      542 #define TIMER_B_READ_SYNCHRONIZED_CAPTURECOMPAREINPUT SCCI
      +
      543 #define TIMER_B_READ_CAPTURE_COMPARE_INPUT CCI
      +
      544 
      +
      545 //*****************************************************************************
      +
      546 //
      +
      547 // The following are values that can be passed toThe following are values that
      +
      548 // can be returned by the Timer_B_getSynchronizedCaptureCompareInput()
      +
      549 // function.
      +
      550 //
      +
      551 //*****************************************************************************
      +
      552 #define TIMER_B_CAPTURECOMPARE_INPUT_HIGH 0x01
      +
      553 #define TIMER_B_CAPTURECOMPARE_INPUT_LOW 0x00
      +
      554 
      +
      555 //*****************************************************************************
      +
      556 //
      +
      557 // The following are values that can be passed to the outputModeOutBitValue
      +
      558 // parameter for functions: Timer_B_setOutputForOutputModeOutBitValue() as well
      +
      559 // as returned by the Timer_B_getOutputForOutputModeOutBitValue() function.
      +
      560 //
      +
      561 //*****************************************************************************
      +
      562 #define TIMER_B_OUTPUTMODE_OUTBITVALUE_HIGH OUT
      +
      563 #define TIMER_B_OUTPUTMODE_OUTBITVALUE_LOW 0x0000
      +
      564 
      +
      565 //*****************************************************************************
      +
      566 //
      +
      567 // The following are values that can be passed to the counterLength parameter
      +
      568 // for functions: Timer_B_selectCounterLength().
      +
      569 //
      +
      570 //*****************************************************************************
      +
      571 #define TIMER_B_COUNTER_16BIT CNTL_0
      +
      572 #define TIMER_B_COUNTER_12BIT CNTL_1
      +
      573 #define TIMER_B_COUNTER_10BIT CNTL_2
      +
      574 #define TIMER_B_COUNTER_8BIT CNTL_3
      +
      575 
      +
      576 //*****************************************************************************
      +
      577 //
      +
      578 // The following are values that can be passed to the groupLatch parameter for
      +
      579 // functions: Timer_B_selectLatchingGroup().
      +
      580 //
      +
      581 //*****************************************************************************
      +
      582 #define TIMER_B_GROUP_NONE TBCLGRP_0
      +
      583 #define TIMER_B_GROUP_CL12_CL23_CL56 TBCLGRP_1
      +
      584 #define TIMER_B_GROUP_CL123_CL456 TBCLGRP_2
      +
      585 #define TIMER_B_GROUP_ALL TBCLGRP_3
      +
      586 
      +
      587 //*****************************************************************************
      +
      588 //
      +
      589 // The following are values that can be passed to the compareLatchLoadEvent
      +
      590 // parameter for functions: Timer_B_initCompareLatchLoadEvent().
      +
      591 //
      +
      592 //*****************************************************************************
      +
      593 #define TIMER_B_LATCH_ON_WRITE_TO_TBxCCRn_COMPARE_REGISTER CLLD_0
      +
      594 #define TIMER_B_LATCH_WHEN_COUNTER_COUNTS_TO_0_IN_UP_OR_CONT_MODE CLLD_1
      +
      595 #define TIMER_B_LATCH_WHEN_COUNTER_COUNTS_TO_0_IN_UPDOWN_MODE CLLD_2
      +
      596 #define TIMER_B_LATCH_WHEN_COUNTER_COUNTS_TO_CURRENT_COMPARE_LATCH_VALUE CLLD_3
      +
      597 
      +
      598 //*****************************************************************************
      +
      599 //
      +
      600 // The following are values that can be passed toThe following are values that
      +
      601 // can be returned by the Timer_B_getInterruptStatus() function.
      +
      602 //
      +
      603 //*****************************************************************************
      +
      604 #define TIMER_B_INTERRUPT_NOT_PENDING 0x00
      +
      605 #define TIMER_B_INTERRUPT_PENDING 0x01
      +
      606 
      +
      607 //*****************************************************************************
      +
      608 //
      +
      609 // Prototypes for the APIs.
      +
      610 //
      +
      611 //*****************************************************************************
      +
      612 
      +
      613 //*****************************************************************************
      +
      614 //
      +
      631 //
      +
      632 //*****************************************************************************
      +
      633 extern void Timer_B_startCounter(uint16_t baseAddress,
      +
      634  uint16_t timerMode);
      +
      635 
      +
      636 //*****************************************************************************
      +
      637 //
      +
      649 //
      +
      650 //*****************************************************************************
      +
      651 extern void Timer_B_initContinuousMode(uint16_t baseAddress,
      +
      652  Timer_B_initContinuousModeParam *param);
      +
      653 
      +
      654 //*****************************************************************************
      +
      655 //
      +
      668 //
      +
      669 //*****************************************************************************
      +
      670 extern void Timer_B_initUpMode(uint16_t baseAddress,
      +
      671  Timer_B_initUpModeParam *param);
      +
      672 
      +
      673 //*****************************************************************************
      +
      674 //
      +
      687 //
      +
      688 //*****************************************************************************
      +
      689 extern void Timer_B_initUpDownMode(uint16_t baseAddress,
      +
      690  Timer_B_initUpDownModeParam *param);
      +
      691 
      +
      692 //*****************************************************************************
      +
      693 //
      +
      702 //
      +
      703 //*****************************************************************************
      +
      704 extern void Timer_B_initCaptureMode(uint16_t baseAddress,
      +
      705  Timer_B_initCaptureModeParam *param);
      +
      706 
      +
      707 //*****************************************************************************
      +
      708 //
      +
      717 //
      +
      718 //*****************************************************************************
      +
      719 extern void Timer_B_initCompareMode(uint16_t baseAddress,
      +
      720  Timer_B_initCompareModeParam *param);
      +
      721 
      +
      722 //*****************************************************************************
      +
      723 //
      +
      733 //
      +
      734 //*****************************************************************************
      +
      735 extern void Timer_B_enableInterrupt(uint16_t baseAddress);
      +
      736 
      +
      737 //*****************************************************************************
      +
      738 //
      +
      746 //
      +
      747 //*****************************************************************************
      +
      748 extern void Timer_B_disableInterrupt(uint16_t baseAddress);
      +
      749 
      +
      750 //*****************************************************************************
      +
      751 //
      +
      760 //
      +
      761 //*****************************************************************************
      +
      762 extern uint32_t Timer_B_getInterruptStatus(uint16_t baseAddress);
      +
      763 
      +
      764 //*****************************************************************************
      +
      765 //
      +
      784 //
      +
      785 //*****************************************************************************
      +
      786 extern void Timer_B_enableCaptureCompareInterrupt(uint16_t baseAddress,
      +
      787  uint16_t captureCompareRegister);
      +
      788 
      +
      789 //*****************************************************************************
      +
      790 //
      +
      809 //
      +
      810 //*****************************************************************************
      +
      811 extern void Timer_B_disableCaptureCompareInterrupt(uint16_t baseAddress,
      +
      812  uint16_t captureCompareRegister);
      +
      813 
      +
      814 //*****************************************************************************
      +
      815 //
      +
      839 //
      +
      840 //*****************************************************************************
      +
      841 extern uint32_t Timer_B_getCaptureCompareInterruptStatus(uint16_t baseAddress,
      +
      842  uint16_t captureCompareRegister,
      +
      843  uint16_t mask);
      +
      844 
      +
      845 //*****************************************************************************
      +
      846 //
      +
      854 //
      +
      855 //*****************************************************************************
      +
      856 extern void Timer_B_clear(uint16_t baseAddress);
      +
      857 
      +
      858 //*****************************************************************************
      +
      859 //
      +
      882 //
      +
      883 //*****************************************************************************
      +
      884 extern uint8_t Timer_B_getSynchronizedCaptureCompareInput(uint16_t baseAddress,
      +
      885  uint16_t captureCompareRegister,
      +
      886  uint16_t synchronized);
      +
      887 
      +
      888 //*****************************************************************************
      +
      889 //
      +
      908 //
      +
      909 //*****************************************************************************
      +
      910 extern uint8_t Timer_B_getOutputForOutputModeOutBitValue(uint16_t baseAddress,
      +
      911  uint16_t captureCompareRegister);
      +
      912 
      +
      913 //*****************************************************************************
      +
      914 //
      +
      931 //
      +
      932 //*****************************************************************************
      +
      933 extern uint16_t Timer_B_getCaptureCompareCount(uint16_t baseAddress,
      +
      934  uint16_t captureCompareRegister);
      +
      935 
      +
      936 //*****************************************************************************
      +
      937 //
      +
      960 //
      +
      961 //*****************************************************************************
      +
      962 extern void Timer_B_setOutputForOutputModeOutBitValue(uint16_t baseAddress,
      +
      963  uint16_t captureCompareRegister,
      +
      964  uint16_t outputModeOutBitValue);
      +
      965 
      +
      966 //*****************************************************************************
      +
      967 //
      +
      977 //
      +
      978 //*****************************************************************************
      +
      979 extern void Timer_B_outputPWM(uint16_t baseAddress,
      +
      980  Timer_B_outputPWMParam *param);
      +
      981 
      +
      982 //*****************************************************************************
      +
      983 //
      +
      991 //
      +
      992 //*****************************************************************************
      +
      993 extern void Timer_B_stop(uint16_t baseAddress);
      +
      994 
      +
      995 //*****************************************************************************
      +
      996 //
      +
      1015 //
      +
      1016 //*****************************************************************************
      +
      1017 extern void Timer_B_setCompareValue(uint16_t baseAddress,
      +
      1018  uint16_t compareRegister,
      +
      1019  uint16_t compareValue);
      +
      1020 
      +
      1021 //*****************************************************************************
      +
      1022 //
      +
      1030 //
      +
      1031 //*****************************************************************************
      +
      1032 extern void Timer_B_clearTimerInterrupt(uint16_t baseAddress);
      +
      1033 
      +
      1034 //*****************************************************************************
      +
      1035 //
      +
      1054 //
      +
      1055 //*****************************************************************************
      +
      1056 extern void Timer_B_clearCaptureCompareInterrupt(uint16_t baseAddress,
      +
      1057  uint16_t captureCompareRegister);
      +
      1058 
      +
      1059 //*****************************************************************************
      +
      1060 //
      +
      1074 //
      +
      1075 //*****************************************************************************
      +
      1076 extern void Timer_B_selectCounterLength(uint16_t baseAddress,
      +
      1077  uint16_t counterLength);
      +
      1078 
      +
      1079 //*****************************************************************************
      +
      1080 //
      +
      1094 //
      +
      1095 //*****************************************************************************
      +
      1096 extern void Timer_B_selectLatchingGroup(uint16_t baseAddress,
      +
      1097  uint16_t groupLatch);
      +
      1098 
      +
      1099 //*****************************************************************************
      +
      1100 //
      +
      1125 //
      +
      1126 //*****************************************************************************
      +
      1127 extern void Timer_B_initCompareLatchLoadEvent(uint16_t baseAddress,
      +
      1128  uint16_t compareRegister,
      +
      1129  uint16_t compareLatchLoadEvent);
      +
      1130 
      +
      1131 //*****************************************************************************
      +
      1132 //
      +
      1143 //
      +
      1144 //*****************************************************************************
      +
      1145 extern uint16_t Timer_B_getCounterValue(uint16_t baseAddress);
      +
      1146 
      +
      1147 //*****************************************************************************
      +
      1148 //
      +
      1177 //
      +
      1178 //*****************************************************************************
      +
      1179 extern void Timer_B_setOutputMode(uint16_t baseAddress,
      +
      1180  uint16_t compareRegister,
      +
      1181  uint16_t compareOutputMode);
      +
      1182 
      +
      1183 //*****************************************************************************
      +
      1184 //
      +
      1185 // Mark the end of the C bindings section for C++ compilers.
      +
      1186 //
      +
      1187 //*****************************************************************************
      +
      1188 #ifdef __cplusplus
      +
      1189 }
      +
      1190 #endif
      +
      1191 
      +
      1192 #endif
      +
      1193 #endif // __MSP430WARE_TIMER_B_H__
      + +
      +
      + + + + diff --git a/Documentation/html/timer__d_8c.html b/Documentation/html/timer__d_8c.html new file mode 100644 index 0000000..de64c9c --- /dev/null +++ b/Documentation/html/timer__d_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_d.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_d.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/timer__d_8c_source.html b/Documentation/html/timer__d_8c_source.html new file mode 100644 index 0000000..f6e01a1 --- /dev/null +++ b/Documentation/html/timer__d_8c_source.html @@ -0,0 +1,659 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_d.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_d.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // timer_d.c - Driver for the timer_d Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_TxD7__
      +
      17 #include "timer_d.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 #include "tlv.h"
      +
      22 void Timer_D_startCounter ( uint16_t baseAddress,
      +
      23  uint16_t timerMode
      +
      24  )
      +
      25 {
      +
      26  HWREG16(baseAddress + OFS_TDxCTL0) |= timerMode;
      +
      27 }
      +
      28 
      +
      29 void Timer_D_initContinuousMode(uint16_t baseAddress,
      +
      30  Timer_D_initContinuousModeParam *param)
      +
      31 {
      +
      32  HWREG16(baseAddress +
      +
      33  OFS_TDxCTL0) &= ~(TIMER_D_CLOCKSOURCE_INVERTED_EXTERNAL_TDCLK +
      +
      34  TIMER_D_UPDOWN_MODE +
      +
      35  TIMER_D_DO_CLEAR +
      +
      36  TIMER_D_TDIE_INTERRUPT_ENABLE +
      +
      37  ID__8
      +
      38  );
      +
      39  HWREG16(baseAddress + OFS_TDxCTL1) &= ~(TDCLKM0 + TDCLKM1 + TDIDEX_7);
      +
      40 
      +
      41  HWREG16(baseAddress + OFS_TDxCTL0) |= param->clockSource;
      +
      42  HWREG16(baseAddress + OFS_TDxCTL1) |= (param->clockingMode +
      +
      43  ((param->clockSourceDivider&0x7)<<8));
      +
      44 
      +
      45  HWREG16(baseAddress + OFS_TDxCTL0) |= (param->timerClear +
      +
      46  param->timerInterruptEnable_TDIE +
      +
      47  ((param->clockSourceDivider>>3)<<6));
      +
      48 }
      +
      49 
      +
      50 void Timer_D_initUpMode(uint16_t baseAddress, Timer_D_initUpModeParam *param)
      +
      51 {
      +
      52  HWREG16(baseAddress + OFS_TDxCTL0) &=
      +
      53  ~(TIMER_D_CLOCKSOURCE_INVERTED_EXTERNAL_TDCLK +
      +
      54  TIMER_D_UPDOWN_MODE +
      +
      55  TIMER_D_DO_CLEAR +
      +
      56  TIMER_D_TDIE_INTERRUPT_ENABLE +
      +
      57  ID__8
      +
      58  );
      +
      59  HWREG16(baseAddress + OFS_TDxCTL1) &= ~(TDCLKM0 + TDCLKM1 + TDIDEX_7);
      +
      60 
      +
      61  HWREG16(baseAddress + OFS_TDxCTL0) |= param->clockSource;
      +
      62  HWREG16(baseAddress + OFS_TDxCTL1) |= (param->clockingMode +
      +
      63  ((param->clockSourceDivider&0x7)<<8));
      +
      64 
      +
      65  HWREG16(baseAddress + OFS_TDxCTL0) |= (TIMER_D_STOP_MODE +
      +
      66  param->timerClear +
      +
      67  param->timerInterruptEnable_TDIE +
      +
      68  ((param->clockSourceDivider>>3)<<6));
      +
      69 
      +
      70  if (TIMER_D_CCIE_CCR0_INTERRUPT_ENABLE ==
      +
      71  param->captureCompareInterruptEnable_CCR0_CCIE){
      +
      72  HWREG16(baseAddress + OFS_TDxCCTL0) |= TIMER_D_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      73  } else {
      +
      74  HWREG16(baseAddress + OFS_TDxCCTL0) &= ~TIMER_D_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      75  }
      +
      76 
      +
      77  HWREG16(baseAddress + OFS_TDxCCR0) = param->timerPeriod;
      +
      78 }
      +
      79 
      +
      80 void Timer_D_initUpDownMode(uint16_t baseAddress,
      +
      81  Timer_D_initUpDownModeParam *param)
      +
      82 {
      +
      83  HWREG16(baseAddress + OFS_TDxCTL0) &=
      +
      84  ~(TIMER_D_CLOCKSOURCE_INVERTED_EXTERNAL_TDCLK +
      +
      85  TIMER_D_UPDOWN_MODE +
      +
      86  TIMER_D_DO_CLEAR +
      +
      87  TIMER_D_TDIE_INTERRUPT_ENABLE +
      +
      88  ID__8
      +
      89  );
      +
      90  HWREG16(baseAddress + OFS_TDxCTL1) &= ~(TDCLKM0 + TDCLKM1 + TDIDEX_7);
      +
      91 
      +
      92  HWREG16(baseAddress + OFS_TDxCTL0) |= param->clockSource;
      +
      93  HWREG16(baseAddress + OFS_TDxCTL1) |= (param->clockingMode +
      +
      94  ((param->clockSourceDivider&0x7)<<8));
      +
      95 
      +
      96  HWREG16(baseAddress + OFS_TDxCTL0) |= (TIMER_D_STOP_MODE +
      +
      97  param->timerClear +
      +
      98  param->timerInterruptEnable_TDIE +
      +
      99  ((param->clockSourceDivider>>3)<<6));
      +
      100 
      +
      101  if (TIMER_D_CCIE_CCR0_INTERRUPT_ENABLE ==
      +
      102  param->captureCompareInterruptEnable_CCR0_CCIE){
      +
      103  HWREG16(baseAddress + OFS_TDxCCTL0) |= TIMER_D_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      104  } else {
      +
      105  HWREG16(baseAddress + OFS_TDxCCTL0) &= ~TIMER_D_CCIE_CCR0_INTERRUPT_ENABLE;
      +
      106  }
      +
      107 
      +
      108  HWREG16(baseAddress + OFS_TDxCCR0) = param->timerPeriod;
      +
      109 }
      +
      110 
      +
      111 void Timer_D_initCaptureMode(uint16_t baseAddress,
      +
      112  Timer_D_initCaptureModeParam *param)
      +
      113 {
      +
      114 
      +
      115  HWREG16(baseAddress + param->captureRegister ) |= CAP;
      +
      116 
      +
      117  HWREG8(baseAddress + OFS_TDxCTL2) |=
      +
      118  (param->channelCaptureMode << ((param->captureRegister - TIMER_D_CAPTURECOMPARE_REGISTER_0)/6));
      +
      119 
      +
      120  HWREG16(baseAddress + param->captureRegister) &=
      +
      121  ~(TIMER_D_CAPTUREMODE_RISING_AND_FALLING_EDGE +
      +
      122  TIMER_D_CAPTURE_INPUTSELECT_Vcc +
      +
      123  TIMER_D_CAPTURE_SYNCHRONOUS +
      +
      124  TIMER_D_DO_CLEAR +
      +
      125  TIMER_D_TDIE_INTERRUPT_ENABLE +
      +
      126  CM_3
      +
      127  );
      +
      128 
      +
      129  HWREG16(baseAddress + param->captureRegister) |= (param->captureMode +
      +
      130  param->captureInputSelect +
      +
      131  param->synchronizeCaptureSource +
      +
      132  param->captureInterruptEnable +
      +
      133  param->captureOutputMode
      +
      134  );
      +
      135 }
      +
      136 
      +
      137 void Timer_D_initCompareMode(uint16_t baseAddress,
      +
      138  Timer_D_initCompareModeParam *param)
      +
      139 {
      +
      140  HWREG16(baseAddress + param->compareRegister ) &= ~CAP;
      +
      141 
      +
      142  HWREG16(baseAddress + param->compareRegister) &=
      +
      143  ~(TIMER_D_CAPTURECOMPARE_INTERRUPT_ENABLE +
      +
      144  TIMER_D_OUTPUTMODE_RESET_SET
      +
      145  );
      +
      146 
      +
      147  HWREG16(baseAddress + param->compareRegister) |= (param->compareInterruptEnable +
      +
      148  param->compareOutputMode
      +
      149  );
      +
      150 
      +
      151  HWREG16(baseAddress + param->compareRegister + 2) = param->compareValue;
      +
      152 }
      +
      153 
      +
      154 void Timer_D_enableTimerInterrupt (uint16_t baseAddress)
      +
      155 {
      +
      156  HWREG8(baseAddress + OFS_TDxCTL0) &= ~TDIFG;
      +
      157  HWREG8(baseAddress + OFS_TDxCTL0) |= TDIE;
      +
      158 }
      +
      159 
      +
      160 void Timer_D_enableHighResInterrupt (uint16_t baseAddress,
      +
      161  uint16_t mask)
      +
      162 {
      +
      163  HWREG16(baseAddress + OFS_TDxHINT) &= ~(mask >> 8);
      +
      164  HWREG16(baseAddress + OFS_TDxHINT) |= mask;
      +
      165 }
      +
      166 
      +
      167 void Timer_D_disableTimerInterrupt (uint16_t baseAddress)
      +
      168 {
      +
      169  HWREG8(baseAddress + OFS_TDxCTL0) &= ~TDIE;
      +
      170 }
      +
      171 
      +
      172 void Timer_D_disableHighResInterrupt (uint16_t baseAddress,
      +
      173  uint16_t mask)
      +
      174 {
      +
      175  HWREG16(baseAddress + OFS_TDxHINT) &= ~mask;
      +
      176 }
      +
      177 
      +
      178 uint32_t Timer_D_getTimerInterruptStatus (uint16_t baseAddress)
      +
      179 {
      +
      180  return (HWREG8(baseAddress + OFS_TDxCTL0) & TDIFG);
      +
      181 }
      +
      182 
      +
      183 void Timer_D_enableCaptureCompareInterrupt (uint16_t baseAddress,
      +
      184  uint16_t captureCompareRegister
      +
      185  )
      +
      186 {
      +
      187  HWREG8(baseAddress + captureCompareRegister) &= ~CCIFG;
      +
      188  HWREG16(baseAddress + captureCompareRegister) |= CCIE;
      +
      189 }
      +
      190 
      +
      191 void Timer_D_disableCaptureCompareInterrupt (uint16_t baseAddress,
      +
      192  uint16_t captureCompareRegister
      +
      193  )
      +
      194 {
      +
      195  HWREG16(baseAddress + captureCompareRegister) &= ~CCIE;
      +
      196 }
      +
      197 
      +
      198 uint32_t Timer_D_getCaptureCompareInterruptStatus (uint16_t baseAddress,
      +
      199  uint16_t captureCompareRegister,
      +
      200  uint16_t mask
      +
      201  )
      +
      202 {
      +
      203  return ( HWREG16(baseAddress + captureCompareRegister) & mask );
      +
      204 }
      +
      205 
      +
      206 uint16_t Timer_D_getHighResInterruptStatus (uint16_t baseAddress,
      +
      207  uint16_t mask)
      +
      208 {
      +
      209  mask = (mask >> 8);
      +
      210  return ( (HWREG16(baseAddress + OFS_TDxHINT) & mask) << 8 );
      +
      211 }
      +
      212 
      +
      213 void Timer_D_clear (uint16_t baseAddress)
      +
      214 {
      +
      215  HWREG16(baseAddress + OFS_TDxCTL0) |= TDCLR;
      +
      216 }
      +
      217 
      +
      218 void Timer_D_clearHighResInterrupt (uint16_t baseAddress,
      +
      219  uint16_t mask)
      +
      220 {
      +
      221  mask = (mask >> 8);
      +
      222  HWREG16(baseAddress + OFS_TDxHINT) &= ~mask;
      +
      223 }
      +
      224 
      +
      225 uint8_t Timer_D_getSynchronizedCaptureCompareInput
      +
      226  (uint16_t baseAddress,
      +
      227  uint16_t captureCompareRegister,
      +
      228  uint16_t synchronized
      +
      229  )
      +
      230 {
      +
      231  if (HWREG16(baseAddress + captureCompareRegister) & synchronized){
      +
      232  return ( TIMER_D_CAPTURECOMPARE_INPUT_HIGH) ;
      +
      233  } else {
      +
      234  return ( TIMER_D_CAPTURECOMPARE_INPUT_LOW) ;
      +
      235  }
      +
      236 }
      +
      237 
      +
      238 uint8_t Timer_D_getOutputForOutputModeOutBitValue
      +
      239  (uint16_t baseAddress,
      +
      240  uint16_t captureCompareRegister
      +
      241  )
      +
      242 {
      +
      243  if (HWREG16(baseAddress + captureCompareRegister) & OUT){
      +
      244  return ( TIMER_D_OUTPUTMODE_OUTBITVALUE_HIGH) ;
      +
      245  } else {
      +
      246  return ( TIMER_D_OUTPUTMODE_OUTBITVALUE_LOW) ;
      +
      247  }
      +
      248 }
      +
      249 
      +
      250 uint16_t Timer_D_getCaptureCompareCount
      +
      251  (uint16_t baseAddress,
      +
      252  uint16_t captureCompareRegister
      +
      253  )
      +
      254 {
      +
      255  return (HWREG16(baseAddress + captureCompareRegister + 2));
      +
      256 }
      +
      257 
      +
      258 uint16_t Timer_D_getCaptureCompareLatchCount
      +
      259  (uint16_t baseAddress,
      +
      260  uint16_t captureCompareRegister
      +
      261  )
      +
      262 {
      +
      263  return (HWREG16(baseAddress + captureCompareRegister + 4));
      +
      264 }
      +
      265 
      +
      266 uint8_t Timer_D_getCaptureCompareInputSignal
      +
      267  (uint16_t baseAddress,
      +
      268  uint16_t captureCompareRegister
      +
      269  )
      +
      270 {
      +
      271  return ((HWREG8(baseAddress + captureCompareRegister) & CCI));
      +
      272 }
      +
      273 
      +
      274 void Timer_D_setOutputForOutputModeOutBitValue
      +
      275  (uint16_t baseAddress,
      +
      276  uint16_t captureCompareRegister,
      +
      277  uint8_t outputModeOutBitValue
      +
      278  )
      +
      279 {
      +
      280  HWREG16(baseAddress + captureCompareRegister) &= ~OUT;
      +
      281  HWREG16(baseAddress + captureCompareRegister) |= outputModeOutBitValue;
      +
      282 }
      +
      283 
      +
      284 void Timer_D_outputPWM(uint16_t baseAddress, Timer_D_outputPWMParam *param)
      +
      285 {
      +
      286  HWREG16(baseAddress + OFS_TDxCTL1) &= ~(TDCLKM0 + TDCLKM1 + TDIDEX_7);
      +
      287 
      +
      288  HWREG16(baseAddress + OFS_TDxCTL0) &=
      +
      289  ~(TIMER_D_CLOCKSOURCE_INVERTED_EXTERNAL_TDCLK +
      +
      290  TIMER_D_UPDOWN_MODE + TIMER_D_DO_CLEAR +
      +
      291  TIMER_D_TDIE_INTERRUPT_ENABLE +
      +
      292  ID__8
      +
      293  );
      +
      294 
      +
      295  HWREG16(baseAddress + OFS_TDxCTL0) |= param->clockSource;
      +
      296  HWREG16(baseAddress + OFS_TDxCTL1) |= (param->clockingMode +
      +
      297  ((param->clockSourceDivider&0x7)<<8));
      +
      298 
      +
      299  HWREG16(baseAddress + OFS_TDxCTL0) |= (TIMER_D_UP_MODE +
      +
      300  TIMER_D_DO_CLEAR +
      +
      301  ((param->clockSourceDivider>>3)<<6));
      +
      302 
      +
      303  HWREG16(baseAddress + OFS_TDxCCR0) = param->timerPeriod;
      +
      304 
      +
      305  HWREG16(baseAddress + OFS_TDxCCTL0) &=
      +
      306  ~(TIMER_D_CAPTURECOMPARE_INTERRUPT_ENABLE +
      +
      307  TIMER_D_OUTPUTMODE_RESET_SET
      +
      308  );
      +
      309  HWREG16(baseAddress + param->compareRegister) |= param->compareOutputMode;
      +
      310 
      +
      311  HWREG16(baseAddress + param->compareRegister + 2) = param->dutyCycle;
      +
      312 }
      +
      313 
      +
      314 void Timer_D_stop ( uint16_t baseAddress )
      +
      315 {
      +
      316  HWREG16(baseAddress + OFS_TDxCTL0) &= ~MC_3;
      +
      317 }
      +
      318 
      +
      319 void Timer_D_setCompareValue ( uint16_t baseAddress,
      +
      320  uint16_t compareRegister,
      +
      321  uint16_t compareValue
      +
      322  )
      +
      323 {
      +
      324  HWREG16(baseAddress + compareRegister + 0x02) = compareValue;
      +
      325 }
      +
      326 
      +
      327 void Timer_D_clearTimerInterrupt (uint16_t baseAddress)
      +
      328 {
      +
      329  HWREG16(baseAddress + OFS_TDxCTL0) &= ~TDIFG;
      +
      330 }
      +
      331 
      +
      332 void Timer_D_clearCaptureCompareInterrupt (uint16_t baseAddress,
      +
      333  uint16_t captureCompareRegister
      +
      334  )
      +
      335 {
      +
      336  HWREG16(baseAddress + captureCompareRegister) &= ~CCIFG;
      +
      337 }
      +
      338 
      +
      339 uint8_t Timer_D_initHighResGeneratorInFreeRunningMode
      +
      340  (uint16_t baseAddress,
      +
      341  uint8_t desiredHighResFrequency
      +
      342  )
      +
      343 {
      +
      344  struct s_TLV_Timer_D_Cal_Data * pTD0CAL;
      +
      345  uint8_t TD0CAL_bytes;
      +
      346 
      +
      347  // Read the TimerD TLV Data
      +
      348  TLV_getInfo(TLV_TAG_TIMER_D_CAL,
      +
      349  0,
      +
      350  &TD0CAL_bytes,
      +
      351  (uint16_t **)&pTD0CAL
      +
      352  );
      +
      353 
      +
      354  if(0x00 == TD0CAL_bytes)
      +
      355  {
      +
      356  // No TimerD free running cal data found
      +
      357  return STATUS_FAIL;
      +
      358  }
      +
      359 
      +
      360  HWREG16(baseAddress + OFS_TDxHCTL1) = TDHCLKTRIM6;
      +
      361  HWREG16(baseAddress + OFS_TDxCTL1) = 0x00;
      +
      362  HWREG16(baseAddress + OFS_TDxHCTL0) = 0x00;
      +
      363 
      +
      364  switch( desiredHighResFrequency )
      +
      365  {
      +
      366  case TIMER_D_HIGHRES_64MHZ:
      +
      367  HWREG16(baseAddress + OFS_TDxHCTL1) = pTD0CAL->TDH0CTL1_64;
      +
      368  break;
      +
      369 
      +
      370  case TIMER_D_HIGHRES_128MHZ:
      +
      371  HWREG16(baseAddress + OFS_TDxHCTL1) = pTD0CAL->TDH0CTL1_128;
      +
      372  break;
      +
      373 
      +
      374  case TIMER_D_HIGHRES_200MHZ:
      +
      375  HWREG16(baseAddress + OFS_TDxHCTL1) = pTD0CAL->TDH0CTL1_200;
      +
      376  break;
      +
      377 
      +
      378  case TIMER_D_HIGHRES_256MHZ:
      +
      379  HWREG16(baseAddress + OFS_TDxHCTL1) = pTD0CAL->TDH0CTL1_256;
      +
      380  break;
      +
      381  }
      +
      382 
      +
      383  // Select Hi-res local clock
      +
      384  HWREG16(baseAddress + OFS_TDxCTL1) |= TDCLKM_1;
      +
      385 
      +
      386  // CALEN=0 => free running mode; enable Hi-res mode
      +
      387  if(TIMER_D_HIGHRES_256MHZ == desiredHighResFrequency)
      +
      388  HWREG16(baseAddress + OFS_TDxHCTL0) |= TDHM_1;
      +
      389 
      +
      390  HWREG16(baseAddress + OFS_TDxHCTL0) |= TDHEN;
      +
      391 
      +
      392  return STATUS_SUCCESS;
      +
      393 
      +
      394 }
      +
      395 
      +
      396 void Timer_D_initHighResGeneratorInRegulatedMode(uint16_t baseAddress,
      +
      397  Timer_D_initHighResGeneratorInRegulatedModeParam *param)
      +
      398 {
      +
      399  HWREG16(baseAddress + OFS_TDxCTL0) &= ~(TDSSEL_3 + TDHD_3 + TDCLR + ID__8);
      +
      400  HWREG16(baseAddress + OFS_TDxCTL1) &= ~(TDCLKM0 + TDCLKM1 + TDIDEX_7);
      +
      401 
      +
      402  HWREG16(baseAddress + OFS_TDxCTL0) |= (param->clockSource +
      +
      403  ((param->clockSourceDivider>>3)<<6));
      +
      404  HWREG16(baseAddress + OFS_TDxCTL1) |= (param->clockingMode +
      +
      405  ((param->clockSourceDivider&0x7)<<8));
      +
      406 
      +
      407  // Select Hi-res local clock
      +
      408  // Calibration and Hi-res mode enable
      +
      409  HWREG16(baseAddress + OFS_TDxCTL1) |= TDCLKM_1;
      +
      410  // Select Hi-res local clock
      +
      411  HWREG16(baseAddress + OFS_TDxHCTL0) = TDHREGEN + TDHEN ;
      +
      412  HWREG16(baseAddress + OFS_TDxHCTL0) |= param->highResClockMultiplyFactor +
      +
      413  param->highResClockDivider;
      +
      414 }
      +
      415 
      +
      416 void Timer_D_combineTDCCRToOutputPWM(uint16_t baseAddress,
      +
      417  Timer_D_combineTDCCRToOutputPWMParam *param)
      +
      418 {
      +
      419  HWREG16(baseAddress + OFS_TDxCCTL2) &= ~OUTMOD_7;
      +
      420  HWREG16(baseAddress + OFS_TDxCCTL2) |= param->compareOutputMode;
      +
      421 
      +
      422  HWREG16(baseAddress + OFS_TDxCCR0) = param->timerPeriod;
      +
      423 
      +
      424  HWREG16(baseAddress + OFS_TDxCCR1 + (0x05 *
      +
      425  (param->combineCCRRegistersCombination - TIMER_D_COMBINE_CCR1_CCR2))) = param->dutyCycle1;
      +
      426  HWREG16(baseAddress + OFS_TDxCCR2 + (0x05 *
      +
      427  (param->combineCCRRegistersCombination - TIMER_D_COMBINE_CCR1_CCR2))) = param->dutyCycle2;
      +
      428 
      +
      429  HWREG16(baseAddress + OFS_TDxCTL0) &= ~ID__8;
      +
      430  HWREG16(baseAddress + OFS_TDxCTL1) &= ~(TDCLKM0 + TDCLKM1 + TDIDEX_7);
      +
      431 
      +
      432  HWREG16(baseAddress + OFS_TDxCTL0) |= (param->clockSource +
      +
      433  ((param->clockSourceDivider>>3)<<6));
      +
      434  HWREG16(baseAddress + OFS_TDxCTL1) |= (param->clockingMode +
      +
      435  ((param->clockSourceDivider&0x7)<<8));
      +
      436  HWREG16(baseAddress + OFS_TDxCTL1) |=
      +
      437  (TD2CMB << (param->combineCCRRegistersCombination - TIMER_D_COMBINE_CCR1_CCR2));
      +
      438 }
      +
      439 
      +
      440 void Timer_D_selectLatchingGroup(uint16_t baseAddress,
      +
      441  uint16_t groupLatch)
      +
      442 {
      +
      443 
      +
      444  HWREG16(baseAddress + OFS_TDxCTL0) &= ~TDCLGRP_3;
      +
      445  HWREG16(baseAddress + OFS_TDxCTL0) |= groupLatch;
      +
      446 }
      +
      447 
      +
      448 void Timer_D_selectCounterLength (uint16_t baseAddress,
      +
      449  uint16_t counterLength
      +
      450  )
      +
      451 {
      +
      452 
      +
      453  HWREG16(baseAddress + OFS_TDxCTL0) &= ~CNTL_3;
      +
      454  HWREG16(baseAddress + OFS_TDxCTL0) |= counterLength;
      +
      455 }
      +
      456 
      +
      457 void Timer_D_initCompareLatchLoadEvent(uint16_t baseAddress,
      +
      458  uint16_t compareRegister,
      +
      459  uint16_t compareLatchLoadEvent
      +
      460  )
      +
      461 {
      +
      462 
      +
      463  HWREG16(baseAddress + compareRegister) &= ~CLLD_3;
      +
      464  HWREG16(baseAddress + compareRegister) |= compareLatchLoadEvent;
      +
      465 }
      +
      466 
      +
      467 void Timer_D_disableHighResFastWakeup (uint16_t baseAddress)
      +
      468 {
      +
      469  HWREG16(baseAddress + OFS_TDxHCTL0) &= ~TDHFW;
      +
      470 }
      +
      471 
      +
      472 void Timer_D_enableHighResFastWakeup (uint16_t baseAddress)
      +
      473 {
      +
      474  HWREG16(baseAddress + OFS_TDxHCTL0) |= TDHFW;
      +
      475 }
      +
      476 
      +
      477 void Timer_D_disableHighResClockEnhancedAccuracy (uint16_t baseAddress)
      +
      478 {
      +
      479  HWREG16(baseAddress + OFS_TDxHCTL0) &= ~TDHEAEN;
      +
      480 }
      +
      481 
      +
      482 void Timer_D_enableHighResClockEnhancedAccuracy (uint16_t baseAddress)
      +
      483 {
      +
      484  HWREG16(baseAddress + OFS_TDxHCTL0) |= TDHEAEN;
      +
      485 }
      +
      486 
      +
      487 void Timer_D_disableHighResGeneratorForceON (uint16_t baseAddress)
      +
      488 {
      +
      489  HWREG16(baseAddress + OFS_TDxHCTL0) &= ~TDHRON;
      +
      490 }
      +
      491 
      +
      492 void Timer_D_enableHighResGeneratorForceON (uint16_t baseAddress)
      +
      493 {
      +
      494  HWREG16(baseAddress + OFS_TDxHCTL0) |= TDHRON;
      +
      495 }
      +
      496 
      +
      497 void Timer_D_selectHighResCoarseClockRange (uint16_t baseAddress,
      +
      498  uint16_t highResCoarseClockRange
      +
      499  )
      +
      500 {
      +
      501  HWREG16(baseAddress + OFS_TDxHCTL1) &= ~TDHCLKCR;
      +
      502  HWREG16(baseAddress + OFS_TDxHCTL1) |= highResCoarseClockRange;
      +
      503 }
      +
      504 
      +
      505 void Timer_D_selectHighResClockRange (uint16_t baseAddress,
      +
      506  uint16_t highResClockRange
      +
      507  )
      +
      508 {
      +
      509  HWREG16(baseAddress + OFS_TDxHCTL1) &= ~TDHCLKCR;
      +
      510  HWREG16(baseAddress + OFS_TDxHCTL1) |= highResClockRange;
      +
      511 }
      +
      512 
      +
      513 uint16_t Timer_D_getCounterValue (uint16_t baseAddress)
      +
      514 {
      +
      515  uint16_t voteOne, voteTwo, res;
      +
      516 
      +
      517  voteTwo = HWREG16(baseAddress + OFS_TDxR);
      +
      518 
      +
      519  do
      +
      520  {
      +
      521  voteOne = voteTwo;
      +
      522  voteTwo = HWREG16(baseAddress + OFS_TDxR);
      +
      523 
      +
      524  if(voteTwo > voteOne) {
      +
      525  res = voteTwo - voteOne;
      +
      526  } else if(voteOne > voteTwo) {
      +
      527  res = voteOne - voteTwo;
      +
      528  } else{
      +
      529  res = 0;
      +
      530  }
      +
      531 
      +
      532  } while ( res > TIMER_D_THRESHOLD);
      +
      533 
      +
      534  return voteTwo;
      +
      535 }
      +
      536 
      +
      537 void Timer_D_setOutputMode(uint16_t baseAddress,
      +
      538  uint16_t compareRegister,
      +
      539  uint16_t compareOutputMode)
      +
      540 {
      +
      541  uint16_t temp = HWREG16(baseAddress + compareRegister);
      +
      542  HWREG16(baseAddress + compareRegister) = temp & ~(OUTMOD_7) | compareOutputMode;
      +
      543 }
      +
      544 
      +
      545 #endif
      +
      546 //*****************************************************************************
      +
      547 //
      +
      550 //
      +
      551 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      +
      #define STATUS_FAIL
      Definition: hw_memmap.h:23
      +
      #define STATUS_SUCCESS
      Definition: hw_memmap.h:22
      + + +
      +
      + + + + diff --git a/Documentation/html/timer__d_8h.html b/Documentation/html/timer__d_8h.html new file mode 100644 index 0000000..ec96f39 --- /dev/null +++ b/Documentation/html/timer__d_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_d.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_d.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/timer__d_8h_source.html b/Documentation/html/timer__d_8h_source.html new file mode 100644 index 0000000..2e74c6b --- /dev/null +++ b/Documentation/html/timer__d_8h_source.html @@ -0,0 +1,927 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/timer_d.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      timer_d.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // timer_d.h - Driver for the TIMER_D Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_TIMER_D_H__
      +
      8 #define __MSP430WARE_TIMER_D_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_TxD7__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      28 // The following is a parameter used for Timer_D_getCounterValue that
      +
      29 // determines the maximum difference in counts of the TDxR register for a
      +
      30 // majority vote.
      +
      31 //
      +
      32 //*****************************************************************************
      +
      33 #define TIMER_D_THRESHOLD 50
      +
      34 
      +
      35 //*****************************************************************************
      +
      36 //
      +
      38 //
      +
      39 //*****************************************************************************
      +
      40 typedef struct Timer_D_initUpModeParam {
      +
      47  uint16_t clockSource;
      +
      70  uint16_t clockSourceDivider;
      +
      76  uint16_t clockingMode;
      +
      79  uint16_t timerPeriod;
      +
      84  uint16_t timerInterruptEnable_TDIE;
      +
      89  uint16_t captureCompareInterruptEnable_CCR0_CCIE;
      +
      95  uint16_t timerClear;
      +
      96 } Timer_D_initUpModeParam;
      +
      97 
      +
      98 //*****************************************************************************
      +
      99 //
      +
      102 //
      +
      103 //*****************************************************************************
      +
      104 typedef struct Timer_D_initCompareModeParam {
      +
      114  uint16_t compareRegister;
      +
      119  uint16_t compareInterruptEnable;
      +
      130  uint16_t compareOutputMode;
      +
      132  uint16_t compareValue;
      +
      133 } Timer_D_initCompareModeParam;
      +
      134 
      +
      135 //*****************************************************************************
      +
      136 //
      +
      139 //
      +
      140 //*****************************************************************************
      +
      141 typedef struct Timer_D_initContinuousModeParam {
      +
      148  uint16_t clockSource;
      +
      171  uint16_t clockSourceDivider;
      +
      177  uint16_t clockingMode;
      +
      182  uint16_t timerInterruptEnable_TDIE;
      +
      188  uint16_t timerClear;
      +
      189 } Timer_D_initContinuousModeParam;
      +
      190 
      +
      191 //*****************************************************************************
      +
      192 //
      +
      195 //
      +
      196 //*****************************************************************************
      +
      197 typedef struct Timer_D_initHighResGeneratorInRegulatedModeParam {
      +
      204  uint16_t clockSource;
      +
      227  uint16_t clockSourceDivider;
      +
      233  uint16_t clockingMode;
      +
      238  uint8_t highResClockMultiplyFactor;
      +
      245  uint8_t highResClockDivider;
      +
      246 } Timer_D_initHighResGeneratorInRegulatedModeParam;
      +
      247 
      +
      248 //*****************************************************************************
      +
      249 //
      +
      252 //
      +
      253 //*****************************************************************************
      +
      254 typedef struct Timer_D_initUpDownModeParam {
      +
      261  uint16_t clockSource;
      +
      284  uint16_t clockSourceDivider;
      +
      290  uint16_t clockingMode;
      +
      292  uint16_t timerPeriod;
      +
      297  uint16_t timerInterruptEnable_TDIE;
      +
      302  uint16_t captureCompareInterruptEnable_CCR0_CCIE;
      +
      308  uint16_t timerClear;
      +
      309 } Timer_D_initUpDownModeParam;
      +
      310 
      +
      311 //*****************************************************************************
      +
      312 //
      +
      315 //
      +
      316 //*****************************************************************************
      +
      317 typedef struct Timer_D_combineTDCCRToOutputPWMParam {
      +
      324  uint16_t clockSource;
      +
      347  uint16_t clockSourceDivider;
      +
      353  uint16_t clockingMode;
      +
      355  uint16_t timerPeriod;
      +
      361  uint16_t combineCCRRegistersCombination;
      +
      372  uint16_t compareOutputMode;
      +
      374  uint16_t dutyCycle1;
      +
      376  uint16_t dutyCycle2;
      +
      377 } Timer_D_combineTDCCRToOutputPWMParam;
      +
      378 
      +
      379 //*****************************************************************************
      +
      380 //
      +
      383 //
      +
      384 //*****************************************************************************
      +
      385 typedef struct Timer_D_initCaptureModeParam {
      +
      396  uint16_t captureRegister;
      +
      403  uint16_t captureMode;
      +
      410  uint16_t captureInputSelect;
      +
      415  uint16_t synchronizeCaptureSource;
      +
      420  uint16_t captureInterruptEnable;
      +
      431  uint16_t captureOutputMode;
      +
      436  uint8_t channelCaptureMode;
      +
      437 } Timer_D_initCaptureModeParam;
      +
      438 
      +
      439 //*****************************************************************************
      +
      440 //
      +
      442 //
      +
      443 //*****************************************************************************
      +
      444 typedef struct Timer_D_outputPWMParam {
      +
      451  uint16_t clockSource;
      +
      474  uint16_t clockSourceDivider;
      +
      480  uint16_t clockingMode;
      +
      482  uint16_t timerPeriod;
      +
      492  uint16_t compareRegister;
      +
      503  uint16_t compareOutputMode;
      +
      505  uint16_t dutyCycle;
      +
      506 } Timer_D_outputPWMParam;
      +
      507 
      +
      508 
      +
      509 //*****************************************************************************
      +
      510 //
      +
      511 // The following are values that can be passed to the param parameter for
      +
      512 // functions: Timer_D_initContinuousMode(), Timer_D_initUpMode(),
      +
      513 // Timer_D_initUpDownMode(), Timer_D_outputPWM(),
      +
      514 // Timer_D_initHighResGeneratorInRegulatedMode(), and
      +
      515 // Timer_D_combineTDCCRToOutputPWM().
      +
      516 //
      +
      517 //*****************************************************************************
      +
      518 #define TIMER_D_CLOCKSOURCE_DIVIDER_1 0x00
      +
      519 #define TIMER_D_CLOCKSOURCE_DIVIDER_2 0x08
      +
      520 #define TIMER_D_CLOCKSOURCE_DIVIDER_3 0x02
      +
      521 #define TIMER_D_CLOCKSOURCE_DIVIDER_4 0x10
      +
      522 #define TIMER_D_CLOCKSOURCE_DIVIDER_5 0x04
      +
      523 #define TIMER_D_CLOCKSOURCE_DIVIDER_6 0x05
      +
      524 #define TIMER_D_CLOCKSOURCE_DIVIDER_7 0x06
      +
      525 #define TIMER_D_CLOCKSOURCE_DIVIDER_8 0x18
      +
      526 #define TIMER_D_CLOCKSOURCE_DIVIDER_10 0x0C
      +
      527 #define TIMER_D_CLOCKSOURCE_DIVIDER_12 0x0D
      +
      528 #define TIMER_D_CLOCKSOURCE_DIVIDER_14 0x0E
      +
      529 #define TIMER_D_CLOCKSOURCE_DIVIDER_16 0x0F
      +
      530 #define TIMER_D_CLOCKSOURCE_DIVIDER_20 0x14
      +
      531 #define TIMER_D_CLOCKSOURCE_DIVIDER_24 0x15
      +
      532 #define TIMER_D_CLOCKSOURCE_DIVIDER_28 0x16
      +
      533 #define TIMER_D_CLOCKSOURCE_DIVIDER_32 0x17
      +
      534 #define TIMER_D_CLOCKSOURCE_DIVIDER_40 0x1C
      +
      535 #define TIMER_D_CLOCKSOURCE_DIVIDER_48 0x1D
      +
      536 #define TIMER_D_CLOCKSOURCE_DIVIDER_56 0x1E
      +
      537 #define TIMER_D_CLOCKSOURCE_DIVIDER_64 0x1F
      +
      538 
      +
      539 //*****************************************************************************
      +
      540 //
      +
      541 // The following are values that can be passed to the timerMode parameter for
      +
      542 // functions: Timer_D_startCounter().
      +
      543 //
      +
      544 //*****************************************************************************
      +
      545 #define TIMER_D_STOP_MODE MC_0
      +
      546 #define TIMER_D_UP_MODE MC_1
      +
      547 #define TIMER_D_CONTINUOUS_MODE MC_2
      +
      548 #define TIMER_D_UPDOWN_MODE MC_3
      +
      549 
      +
      550 //*****************************************************************************
      +
      551 //
      +
      552 // The following are values that can be passed to the param parameter for
      +
      553 // functions: Timer_D_initContinuousMode(), Timer_D_initUpMode(), and
      +
      554 // Timer_D_initUpDownMode().
      +
      555 //
      +
      556 //*****************************************************************************
      +
      557 #define TIMER_D_DO_CLEAR TDCLR
      +
      558 #define TIMER_D_SKIP_CLEAR 0x00
      +
      559 
      +
      560 //*****************************************************************************
      +
      561 //
      +
      562 // The following are values that can be passed to the param parameter for
      +
      563 // functions: Timer_D_initContinuousMode(), Timer_D_initUpMode(),
      +
      564 // Timer_D_initUpDownMode(), Timer_D_outputPWM(),
      +
      565 // Timer_D_initHighResGeneratorInRegulatedMode(), and
      +
      566 // Timer_D_combineTDCCRToOutputPWM().
      +
      567 //
      +
      568 //*****************************************************************************
      +
      569 #define TIMER_D_CLOCKSOURCE_EXTERNAL_TDCLK TDSSEL__TACLK
      +
      570 #define TIMER_D_CLOCKSOURCE_ACLK TDSSEL__ACLK
      +
      571 #define TIMER_D_CLOCKSOURCE_SMCLK TDSSEL__SMCLK
      +
      572 #define TIMER_D_CLOCKSOURCE_INVERTED_EXTERNAL_TDCLK TDSSEL__INCLK
      +
      573 
      +
      574 //*****************************************************************************
      +
      575 //
      +
      576 // The following are values that can be passed to the param parameter for
      +
      577 // functions: Timer_D_initContinuousMode(), Timer_D_initUpMode(),
      +
      578 // Timer_D_initUpDownMode(), Timer_D_outputPWM(),
      +
      579 // Timer_D_initHighResGeneratorInRegulatedMode(), and
      +
      580 // Timer_D_combineTDCCRToOutputPWM().
      +
      581 //
      +
      582 //*****************************************************************************
      +
      583 #define TIMER_D_CLOCKINGMODE_EXTERNAL_CLOCK TDCLKM_0
      +
      584 #define TIMER_D_CLOCKINGMODE_HIRES_LOCAL_CLOCK TDCLKM_1
      +
      585 #define TIMER_D_CLOCKINGMODE_AUXILIARY_CLK TDCLKM_2
      +
      586 
      +
      587 //*****************************************************************************
      +
      588 //
      +
      589 // The following are values that can be passed to the param parameter for
      +
      590 // functions: Timer_D_initContinuousMode(), Timer_D_initUpMode(), and
      +
      591 // Timer_D_initUpDownMode().
      +
      592 //
      +
      593 //*****************************************************************************
      +
      594 #define TIMER_D_TDIE_INTERRUPT_ENABLE TDIE
      +
      595 #define TIMER_D_TDIE_INTERRUPT_DISABLE 0x00
      +
      596 
      +
      597 //*****************************************************************************
      +
      598 //
      +
      599 // The following are values that can be passed to the param parameter for
      +
      600 // functions: Timer_D_initCaptureMode().
      +
      601 //
      +
      602 //*****************************************************************************
      +
      603 #define TIMER_D_CAPTURE_INTERRUPT_ENABLE TDIE
      +
      604 #define TIMER_D_CAPTURE_INTERRUPT_DISABLE 0x00
      +
      605 
      +
      606 //*****************************************************************************
      +
      607 //
      +
      608 // The following are values that can be passed to the param parameter for
      +
      609 // functions: Timer_D_initUpMode(), and Timer_D_initUpDownMode().
      +
      610 //
      +
      611 //*****************************************************************************
      +
      612 #define TIMER_D_CCIE_CCR0_INTERRUPT_ENABLE CCIE
      +
      613 #define TIMER_D_CCIE_CCR0_INTERRUPT_DISABLE 0x00
      +
      614 
      +
      615 //*****************************************************************************
      +
      616 //
      +
      617 // The following are values that can be passed to the param parameter for
      +
      618 // functions: Timer_D_initCaptureMode().
      +
      619 //
      +
      620 //*****************************************************************************
      +
      621 #define TIMER_D_SINGLE_CAPTURE_MODE 0x00
      +
      622 #define TIMER_D_DUAL_CAPTURE_MODE 0x01
      +
      623 
      +
      624 //*****************************************************************************
      +
      625 //
      +
      626 // The following are values that can be passed to the param parameter for
      +
      627 // functions: Timer_D_initCaptureMode().
      +
      628 //
      +
      629 //*****************************************************************************
      +
      630 #define TIMER_D_CAPTURE_INPUTSELECT_CCIxA CCIS_0
      +
      631 #define TIMER_D_CAPTURE_INPUTSELECT_CCIxB CCIS_1
      +
      632 #define TIMER_D_CAPTURE_INPUTSELECT_GND CCIS_2
      +
      633 #define TIMER_D_CAPTURE_INPUTSELECT_Vcc CCIS_3
      +
      634 
      +
      635 //*****************************************************************************
      +
      636 //
      +
      637 // The following are values that can be passed to the compareOutputMode
      +
      638 // parameter for functions: Timer_D_setOutputMode(); the param parameter for
      +
      639 // functions: Timer_D_initCaptureMode(), Timer_D_initCompareMode(),
      +
      640 // Timer_D_outputPWM(), and Timer_D_combineTDCCRToOutputPWM().
      +
      641 //
      +
      642 //*****************************************************************************
      +
      643 #define TIMER_D_OUTPUTMODE_OUTBITVALUE OUTMOD_0
      +
      644 #define TIMER_D_OUTPUTMODE_SET OUTMOD_1
      +
      645 #define TIMER_D_OUTPUTMODE_TOGGLE_RESET OUTMOD_2
      +
      646 #define TIMER_D_OUTPUTMODE_SET_RESET OUTMOD_3
      +
      647 #define TIMER_D_OUTPUTMODE_TOGGLE OUTMOD_4
      +
      648 #define TIMER_D_OUTPUTMODE_RESET OUTMOD_5
      +
      649 #define TIMER_D_OUTPUTMODE_TOGGLE_SET OUTMOD_6
      +
      650 #define TIMER_D_OUTPUTMODE_RESET_SET OUTMOD_7
      +
      651 
      +
      652 //*****************************************************************************
      +
      653 //
      +
      654 // The following are values that can be passed to the compareRegister parameter
      +
      655 // for functions: Timer_D_setCompareValue(),
      +
      656 // Timer_D_initCompareLatchLoadEvent(), and Timer_D_setOutputMode(); the
      +
      657 // captureCompareRegister parameter for functions:
      +
      658 // Timer_D_enableCaptureCompareInterrupt(),
      +
      659 // Timer_D_disableCaptureCompareInterrupt(),
      +
      660 // Timer_D_getCaptureCompareInterruptStatus(),
      +
      661 // Timer_D_getSynchronizedCaptureCompareInput(),
      +
      662 // Timer_D_getOutputForOutputModeOutBitValue(),
      +
      663 // Timer_D_getCaptureCompareCount(), Timer_D_getCaptureCompareLatchCount(),
      +
      664 // Timer_D_getCaptureCompareInputSignal(),
      +
      665 // Timer_D_setOutputForOutputModeOutBitValue(), and
      +
      666 // Timer_D_clearCaptureCompareInterrupt(); the param parameter for functions:
      +
      667 // Timer_D_initCaptureMode(), Timer_D_outputPWM(), and
      +
      668 // Timer_D_initCompareMode().
      +
      669 //
      +
      670 //*****************************************************************************
      +
      671 #define TIMER_D_CAPTURECOMPARE_REGISTER_0 0x08
      +
      672 #define TIMER_D_CAPTURECOMPARE_REGISTER_1 0x0E
      +
      673 #define TIMER_D_CAPTURECOMPARE_REGISTER_2 0x14
      +
      674 #define TIMER_D_CAPTURECOMPARE_REGISTER_3 0x1A
      +
      675 #define TIMER_D_CAPTURECOMPARE_REGISTER_4 0x20
      +
      676 #define TIMER_D_CAPTURECOMPARE_REGISTER_5 0x28
      +
      677 #define TIMER_D_CAPTURECOMPARE_REGISTER_6 0x2E
      +
      678 
      +
      679 //*****************************************************************************
      +
      680 //
      +
      681 // The following are values that can be passed to the param parameter for
      +
      682 // functions: Timer_D_initCaptureMode().
      +
      683 //
      +
      684 //*****************************************************************************
      +
      685 #define TIMER_D_CAPTUREMODE_NO_CAPTURE CM_0
      +
      686 #define TIMER_D_CAPTUREMODE_RISING_EDGE CM_1
      +
      687 #define TIMER_D_CAPTUREMODE_FALLING_EDGE CM_2
      +
      688 #define TIMER_D_CAPTUREMODE_RISING_AND_FALLING_EDGE CM_3
      +
      689 
      +
      690 //*****************************************************************************
      +
      691 //
      +
      692 // The following are values that can be passed to the param parameter for
      +
      693 // functions: Timer_D_initCaptureMode().
      +
      694 //
      +
      695 //*****************************************************************************
      +
      696 #define TIMER_D_CAPTURE_ASYNCHRONOUS 0x00
      +
      697 #define TIMER_D_CAPTURE_SYNCHRONOUS SCS
      +
      698 
      +
      699 //*****************************************************************************
      +
      700 //
      +
      701 // The following are values that can be passed to the param parameter for
      +
      702 // functions: Timer_D_initCompareMode().
      +
      703 //
      +
      704 //*****************************************************************************
      +
      705 #define TIMER_D_CAPTURECOMPARE_INTERRUPT_ENABLE CCIE
      +
      706 #define TIMER_D_CAPTURECOMPARE_INTERRUPT_DISABLE 0x00
      +
      707 
      +
      708 //*****************************************************************************
      +
      709 //
      +
      710 // The following are values that can be passed to the mask parameter for
      +
      711 // functions: Timer_D_enableHighResInterrupt(),
      +
      712 // Timer_D_disableHighResInterrupt(), Timer_D_getHighResInterruptStatus(), and
      +
      713 // Timer_D_clearHighResInterrupt() as well as returned by the
      +
      714 // Timer_D_getHighResInterruptStatus() function.
      +
      715 //
      +
      716 //*****************************************************************************
      +
      717 #define TIMER_D_HIGH_RES_FREQUENCY_UNLOCK TDHUNLKIE
      +
      718 #define TIMER_D_HIGH_RES_FREQUENCY_LOCK TDHLKIE
      +
      719 #define TIMER_D_HIGH_RES_FAIL_HIGH TDHFHIE
      +
      720 #define TIMER_D_HIGH_RES_FAIL_LOW TDHFLIE
      +
      721 
      +
      722 //*****************************************************************************
      +
      723 //
      +
      724 // The following are values that can be passed to the mask parameter for
      +
      725 // functions: Timer_D_getCaptureCompareInterruptStatus() as well as returned by
      +
      726 // the Timer_D_getCaptureCompareInterruptStatus() function.
      +
      727 //
      +
      728 //*****************************************************************************
      +
      729 #define TIMER_D_CAPTURE_OVERFLOW COV
      +
      730 #define TIMER_D_CAPTURECOMPARE_INTERRUPT_FLAG CCIFG
      +
      731 
      +
      732 //*****************************************************************************
      +
      733 //
      +
      734 // The following are values that can be passed to the synchronized parameter
      +
      735 // for functions: Timer_D_getSynchronizedCaptureCompareInput().
      +
      736 //
      +
      737 //*****************************************************************************
      +
      738 #define TIMER_D_READ_SYNCHRONIZED_CAPTURECOMPAREINPUT SCCI
      +
      739 #define TIMER_D_READ_CAPTURE_COMPARE_INPUT CCI
      +
      740 
      +
      741 //*****************************************************************************
      +
      742 //
      +
      743 // The following are values that can be passed to the outputModeOutBitValue
      +
      744 // parameter for functions: Timer_D_setOutputForOutputModeOutBitValue() as well
      +
      745 // as returned by the Timer_D_getOutputForOutputModeOutBitValue() function.
      +
      746 //
      +
      747 //*****************************************************************************
      +
      748 #define TIMER_D_OUTPUTMODE_OUTBITVALUE_HIGH OUT
      +
      749 #define TIMER_D_OUTPUTMODE_OUTBITVALUE_LOW 0x00
      +
      750 
      +
      751 //*****************************************************************************
      +
      752 //
      +
      753 // The following are values that can be passed to the desiredHighResFrequency
      +
      754 // parameter for functions: Timer_D_initHighResGeneratorInFreeRunningMode().
      +
      755 //
      +
      756 //*****************************************************************************
      +
      757 #define TIMER_D_HIGHRES_64MHZ 0x00
      +
      758 #define TIMER_D_HIGHRES_128MHZ 0x01
      +
      759 #define TIMER_D_HIGHRES_200MHZ 0x02
      +
      760 #define TIMER_D_HIGHRES_256MHZ 0x03
      +
      761 
      +
      762 //*****************************************************************************
      +
      763 //
      +
      764 // The following are values that can be passed to the param parameter for
      +
      765 // functions: Timer_D_initHighResGeneratorInRegulatedMode().
      +
      766 //
      +
      767 //*****************************************************************************
      +
      768 #define TIMER_D_HIGHRES_CLK_DIVIDER_1 TDHD__1
      +
      769 #define TIMER_D_HIGHRES_CLK_DIVIDER_2 TDHD__2
      +
      770 #define TIMER_D_HIGHRES_CLK_DIVIDER_4 TDHD__4
      +
      771 #define TIMER_D_HIGHRES_CLK_DIVIDER_8 TDHD__8
      +
      772 
      +
      773 //*****************************************************************************
      +
      774 //
      +
      775 // The following are values that can be passed to the param parameter for
      +
      776 // functions: Timer_D_initHighResGeneratorInRegulatedMode().
      +
      777 //
      +
      778 //*****************************************************************************
      +
      779 #define TIMER_D_HIGHRES_CLK_MULTIPLY_FACTOR_8x TDHM_0
      +
      780 #define TIMER_D_HIGHRES_CLK_MULTIPLY_FACTOR_16x TDHM_1
      +
      781 
      +
      782 //*****************************************************************************
      +
      783 //
      +
      784 // The following are values that can be passed to the param parameter for
      +
      785 // functions: Timer_D_combineTDCCRToOutputPWM().
      +
      786 //
      +
      787 //*****************************************************************************
      +
      788 #define TIMER_D_COMBINE_CCR1_CCR2 2
      +
      789 #define TIMER_D_COMBINE_CCR3_CCR4 4
      +
      790 #define TIMER_D_COMBINE_CCR5_CCR6 6
      +
      791 
      +
      792 //*****************************************************************************
      +
      793 //
      +
      794 // The following are values that can be passed to the groupLatch parameter for
      +
      795 // functions: Timer_D_selectLatchingGroup().
      +
      796 //
      +
      797 //*****************************************************************************
      +
      798 #define TIMER_D_GROUP_NONE TDCLGRP_0
      +
      799 #define TIMER_D_GROUP_CL12_CL23_CL56 TDCLGRP_1
      +
      800 #define TIMER_D_GROUP_CL123_CL456 TDCLGRP_2
      +
      801 #define TIMER_D_GROUP_ALL TDCLGRP_3
      +
      802 
      +
      803 //*****************************************************************************
      +
      804 //
      +
      805 // The following are values that can be passed to the counterLength parameter
      +
      806 // for functions: Timer_D_selectCounterLength().
      +
      807 //
      +
      808 //*****************************************************************************
      +
      809 #define TIMER_D_COUNTER_16BIT CNTL_0
      +
      810 #define TIMER_D_COUNTER_12BIT CNTL_1
      +
      811 #define TIMER_D_COUNTER_10BIT CNTL_2
      +
      812 #define TIMER_D_COUNTER_8BIT CNTL_3
      +
      813 
      +
      814 //*****************************************************************************
      +
      815 //
      +
      816 // The following are values that can be passed to the compareLatchLoadEvent
      +
      817 // parameter for functions: Timer_D_initCompareLatchLoadEvent().
      +
      818 //
      +
      819 //*****************************************************************************
      +
      820 #define TIMER_D_LATCH_ON_WRITE_TO_TDxCCRn_COMPARE_REGISTER CLLD_0
      +
      821 #define TIMER_D_LATCH_WHEN_COUNTER_COUNTS_TO_0_IN_UP_OR_CONT_MODE CLLD_1
      +
      822 #define TIMER_D_LATCH_WHEN_COUNTER_COUNTS_TO_0_IN_UPDOWN_MODE CLLD_2
      +
      823 #define TIMER_D_LATCH_WHEN_COUNTER_COUNTS_TO_CURRENT_COMPARE_LATCH_VALUE CLLD_3
      +
      824 
      +
      825 //*****************************************************************************
      +
      826 //
      +
      827 // The following are values that can be passed to the highResCoarseClockRange
      +
      828 // parameter for functions: Timer_D_selectHighResCoarseClockRange().
      +
      829 //
      +
      830 //*****************************************************************************
      +
      831 #define TIMER_D_HIGHRES_BELOW_15MHz 0x00
      +
      832 #define TIMER_D_HIGHRES_ABOVE_15MHz TDHCLKCR
      +
      833 
      +
      834 //*****************************************************************************
      +
      835 //
      +
      836 // The following are values that can be passed to the highResClockRange
      +
      837 // parameter for functions: Timer_D_selectHighResClockRange().
      +
      838 //
      +
      839 //*****************************************************************************
      +
      840 #define TIMER_D_CLOCK_RANGE0 0x0000
      +
      841 #define TIMER_D_CLOCK_RANGE1 0x2000
      +
      842 #define TIMER_D_CLOCK_RANGE2 0x4000
      +
      843 
      +
      844 //*****************************************************************************
      +
      845 //
      +
      846 // The following are values that can be passed toThe following are values that
      +
      847 // can be returned by the Timer_D_getSynchronizedCaptureCompareInput()
      +
      848 // function.
      +
      849 //
      +
      850 //*****************************************************************************
      +
      851 #define TIMER_D_CAPTURECOMPARE_INPUT_HIGH 0x01
      +
      852 #define TIMER_D_CAPTURECOMPARE_INPUT_LOW 0x00
      +
      853 
      +
      854 //*****************************************************************************
      +
      855 //
      +
      856 // The following are values that can be passed toThe following are values that
      +
      857 // can be returned by the Timer_D_getTimerInterruptStatus() function.
      +
      858 //
      +
      859 //*****************************************************************************
      +
      860 #define TIMER_D_INTERRUPT_NOT_PENDING 0x00
      +
      861 #define TIMER_D_INTERRUPT_PENDING 0x01
      +
      862 
      +
      863 //*****************************************************************************
      +
      864 //
      +
      865 // The following are values that can be passed toThe following are values that
      +
      866 // can be returned by the Timer_D_getCaptureCompareInputSignal() function.
      +
      867 //
      +
      868 //*****************************************************************************
      +
      869 #define TIMER_D_CAPTURECOMPARE_INPUT CCI
      +
      870 
      +
      871 //*****************************************************************************
      +
      872 //
      +
      873 // Prototypes for the APIs.
      +
      874 //
      +
      875 //*****************************************************************************
      +
      876 
      +
      877 //*****************************************************************************
      +
      878 //
      +
      896 //
      +
      897 //*****************************************************************************
      +
      898 extern void Timer_D_startCounter(uint16_t baseAddress,
      +
      899  uint16_t timerMode);
      +
      900 
      +
      901 //*****************************************************************************
      +
      902 //
      +
      914 //
      +
      915 //*****************************************************************************
      +
      916 extern void Timer_D_initContinuousMode(uint16_t baseAddress,
      +
      917  Timer_D_initContinuousModeParam *param);
      +
      918 
      +
      919 //*****************************************************************************
      +
      920 //
      +
      933 //
      +
      934 //*****************************************************************************
      +
      935 extern void Timer_D_initUpMode(uint16_t baseAddress,
      +
      936  Timer_D_initUpModeParam *param);
      +
      937 
      +
      938 //*****************************************************************************
      +
      939 //
      +
      952 //
      +
      953 //*****************************************************************************
      +
      954 extern void Timer_D_initUpDownMode(uint16_t baseAddress,
      +
      955  Timer_D_initUpDownModeParam *param);
      +
      956 
      +
      957 //*****************************************************************************
      +
      958 //
      +
      967 //
      +
      968 //*****************************************************************************
      +
      969 extern void Timer_D_initCaptureMode(uint16_t baseAddress,
      +
      970  Timer_D_initCaptureModeParam *param);
      +
      971 
      +
      972 //*****************************************************************************
      +
      973 //
      +
      982 //
      +
      983 //*****************************************************************************
      +
      984 extern void Timer_D_initCompareMode(uint16_t baseAddress,
      +
      985  Timer_D_initCompareModeParam *param);
      +
      986 
      +
      987 //*****************************************************************************
      +
      988 //
      +
      996 //
      +
      997 //*****************************************************************************
      +
      998 extern void Timer_D_enableTimerInterrupt(uint16_t baseAddress);
      +
      999 
      +
      1000 //*****************************************************************************
      +
      1001 //
      +
      1015 //
      +
      1016 //*****************************************************************************
      +
      1017 extern void Timer_D_enableHighResInterrupt(uint16_t baseAddress,
      +
      1018  uint16_t mask);
      +
      1019 
      +
      1020 //*****************************************************************************
      +
      1021 //
      +
      1029 //
      +
      1030 //*****************************************************************************
      +
      1031 extern void Timer_D_disableTimerInterrupt(uint16_t baseAddress);
      +
      1032 
      +
      1033 //*****************************************************************************
      +
      1034 //
      +
      1048 //
      +
      1049 //*****************************************************************************
      +
      1050 extern void Timer_D_disableHighResInterrupt(uint16_t baseAddress,
      +
      1051  uint16_t mask);
      +
      1052 
      +
      1053 //*****************************************************************************
      +
      1054 //
      +
      1063 //
      +
      1064 //*****************************************************************************
      +
      1065 extern uint32_t Timer_D_getTimerInterruptStatus(uint16_t baseAddress);
      +
      1066 
      +
      1067 //*****************************************************************************
      +
      1068 //
      +
      1085 //
      +
      1086 //*****************************************************************************
      +
      1087 extern void Timer_D_enableCaptureCompareInterrupt(uint16_t baseAddress,
      +
      1088  uint16_t captureCompareRegister);
      +
      1089 
      +
      1090 //*****************************************************************************
      +
      1091 //
      +
      1108 //
      +
      1109 //*****************************************************************************
      +
      1110 extern void Timer_D_disableCaptureCompareInterrupt(uint16_t baseAddress,
      +
      1111  uint16_t captureCompareRegister);
      +
      1112 
      +
      1113 //*****************************************************************************
      +
      1114 //
      +
      1136 //
      +
      1137 //*****************************************************************************
      +
      1138 extern uint32_t Timer_D_getCaptureCompareInterruptStatus(uint16_t baseAddress,
      +
      1139  uint16_t captureCompareRegister,
      +
      1140  uint16_t mask);
      +
      1141 
      +
      1142 //*****************************************************************************
      +
      1143 //
      +
      1162 //
      +
      1163 //*****************************************************************************
      +
      1164 extern uint16_t Timer_D_getHighResInterruptStatus(uint16_t baseAddress,
      +
      1165  uint16_t mask);
      +
      1166 
      +
      1167 //*****************************************************************************
      +
      1168 //
      +
      1176 //
      +
      1177 //*****************************************************************************
      +
      1178 extern void Timer_D_clear(uint16_t baseAddress);
      +
      1179 
      +
      1180 //*****************************************************************************
      +
      1181 //
      +
      1195 //
      +
      1196 //*****************************************************************************
      +
      1197 extern void Timer_D_clearHighResInterrupt(uint16_t baseAddress,
      +
      1198  uint16_t mask);
      +
      1199 
      +
      1200 //*****************************************************************************
      +
      1201 //
      +
      1222 //
      +
      1223 //*****************************************************************************
      +
      1224 extern uint8_t Timer_D_getSynchronizedCaptureCompareInput(uint16_t baseAddress,
      +
      1225  uint16_t captureCompareRegister,
      +
      1226  uint16_t synchronized);
      +
      1227 
      +
      1228 //*****************************************************************************
      +
      1229 //
      +
      1246 //
      +
      1247 //*****************************************************************************
      +
      1248 extern uint8_t Timer_D_getOutputForOutputModeOutBitValue(uint16_t baseAddress,
      +
      1249  uint16_t captureCompareRegister);
      +
      1250 
      +
      1251 //*****************************************************************************
      +
      1252 //
      +
      1267 //
      +
      1268 //*****************************************************************************
      +
      1269 extern uint16_t Timer_D_getCaptureCompareCount(uint16_t baseAddress,
      +
      1270  uint16_t captureCompareRegister);
      +
      1271 
      +
      1272 //*****************************************************************************
      +
      1273 //
      +
      1288 //
      +
      1289 //*****************************************************************************
      +
      1290 extern uint16_t Timer_D_getCaptureCompareLatchCount(uint16_t baseAddress,
      +
      1291  uint16_t captureCompareRegister);
      +
      1292 
      +
      1293 //*****************************************************************************
      +
      1294 //
      +
      1312 //
      +
      1313 //*****************************************************************************
      +
      1314 extern uint8_t Timer_D_getCaptureCompareInputSignal(uint16_t baseAddress,
      +
      1315  uint16_t captureCompareRegister);
      +
      1316 
      +
      1317 //*****************************************************************************
      +
      1318 //
      +
      1339 //
      +
      1340 //*****************************************************************************
      +
      1341 extern void Timer_D_setOutputForOutputModeOutBitValue(uint16_t baseAddress,
      +
      1342  uint16_t captureCompareRegister,
      +
      1343  uint8_t outputModeOutBitValue);
      +
      1344 
      +
      1345 //*****************************************************************************
      +
      1346 //
      +
      1357 //
      +
      1358 //*****************************************************************************
      +
      1359 extern void Timer_D_outputPWM(uint16_t baseAddress,
      +
      1360  Timer_D_outputPWMParam *param);
      +
      1361 
      +
      1362 //*****************************************************************************
      +
      1363 //
      +
      1371 //
      +
      1372 //*****************************************************************************
      +
      1373 extern void Timer_D_stop(uint16_t baseAddress);
      +
      1374 
      +
      1375 //*****************************************************************************
      +
      1376 //
      +
      1394 //
      +
      1395 //*****************************************************************************
      +
      1396 extern void Timer_D_setCompareValue(uint16_t baseAddress,
      +
      1397  uint16_t compareRegister,
      +
      1398  uint16_t compareValue);
      +
      1399 
      +
      1400 //*****************************************************************************
      +
      1401 //
      +
      1409 //
      +
      1410 //*****************************************************************************
      +
      1411 extern void Timer_D_clearTimerInterrupt(uint16_t baseAddress);
      +
      1412 
      +
      1413 //*****************************************************************************
      +
      1414 //
      +
      1432 //
      +
      1433 //*****************************************************************************
      +
      1434 extern void Timer_D_clearCaptureCompareInterrupt(uint16_t baseAddress,
      +
      1435  uint16_t captureCompareRegister);
      +
      1436 
      +
      1437 //*****************************************************************************
      +
      1438 //
      +
      1454 //
      +
      1455 //*****************************************************************************
      +
      1456 extern uint8_t Timer_D_initHighResGeneratorInFreeRunningMode(uint16_t baseAddress,
      +
      1457  uint8_t desiredHighResFrequency);
      +
      1458 
      +
      1459 //*****************************************************************************
      +
      1460 //
      +
      1471 //
      +
      1472 //*****************************************************************************
      +
      1473 extern void Timer_D_initHighResGeneratorInRegulatedMode(uint16_t baseAddress,
      +
      1474  Timer_D_initHighResGeneratorInRegulatedModeParam *param);
      +
      1475 
      +
      1476 //*****************************************************************************
      +
      1477 //
      +
      1488 //
      +
      1489 //*****************************************************************************
      +
      1490 extern void Timer_D_combineTDCCRToOutputPWM(uint16_t baseAddress,
      +
      1491  Timer_D_combineTDCCRToOutputPWMParam *param);
      +
      1492 
      +
      1493 //*****************************************************************************
      +
      1494 //
      +
      1508 //
      +
      1509 //*****************************************************************************
      +
      1510 extern void Timer_D_selectLatchingGroup(uint16_t baseAddress,
      +
      1511  uint16_t groupLatch);
      +
      1512 
      +
      1513 //*****************************************************************************
      +
      1514 //
      +
      1528 //
      +
      1529 //*****************************************************************************
      +
      1530 extern void Timer_D_selectCounterLength(uint16_t baseAddress,
      +
      1531  uint16_t counterLength);
      +
      1532 
      +
      1533 //*****************************************************************************
      +
      1534 //
      +
      1558 //
      +
      1559 //*****************************************************************************
      +
      1560 extern void Timer_D_initCompareLatchLoadEvent(uint16_t baseAddress,
      +
      1561  uint16_t compareRegister,
      +
      1562  uint16_t compareLatchLoadEvent);
      +
      1563 
      +
      1564 //*****************************************************************************
      +
      1565 //
      +
      1573 //
      +
      1574 //*****************************************************************************
      +
      1575 extern void Timer_D_disableHighResFastWakeup(uint16_t baseAddress);
      +
      1576 
      +
      1577 //*****************************************************************************
      +
      1578 //
      +
      1586 //
      +
      1587 //*****************************************************************************
      +
      1588 extern void Timer_D_enableHighResFastWakeup(uint16_t baseAddress);
      +
      1589 
      +
      1590 //*****************************************************************************
      +
      1591 //
      +
      1599 //
      +
      1600 //*****************************************************************************
      +
      1601 extern void Timer_D_disableHighResClockEnhancedAccuracy(uint16_t baseAddress);
      +
      1602 
      +
      1603 //*****************************************************************************
      +
      1604 //
      +
      1612 //
      +
      1613 //*****************************************************************************
      +
      1614 extern void Timer_D_enableHighResClockEnhancedAccuracy(uint16_t baseAddress);
      +
      1615 
      +
      1616 //*****************************************************************************
      +
      1617 //
      +
      1627 //
      +
      1628 //*****************************************************************************
      +
      1629 extern void Timer_D_disableHighResGeneratorForceON(uint16_t baseAddress);
      +
      1630 
      +
      1631 //*****************************************************************************
      +
      1632 //
      +
      1643 //
      +
      1644 //*****************************************************************************
      +
      1645 extern void Timer_D_enableHighResGeneratorForceON(uint16_t baseAddress);
      +
      1646 
      +
      1647 //*****************************************************************************
      +
      1648 //
      +
      1661 //
      +
      1662 //*****************************************************************************
      +
      1663 extern void Timer_D_selectHighResCoarseClockRange(uint16_t baseAddress,
      +
      1664  uint16_t highResCoarseClockRange);
      +
      1665 
      +
      1666 //*****************************************************************************
      +
      1667 //
      +
      1679 //
      +
      1680 //*****************************************************************************
      +
      1681 extern void Timer_D_selectHighResClockRange(uint16_t baseAddress,
      +
      1682  uint16_t highResClockRange);
      +
      1683 
      +
      1684 //*****************************************************************************
      +
      1685 //
      +
      1696 //
      +
      1697 //*****************************************************************************
      +
      1698 extern uint16_t Timer_D_getCounterValue(uint16_t baseAddress);
      +
      1699 
      +
      1700 //*****************************************************************************
      +
      1701 //
      +
      1730 //
      +
      1731 //*****************************************************************************
      +
      1732 extern void Timer_D_setOutputMode(uint16_t baseAddress,
      +
      1733  uint16_t compareRegister,
      +
      1734  uint16_t compareOutputMode);
      +
      1735 
      +
      1736 //*****************************************************************************
      +
      1737 //
      +
      1738 // Mark the end of the C bindings section for C++ compilers.
      +
      1739 //
      +
      1740 //*****************************************************************************
      +
      1741 #ifdef __cplusplus
      +
      1742 }
      +
      1743 #endif
      +
      1744 
      +
      1745 #endif
      +
      1746 #endif // __MSP430WARE_TIMER_D_H__
      + +
      +
      + + + + diff --git a/Documentation/html/tlv_8c.html b/Documentation/html/tlv_8c.html new file mode 100644 index 0000000..dc6c1c4 --- /dev/null +++ b/Documentation/html/tlv_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/tlv.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      tlv.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/tlv_8c_source.html b/Documentation/html/tlv_8c_source.html new file mode 100644 index 0000000..5bb9923 --- /dev/null +++ b/Documentation/html/tlv_8c_source.html @@ -0,0 +1,319 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/tlv.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      tlv.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // tlv.c - Driver for the tlv Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_TLV__
      +
      17 #include "tlv.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void TLV_getInfo(uint8_t tag,
      +
      22  uint8_t instance,
      +
      23  uint8_t *length,
      +
      24  uint16_t **data_address
      +
      25  )
      +
      26 {
      +
      27  // TLV Structure Start Address
      +
      28  char *TLV_address = (char *)TLV_START;
      +
      29 
      +
      30  while((TLV_address < (char *)TLV_END)
      +
      31  && ((*TLV_address != tag) || instance) // check for tag and instance
      +
      32  && (*TLV_address != TLV_TAGEND)) // do range check first
      +
      33  {
      +
      34  if (*TLV_address == tag)
      +
      35  {
      +
      36  // repeat till requested instance is reached
      +
      37  instance--;
      +
      38  }
      +
      39  // add (Current TAG address + LENGTH) + 2
      +
      40  TLV_address += *(TLV_address + 1) + 2;
      +
      41  }
      +
      42 
      +
      43  // Check if Tag match happened..
      +
      44  if (*TLV_address == tag)
      +
      45  {
      +
      46  // Return length = Address + 1
      +
      47  *length = *(TLV_address + 1);
      +
      48  // Return address of first data/value info = Address + 2
      +
      49  *data_address = (uint16_t *)(TLV_address + 2);
      +
      50  }
      +
      51  // If there was no tag match and the end of TLV structure was reached..
      +
      52  else
      +
      53  {
      +
      54  // Return 0 for TAG not found
      +
      55  *length = 0;
      +
      56  // Return 0 for TAG not found
      +
      57  *data_address = 0;
      +
      58  }
      +
      59 }
      +
      60 
      +
      61 uint16_t TLV_getDeviceType()
      +
      62 {
      +
      63  uint16_t *pDeviceType = (uint16_t *)TLV_DEVICE_ID_0;
      +
      64  // Return Value from TLV Table
      +
      65  return pDeviceType[0];
      +
      66 }
      +
      67 
      +
      68 uint16_t TLV_getMemory(uint8_t instance)
      +
      69 {
      +
      70  uint8_t *pPDTAG;
      +
      71  uint8_t bPDTAG_bytes;
      +
      72  uint16_t count;
      +
      73 
      +
      74  // set tag for word access comparison
      +
      75  instance *= 2;
      +
      76 
      +
      77  // TLV access Function Call
      +
      78  // Get Peripheral data pointer
      +
      79  TLV_getInfo(TLV_PDTAG,
      +
      80  0,
      +
      81  &bPDTAG_bytes,
      +
      82  (uint16_t **)&pPDTAG
      +
      83  );
      +
      84  if (pPDTAG != 0)
      +
      85  {
      +
      86  for (count = 0; count <= instance; count += 2)
      +
      87  {
      +
      88  if (pPDTAG[count] == 0)
      +
      89  {
      +
      90  // Return 0 if end reached
      +
      91  return 0;
      +
      92  }
      +
      93  if (count == instance)
      +
      94  {
      +
      95  return (pPDTAG[count] | pPDTAG[count+1]<<8);
      +
      96  }
      +
      97  } // for count
      +
      98  } // pPDTAG != 0
      +
      99 
      +
      100  // Return 0: not found
      +
      101  return 0;
      +
      102 }
      +
      103 
      +
      104 uint16_t TLV_getPeripheral(uint8_t tag,
      +
      105  uint8_t instance
      +
      106  )
      +
      107 {
      +
      108  uint8_t *pPDTAG;
      +
      109  uint8_t bPDTAG_bytes;
      +
      110  uint16_t count = 0;
      +
      111  uint16_t pcount = 0;
      +
      112 
      +
      113  // Get Peripheral data pointer
      +
      114  TLV_getInfo(TLV_PDTAG,
      +
      115  0,
      +
      116  &bPDTAG_bytes,
      +
      117  (uint16_t **)&pPDTAG
      +
      118  );
      +
      119  if (pPDTAG != 0)
      +
      120  {
      +
      121  // read memory configuration from TLV to get offset for Peripherals
      +
      122  while (TLV_getMemory(count))
      +
      123  {
      +
      124  count++;
      +
      125  }
      +
      126  // get number of Peripheral entries
      +
      127  pcount = pPDTAG[count * 2 + 1];
      +
      128  // inc count to first Periperal
      +
      129  count++;
      +
      130  // adjust point to first address of Peripheral
      +
      131  pPDTAG += count*2;
      +
      132  // set counter back to 0
      +
      133  count = 0;
      +
      134  // align pcount for work comparision
      +
      135  pcount *= 2;
      +
      136 
      +
      137  // TLV access Function Call
      +
      138  for (count = 0; count <= pcount; count += 2)
      +
      139  {
      +
      140  if (pPDTAG[count+1] == tag)
      +
      141  {
      +
      142  // test if required Peripheral is found
      +
      143  if (instance > 0)
      +
      144  {
      +
      145  // test if required instance is found
      +
      146  instance--;
      +
      147  }
      +
      148  else
      +
      149  {
      +
      150  // Return found data
      +
      151  return (pPDTAG[count] | pPDTAG[count + 1] << 8);
      +
      152  }
      +
      153  } // pPDTAG[count+1] == tag
      +
      154  } // for count
      +
      155  } // pPDTAG != 0
      +
      156 
      +
      157  // Return 0: not found
      +
      158  return 0;
      +
      159 }
      +
      160 
      +
      161 uint8_t TLV_getInterrupt(uint8_t tag)
      +
      162 {
      +
      163  uint8_t *pPDTAG;
      +
      164  uint8_t bPDTAG_bytes;
      +
      165  uint16_t count = 0;
      +
      166  uint16_t pcount = 0;
      +
      167 
      +
      168  // Get Peripheral data pointer
      +
      169  TLV_getInfo(TLV_PDTAG,
      +
      170  0,
      +
      171  &bPDTAG_bytes,
      +
      172  (uint16_t **)&pPDTAG
      +
      173  );
      +
      174  if (pPDTAG != 0)
      +
      175  {
      +
      176  // read memory configuration from TLV to get offset for Peripherals
      +
      177  while (TLV_getMemory(count))
      +
      178  {
      +
      179  count++;
      +
      180  }
      +
      181 
      +
      182  pcount = pPDTAG[count * 2 + 1];
      +
      183  // inc count to first Periperal
      +
      184  count++;
      +
      185  // adjust point to first address of Peripheral
      +
      186  pPDTAG += (pcount + count) * 2;
      +
      187  // set counter back to 0
      +
      188  count = 0;
      +
      189 
      +
      190  // TLV access Function Call
      +
      191  for (count = 0; count <= tag; count += 2)
      +
      192  {
      +
      193  if (pPDTAG[count] == 0)
      +
      194  {
      +
      195  // Return 0: not found/end of table
      +
      196  return 0;
      +
      197  }
      +
      198  if (count == tag)
      +
      199  {
      +
      200  // Return found data
      +
      201  return (pPDTAG[count]);
      +
      202  }
      +
      203  } // for count
      +
      204  } // pPDTAG != 0
      +
      205 
      +
      206  // Return 0: not found
      +
      207  return 0;
      +
      208 }
      +
      209 
      +
      210 #endif
      +
      211 //*****************************************************************************
      +
      212 //
      +
      215 //
      +
      216 //*****************************************************************************
      + + +
      +
      + + + + diff --git a/Documentation/html/tlv_8h.html b/Documentation/html/tlv_8h.html new file mode 100644 index 0000000..4ea9b6a --- /dev/null +++ b/Documentation/html/tlv_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/tlv.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      tlv.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/tlv_8h_source.html b/Documentation/html/tlv_8h_source.html new file mode 100644 index 0000000..6c9a012 --- /dev/null +++ b/Documentation/html/tlv_8h_source.html @@ -0,0 +1,334 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/tlv.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      tlv.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // tlv.h - Driver for the TLV Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_TLV_H__
      +
      8 #define __MSP430WARE_TLV_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_TLV__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //******************************************************************************
      +
      27 //
      +
      28 // TLV Data Types
      +
      29 //
      +
      30 //******************************************************************************
      +
      31 struct s_TLV_Die_Record {
      +
      32  uint32_t wafer_id;
      +
      33  uint16_t die_x_position;
      +
      34  uint16_t die_y_position;
      +
      35  uint16_t test_results;
      +
      36 };
      +
      37 
      +
      38 struct s_TLV_ADC_Cal_Data {
      +
      39  uint16_t adc_gain_factor;
      +
      40  int16_t adc_offset;
      +
      41  uint16_t adc_ref15_30_temp;
      +
      42  uint16_t adc_ref15_85_temp;
      +
      43  uint16_t adc_ref20_30_temp;
      +
      44  uint16_t adc_ref20_85_temp;
      +
      45  uint16_t adc_ref25_30_temp;
      +
      46  uint16_t adc_ref25_85_temp;
      +
      47 };
      +
      48 
      +
      49 struct s_TLV_Timer_D_Cal_Data {
      +
      50  uint16_t TDH0CTL1_64;
      +
      51  uint16_t TDH0CTL1_128;
      +
      52  uint16_t TDH0CTL1_200;
      +
      53  uint16_t TDH0CTL1_256;
      +
      54 };
      +
      55 
      +
      56 struct s_TLV_REF_Cal_Data {
      +
      57  uint16_t ref_ref15;
      +
      58  uint16_t ref_ref20;
      +
      59  uint16_t ref_ref25;
      +
      60 };
      +
      61 
      +
      62 struct s_Peripheral_Memory_Data {
      +
      63  uint16_t memory_1;
      +
      64  uint16_t memory_2;
      +
      65  uint16_t memory_3;
      +
      66  uint16_t memory_4;
      +
      67 };
      +
      68 
      +
      69 //*****************************************************************************
      +
      70 //
      +
      71 // The following are values that can be passed to the tag parameter for
      +
      72 // functions: TLV_getInfo().
      +
      73 //
      +
      74 //*****************************************************************************
      +
      75 #define TLV_TAG_LDTAG TLV_LDTAG
      +
      76 #define TLV_TAG_PDTAG TLV_PDTAG
      +
      77 #define TLV_TAG_Reserved3 TLV_Reserved3
      +
      78 #define TLV_TAG_Reserved4 TLV_Reserved4
      +
      79 #define TLV_TAG_BLANK TLV_BLANK
      +
      80 #define TLV_TAG_Reserved6 TLV_Reserved6
      +
      81 #define TLV_TAG_Reserved7 TLV_Reserved7
      +
      82 #define TLV_TAG_TAGEND TLV_TAGEND
      +
      83 #define TLV_TAG_TAGEXT TLV_TAGEXT
      +
      84 #define TLV_TAG_TIMER_D_CAL TLV_TIMERDCAL
      +
      85 #define TLV_DEVICE_ID_0 0x1A04
      +
      86 #define TLV_DEVICE_ID_1 0x1A05
      +
      87 #define TLV_TAG_DIERECORD TLV_DIERECORD
      +
      88 #define TLV_TAG_ADCCAL TLV_ADCCAL
      +
      89 #define TLV_TAG_ADC12CAL TLV_ADC12CAL
      +
      90 #define TLV_TAG_ADC10CAL TLV_ADC10CAL
      +
      91 #define TLV_TAG_REFCAL TLV_REFCAL
      +
      92 #define TLV_TAG_CTSD16CAL 0x1D
      +
      93 
      +
      94 //*****************************************************************************
      +
      95 //
      +
      96 // The following are values that can be passed to the tag parameter for
      +
      97 // functions: TLV_getPeripheral().
      +
      98 //
      +
      99 //*****************************************************************************
      +
      100 #define TLV_PID_NO_MODULE (0x00)
      +
      101 #define TLV_PID_PORTMAPPING (0x10)
      +
      102 #define TLV_PID_MSP430CPUXV2 (0x23)
      +
      103 #define TLV_PID_JTAG (0x09)
      +
      104 #define TLV_PID_SBW (0x0F)
      +
      105 #define TLV_PID_EEM_XS (0x02)
      +
      106 #define TLV_PID_EEM_S (0x03)
      +
      107 #define TLV_PID_EEM_M (0x04)
      +
      108 #define TLV_PID_EEM_L (0x05)
      +
      109 #define TLV_PID_PMM (0x30)
      +
      110 #define TLV_PID_PMM_FR (0x32)
      +
      111 #define TLV_PID_FCTL (0x39)
      +
      112 #define TLV_PID_CRC16 (0x3C)
      +
      113 #define TLV_PID_CRC16_RB (0x3D)
      +
      114 #define TLV_PID_WDT_A (0x40)
      +
      115 #define TLV_PID_SFR (0x41)
      +
      116 #define TLV_PID_SYS (0x42)
      +
      117 #define TLV_PID_RAMCTL (0x44)
      +
      118 #define TLV_PID_DMA_1 (0x46)
      +
      119 #define TLV_PID_DMA_3 (0x47)
      +
      120 #define TLV_PID_UCS (0x48)
      +
      121 #define TLV_PID_DMA_6 (0x4A)
      +
      122 #define TLV_PID_DMA_2 (0x4B)
      +
      123 #define TLV_PID_PORT1_2 (0x51)
      +
      124 #define TLV_PID_PORT3_4 (0x52)
      +
      125 #define TLV_PID_PORT5_6 (0x53)
      +
      126 #define TLV_PID_PORT7_8 (0x54)
      +
      127 #define TLV_PID_PORT9_10 (0x55)
      +
      128 #define TLV_PID_PORT11_12 (0x56)
      +
      129 #define TLV_PID_PORTU (0x5E)
      +
      130 #define TLV_PID_PORTJ (0x5F)
      +
      131 #define TLV_PID_TA2 (0x60)
      +
      132 #define TLV_PID_TA3 (0x61)
      +
      133 #define TLV_PID_TA5 (0x62)
      +
      134 #define TLV_PID_TA7 (0x63)
      +
      135 #define TLV_PID_TB3 (0x65)
      +
      136 #define TLV_PID_TB5 (0x66)
      +
      137 #define TLV_PID_TB7 (0x67)
      +
      138 #define TLV_PID_RTC (0x68)
      +
      139 #define TLV_PID_BT_RTC (0x69)
      +
      140 #define TLV_PID_BBS (0x6A)
      +
      141 #define TLV_PID_RTC_B (0x6B)
      +
      142 #define TLV_PID_TD2 (0x6C)
      +
      143 #define TLV_PID_TD3 (0x6D)
      +
      144 #define TLV_PID_TD5 (0x6E)
      +
      145 #define TLV_PID_TD7 (0x6F)
      +
      146 #define TLV_PID_TEC (0x70)
      +
      147 #define TLV_PID_RTC_C (0x71)
      +
      148 #define TLV_PID_AES (0x80)
      +
      149 #define TLV_PID_MPY16 (0x84)
      +
      150 #define TLV_PID_MPY32 (0x85)
      +
      151 #define TLV_PID_MPU (0x86)
      +
      152 #define TLV_PID_USCI_AB (0x90)
      +
      153 #define TLV_PID_USCI_A (0x91)
      +
      154 #define TLV_PID_USCI_B (0x92)
      +
      155 #define TLV_PID_EUSCI_A (0x94)
      +
      156 #define TLV_PID_EUSCI_B (0x95)
      +
      157 #define TLV_PID_REF (0xA0)
      +
      158 #define TLV_PID_COMP_B (0xA8)
      +
      159 #define TLV_PID_COMP_D (0xA9)
      +
      160 #define TLV_PID_USB (0x98)
      +
      161 #define TLV_PID_LCD_B (0xB1)
      +
      162 #define TLV_PID_LCD_C (0xB2)
      +
      163 #define TLV_PID_DAC12_A (0xC0)
      +
      164 #define TLV_PID_SD16_B_1 (0xC8)
      +
      165 #define TLV_PID_SD16_B_2 (0xC9)
      +
      166 #define TLV_PID_SD16_B_3 (0xCA)
      +
      167 #define TLV_PID_SD16_B_4 (0xCB)
      +
      168 #define TLV_PID_SD16_B_5 (0xCC)
      +
      169 #define TLV_PID_SD16_B_6 (0xCD)
      +
      170 #define TLV_PID_SD16_B_7 (0xCE)
      +
      171 #define TLV_PID_SD16_B_8 (0xCF)
      +
      172 #define TLV_PID_ADC12_A (0xD1)
      +
      173 #define TLV_PID_ADC10_A (0xD3)
      +
      174 #define TLV_PID_ADC10_B (0xD4)
      +
      175 #define TLV_PID_SD16_A (0xD8)
      +
      176 #define TLV_PID_TI_BSL (0xFC)
      +
      177 
      +
      178 //*****************************************************************************
      +
      179 //
      +
      180 // Prototypes for the APIs.
      +
      181 //
      +
      182 //*****************************************************************************
      +
      183 
      +
      184 //*****************************************************************************
      +
      185 //
      +
      230 //
      +
      231 //*****************************************************************************
      +
      232 extern void TLV_getInfo(uint8_t tag,
      +
      233  uint8_t instance,
      +
      234  uint8_t *length,
      +
      235  uint16_t **data_address);
      +
      236 
      +
      237 //*****************************************************************************
      +
      238 //
      +
      243 //
      +
      244 //*****************************************************************************
      +
      245 extern uint16_t TLV_getDeviceType(void);
      +
      246 
      +
      247 //*****************************************************************************
      +
      248 //
      +
      267 //
      +
      268 //*****************************************************************************
      +
      269 extern uint16_t TLV_getMemory(uint8_t instance);
      +
      270 
      +
      271 //*****************************************************************************
      +
      272 //
      +
      371 //
      +
      372 //*****************************************************************************
      +
      373 extern uint16_t TLV_getPeripheral(uint8_t tag,
      +
      374  uint8_t instance);
      +
      375 
      +
      376 //*****************************************************************************
      +
      377 //
      +
      391 //
      +
      392 //*****************************************************************************
      +
      393 extern uint8_t TLV_getInterrupt(uint8_t tag);
      +
      394 
      +
      395 //*****************************************************************************
      +
      396 //
      +
      397 // Mark the end of the C bindings section for C++ compilers.
      +
      398 //
      +
      399 //*****************************************************************************
      +
      400 #ifdef __cplusplus
      +
      401 }
      +
      402 #endif
      +
      403 
      +
      404 #endif
      +
      405 #endif // __MSP430WARE_TLV_H__
      + +
      +
      + + + + diff --git a/Documentation/html/ucs_8c.html b/Documentation/html/ucs_8c.html new file mode 100644 index 0000000..e886401 --- /dev/null +++ b/Documentation/html/ucs_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ucs.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ucs.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/ucs_8c_source.html b/Documentation/html/ucs_8c_source.html new file mode 100644 index 0000000..82b100f --- /dev/null +++ b/Documentation/html/ucs_8c_source.html @@ -0,0 +1,1038 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ucs.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ucs.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // ucs.c - Driver for the ucs Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #if defined(__MSP430_HAS_UCS__) || defined(__MSP430_HAS_UCS_RF__)
      +
      17 #include "ucs.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 #ifdef __GNUC__
      +
      22 #define __extension__(x)
      +
      23 __extension__(#define __delay_cycles(x) \
      +
      24 ({ \
      +
      25  volatile unsigned int j; \
      +
      26  for (j=0;j<x;j++) \
      +
      27  { \
      +
      28  __no_operation(); \
      +
      29  } \
      +
      30 })
      +
      31 );
      +
      32 
      +
      33 #endif
      +
      34 
      +
      35 #define CC430_DEVICE (defined (__CC430F5133__) || defined(__CC430F5135__) || defined(__CC430F5137__) || \
      +
      36  defined(__CC430F6125__) || defined(__CC430F6126__) || defined(__CC430F6127__) || \
      +
      37  defined(__CC430F6135__) || defined(__CC430F6137__) || defined(__CC430F5123__) || \
      +
      38  defined(__CC430F5125__) || defined(__CC430F5143__) || defined(__CC430F5145__) || \
      +
      39  defined(__CC430F5147__) || defined(__CC430F6143__) || defined(__CC430F6145__) || \
      +
      40  defined(__CC430F6147__))
      +
      41 
      +
      42 #define NOT_CC430_DEVICE (!defined (__CC430F5133__) && !defined(__CC430F5135__) && !defined(__CC430F5137__) && \
      +
      43  !defined(__CC430F6125__) && !defined(__CC430F6126__) && !defined(__CC430F6127__) && \
      +
      44  !defined(__CC430F6135__) && !defined(__CC430F6137__) && !defined(__CC430F5123__) && \
      +
      45  !defined(__CC430F5125__) && !defined(__CC430F5143__) && !defined(__CC430F5145__) && \
      +
      46  !defined(__CC430F5147__) && !defined(__CC430F6143__) && !defined(__CC430F6145__) && \
      +
      47  !defined(__CC430F6147__))
      +
      48 //******************************************************************************
      +
      49 //
      +
      50 // The XT1 crystal frequency. Should be set with
      +
      51 // UCS_setExternalClockSource if XT1 is used and user intends to
      +
      52 // invoke UCS_getSMCLK, UCS_getMCLK or UCS_getACLK
      +
      53 //
      +
      54 //******************************************************************************
      +
      55 static uint32_t privateXT1ClockFrequency = 0;
      +
      56 
      +
      57 //******************************************************************************
      +
      58 //
      +
      59 // The XT2 crystal frequency. Should be set with
      +
      60 // UCS_setExternalClockSource if XT1 is used and user intends to invoke
      +
      61 // UCS_getSMCLK, UCS_getMCLK or UCS_getACLK
      +
      62 //
      +
      63 //******************************************************************************
      +
      64 static uint32_t privateXT2ClockFrequency = 0;
      +
      65 
      +
      66 static uint32_t privateUCSSourceClockFromDCO (uint16_t FLLRefCLKSource
      +
      67  )
      +
      68 {
      +
      69  assert((SELM__DCOCLKDIV == FLLRefCLKSource) ||
      +
      70  (SELM__DCOCLK == FLLRefCLKSource)
      +
      71  );
      +
      72  uint16_t D_value = 1;
      +
      73  uint16_t N_value;
      +
      74  uint16_t n_value = 1;
      +
      75  uint32_t Fref_value;
      +
      76  uint8_t i;
      +
      77 
      +
      78  N_value = (HWREG16(UCS_BASE + OFS_UCSCTL2)) & 0x03FF;
      +
      79  uint16_t tempDivider = HWREG8(UCS_BASE + OFS_UCSCTL3) & FLLREFDIV_7;
      +
      80 
      +
      81  if (tempDivider < 4) {
      +
      82  n_value <<= tempDivider;
      +
      83  }
      +
      84  else if (tempDivider == 4) {
      +
      85  n_value = 12;
      +
      86  }
      +
      87  else if (tempDivider == 5) {
      +
      88  n_value = 16;
      +
      89  }
      +
      90 
      +
      91  switch ( (HWREG8(UCS_BASE + OFS_UCSCTL3)) & SELREF_7){
      +
      92  case SELREF__XT1CLK:
      +
      93  Fref_value = privateXT1ClockFrequency;
      +
      94 
      +
      95  if(XTS != (HWREG16(UCS_BASE + OFS_UCSCTL6) & XTS)) {
      +
      96  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT1LFOFFG){
      +
      97  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1LFOFFG);
      +
      98  //Clear OFIFG fault flag
      +
      99  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      100 
      +
      101  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT1LFOFFG){
      +
      102  Fref_value = UCS_REFOCLK_FREQUENCY;
      +
      103  }
      +
      104  }
      +
      105  }
      +
      106  else {
      +
      107  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT1HFOFFG){
      +
      108  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1HFOFFG);
      +
      109  //Clear OFIFG fault flag
      +
      110  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      111 
      +
      112  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT1HFOFFG){
      +
      113  Fref_value = UCS_REFOCLK_FREQUENCY;
      +
      114  }
      +
      115  }
      +
      116  }
      +
      117 
      +
      118  break;
      +
      119  case SELREF__REFOCLK:
      +
      120  Fref_value = UCS_REFOCLK_FREQUENCY;
      +
      121  break;
      +
      122  case SELREF__XT2CLK:
      +
      123  Fref_value = privateXT2ClockFrequency;
      +
      124 
      +
      125  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT2OFFG){
      +
      126  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT2OFFG);
      +
      127 
      +
      128  //Clear OFIFG fault flag
      +
      129  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      130 
      +
      131  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT2OFFG){
      +
      132  Fref_value = UCS_REFOCLK_FREQUENCY;
      +
      133  }
      +
      134  }
      +
      135 
      +
      136  break;
      +
      137  default: assert(0);
      +
      138  }
      +
      139 
      +
      140  uint32_t CLKFrequency = Fref_value * ( N_value + 1) / n_value;
      +
      141 
      +
      142  if (SELM__DCOCLK == FLLRefCLKSource){
      +
      143  tempDivider = (HWREG16(UCS_BASE + OFS_UCSCTL2)) & FLLD_7;
      +
      144  tempDivider = tempDivider >> 12;
      +
      145 
      +
      146  for (i = 0; i < tempDivider; i++){
      +
      147  D_value = D_value * 2;
      +
      148  }
      +
      149 
      +
      150  CLKFrequency *= D_value;
      +
      151  }
      +
      152  return ( CLKFrequency) ;
      +
      153 }
      +
      154 
      +
      155 static uint32_t privateUCSComputeCLKFrequency (uint16_t CLKSource,
      +
      156  uint16_t CLKSourceDivider
      +
      157  )
      +
      158 {
      +
      159  uint32_t CLKFrequency;
      +
      160  uint8_t CLKSourceFrequencyDivider = 1;
      +
      161  uint8_t i = 0;
      +
      162 
      +
      163  for ( i = 0; i < CLKSourceDivider; i++){
      +
      164  CLKSourceFrequencyDivider *= 2;
      +
      165  }
      +
      166 
      +
      167  switch (CLKSource){
      +
      168  case SELM__XT1CLK:
      +
      169  CLKFrequency = (privateXT1ClockFrequency /
      +
      170  CLKSourceFrequencyDivider);
      +
      171 
      +
      172  if(XTS != (HWREG16(UCS_BASE + OFS_UCSCTL6) & XTS)) {
      +
      173  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT1LFOFFG){
      +
      174  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1LFOFFG);
      +
      175  //Clear OFIFG fault flag
      +
      176  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      177 
      +
      178  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT1LFOFFG){
      +
      179  CLKFrequency = UCS_REFOCLK_FREQUENCY;
      +
      180  }
      +
      181  }
      +
      182  }
      +
      183  else {
      +
      184  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT1HFOFFG){
      +
      185  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1HFOFFG);
      +
      186  //Clear OFIFG fault flag
      +
      187  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      188 
      +
      189  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT1HFOFFG){
      +
      190  CLKFrequency = UCS_REFOCLK_FREQUENCY;
      +
      191  }
      +
      192  }
      +
      193  }
      +
      194  break;
      +
      195 
      +
      196  case SELM__VLOCLK:
      +
      197  CLKFrequency =
      +
      198  (UCS_VLOCLK_FREQUENCY / CLKSourceFrequencyDivider);
      +
      199  break;
      +
      200  case SELM__REFOCLK:
      +
      201  CLKFrequency =
      +
      202  (UCS_REFOCLK_FREQUENCY / CLKSourceFrequencyDivider);
      +
      203  break;
      +
      204  case SELM__XT2CLK:
      +
      205  CLKFrequency =
      +
      206  (privateXT2ClockFrequency / CLKSourceFrequencyDivider);
      +
      207 
      +
      208  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT2OFFG){
      +
      209 
      +
      210  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~XT2OFFG;
      +
      211  //Clear OFIFG fault flag
      +
      212  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      213  }
      +
      214 
      +
      215  if (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT2OFFG){
      +
      216  CLKFrequency =
      +
      217  privateUCSSourceClockFromDCO( SELM__DCOCLKDIV);
      +
      218  }
      +
      219  break;
      +
      220  case SELM__DCOCLK:
      +
      221  case SELM__DCOCLKDIV:
      +
      222  CLKFrequency = privateUCSSourceClockFromDCO(
      +
      223  CLKSource) / CLKSourceFrequencyDivider;
      +
      224  break;
      +
      225  }
      +
      226 
      +
      227  return ( CLKFrequency) ;
      +
      228 }
      +
      229 
      +
      230 void UCS_setExternalClockSource (uint32_t XT1CLK_frequency,
      +
      231  uint32_t XT2CLK_frequency
      +
      232  )
      +
      233 {
      +
      234  privateXT1ClockFrequency = XT1CLK_frequency;
      +
      235  privateXT2ClockFrequency = XT2CLK_frequency;
      +
      236 }
      +
      237 
      +
      238 void UCS_initClockSignal (uint8_t selectedClockSignal,
      +
      239  uint16_t clockSource,
      +
      240  uint16_t clockSourceDivider
      +
      241  )
      +
      242 {
      +
      243  assert(
      +
      244  (UCS_XT1CLK_SELECT == clockSource) ||
      +
      245  (UCS_VLOCLK_SELECT == clockSource) ||
      +
      246  (UCS_REFOCLK_SELECT == clockSource) ||
      +
      247  (UCS_DCOCLK_SELECT == clockSource) ||
      +
      248  (UCS_DCOCLKDIV_SELECT == clockSource) ||
      +
      249  (UCS_XT2CLK_SELECT == clockSource)
      +
      250  );
      +
      251 
      +
      252  assert(
      +
      253  (UCS_CLOCK_DIVIDER_1 == clockSourceDivider) ||
      +
      254  (UCS_CLOCK_DIVIDER_2 == clockSourceDivider) ||
      +
      255  (UCS_CLOCK_DIVIDER_4 == clockSourceDivider) ||
      +
      256  (UCS_CLOCK_DIVIDER_8 == clockSourceDivider) ||
      +
      257  (UCS_CLOCK_DIVIDER_16 == clockSourceDivider) ||
      +
      258  (UCS_CLOCK_DIVIDER_32 == clockSourceDivider)
      +
      259  );
      +
      260 
      +
      261  uint16_t temp = HWREG16(UCS_BASE + OFS_UCSCTL5);
      +
      262  switch (selectedClockSignal){
      +
      263  case UCS_ACLK:
      +
      264  HWREG16(UCS_BASE + OFS_UCSCTL4) &= ~(SELA_7);
      +
      265  clockSource = clockSource << 8;
      +
      266  HWREG16(UCS_BASE + OFS_UCSCTL4) |= (clockSource);
      +
      267 
      +
      268  clockSourceDivider = clockSourceDivider << 8;
      +
      269  HWREG16(UCS_BASE + OFS_UCSCTL5) = temp & ~(DIVA_7) | clockSourceDivider;
      +
      270  break;
      +
      271  case UCS_SMCLK:
      +
      272  HWREG16(UCS_BASE + OFS_UCSCTL4) &= ~(SELS_7);
      +
      273  clockSource = clockSource << 4;
      +
      274  HWREG16(UCS_BASE + OFS_UCSCTL4) |= (clockSource);
      +
      275 
      +
      276  clockSourceDivider = clockSourceDivider << 4;
      +
      277  HWREG16(UCS_BASE + OFS_UCSCTL5) = temp & ~(DIVS_7) | clockSourceDivider;
      +
      278  break;
      +
      279  case UCS_MCLK:
      +
      280  HWREG16(UCS_BASE + OFS_UCSCTL4) &= ~(SELM_7);
      +
      281  HWREG16(UCS_BASE + OFS_UCSCTL4) |= (clockSource);
      +
      282 
      +
      283  HWREG16(UCS_BASE + OFS_UCSCTL5) = temp & ~(DIVM_7) | clockSourceDivider;
      +
      284  break;
      +
      285  case UCS_FLLREF:
      +
      286  assert(clockSource <= SELA_5);
      +
      287  HWREG8(UCS_BASE + OFS_UCSCTL3) &= ~(SELREF_7);
      +
      288 
      +
      289  clockSource = clockSource << 4;
      +
      290  HWREG8(UCS_BASE + OFS_UCSCTL3) |= (clockSource);
      +
      291 
      +
      292  temp = HWREG8(UCS_BASE + OFS_UCSCTL3) & 0x00FF;
      +
      293  //Note that dividers for FLLREF are slightly different
      +
      294  //Hence handled differently from other CLK signals
      +
      295  switch(clockSourceDivider)
      +
      296  {
      +
      297  case UCS_CLOCK_DIVIDER_12:
      +
      298  HWREG8(UCS_BASE + OFS_UCSCTL3) = temp & ~(FLLREFDIV_7) | FLLREFDIV__12;
      +
      299  break;
      +
      300  case UCS_CLOCK_DIVIDER_16:
      +
      301  HWREG8(UCS_BASE + OFS_UCSCTL3) = temp & ~(FLLREFDIV_7) | FLLREFDIV__16;
      +
      302  break;
      +
      303  default:
      +
      304  HWREG8(UCS_BASE + OFS_UCSCTL3) = temp & ~(FLLREFDIV_7) | clockSourceDivider;
      +
      305  break;
      +
      306  }
      +
      307 
      +
      308  break;
      +
      309  }
      +
      310 }
      +
      311 
      +
      312 void UCS_turnOnLFXT1 (uint16_t xt1drive,
      +
      313  uint8_t xcap
      +
      314  )
      +
      315 {
      +
      316  assert((xcap == UCS_XCAP_0) ||
      +
      317  (xcap == UCS_XCAP_1) ||
      +
      318  (xcap == UCS_XCAP_2) ||
      +
      319  (xcap == UCS_XCAP_3) );
      +
      320 
      +
      321  assert((xt1drive == UCS_XT1_DRIVE_0 ) ||
      +
      322  (xt1drive == UCS_XT1_DRIVE_1 ) ||
      +
      323  (xt1drive == UCS_XT1_DRIVE_2 ) ||
      +
      324  (xt1drive == UCS_XT1_DRIVE_3 ));
      +
      325 
      +
      326  //Switch ON XT1 oscillator
      +
      327  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT1OFF;
      +
      328 
      +
      329  //Highest drive setting for XT1startup
      +
      330  HWREG16(UCS_BASE + OFS_UCSCTL6_L) |= XT1DRIVE1_L + XT1DRIVE0_L;
      +
      331 
      +
      332  //Enable LF mode and clear xcap and bypass
      +
      333  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~(XTS + XCAP_3 + XT1BYPASS);
      +
      334  HWREG16(UCS_BASE + OFS_UCSCTL6) |= xcap;
      +
      335 
      +
      336  while (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT1LFOFFG)
      +
      337  {
      +
      338  //Clear OSC flaut Flags fault flags
      +
      339  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1LFOFFG);
      +
      340 
      +
      341  //Clear OFIFG fault flag
      +
      342  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      343  }
      +
      344 
      +
      345  //set requested Drive mode
      +
      346  HWREG16(UCS_BASE + OFS_UCSCTL6) = ( HWREG16(UCS_BASE + OFS_UCSCTL6) &
      +
      347  ~(XT1DRIVE_3)
      +
      348  ) |
      +
      349  (xt1drive);
      +
      350 
      +
      351 }
      +
      352 
      +
      353 void UCS_turnOnHFXT1(uint16_t xt1drive
      +
      354  )
      +
      355 {
      +
      356  //Switch ON XT1 oscillator
      +
      357  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT1OFF;
      +
      358 
      +
      359  //Check if drive value is the expected one
      +
      360  if ((HWREG16(UCS_BASE + OFS_UCSCTL6) & XT1DRIVE_3) != xt1drive){
      +
      361  //Clear XT1drive field
      +
      362  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT1DRIVE_3;
      +
      363 
      +
      364  //Set requested value
      +
      365  HWREG16(UCS_BASE + OFS_UCSCTL6) |= xt1drive;
      +
      366  }
      +
      367 
      +
      368  //Enable HF mode
      +
      369  HWREG16(UCS_BASE + OFS_UCSCTL6) |= XTS;
      +
      370 
      +
      371  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT1BYPASS;
      +
      372 
      +
      373  // Check XT1 fault flags
      +
      374  while((HWREG8(UCS_BASE + OFS_UCSCTL7) & (XT1HFOFFG))){
      +
      375  //Clear OSC flaut Flags fault flags
      +
      376  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1HFOFFG);
      +
      377 
      +
      378  //Clear OFIFG fault flag
      +
      379  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      380  }
      +
      381 }
      +
      382 
      +
      383 void UCS_bypassXT1 (uint8_t highOrLowFrequency
      +
      384  )
      +
      385 {
      +
      386  assert((UCS_XT1_LOW_FREQUENCY == highOrLowFrequency) ||
      +
      387  (UCS_XT1_HIGH_FREQUENCY == highOrLowFrequency )
      +
      388  );
      +
      389 
      +
      390  //Enable HF/LF mode
      +
      391  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XTS;
      +
      392  HWREG16(UCS_BASE + OFS_UCSCTL6) |= highOrLowFrequency;
      +
      393 
      +
      394  //Switch OFF XT1 oscillator and enable BYPASS mode
      +
      395  HWREG16(UCS_BASE + OFS_UCSCTL6) |= (XT1BYPASS + XT1OFF);
      +
      396 
      +
      397  if (UCS_XT1_LOW_FREQUENCY == highOrLowFrequency){
      +
      398  while (HWREG8(UCS_BASE + OFS_UCSCTL7) & (XT1LFOFFG)) {
      +
      399  //Clear OSC flaut Flags fault flags
      +
      400  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1LFOFFG);
      +
      401 
      +
      402  // Clear the global fault flag. In case the XT1 caused the global fault
      +
      403  // flag to get set this will clear the global error condition. If any
      +
      404  // error condition persists, global flag will get again.
      +
      405  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      406  }
      +
      407  } else {
      +
      408  while (HWREG8(UCS_BASE + OFS_UCSCTL7) & (XT1HFOFFG)) {
      +
      409  //Clear OSC flaut Flags fault flags
      +
      410  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1HFOFFG);
      +
      411 
      +
      412  //Clear the global fault flag. In case the XT1 caused the global fault
      +
      413  //flag to get set this will clear the global error condition. If any
      +
      414  //error condition persists, global flag will get again.
      +
      415  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      416  }
      +
      417  }
      +
      418 
      +
      419 }
      +
      420 
      +
      421 bool UCS_turnOnLFXT1WithTimeout(uint16_t xt1drive,
      +
      422  uint8_t xcap,
      +
      423  uint16_t timeout
      +
      424  )
      +
      425 {
      +
      426  assert((xcap == UCS_XCAP_0) ||
      +
      427  (xcap == UCS_XCAP_1) ||
      +
      428  (xcap == UCS_XCAP_2) ||
      +
      429  (xcap == UCS_XCAP_3) );
      +
      430 
      +
      431  assert((xt1drive == UCS_XT1_DRIVE_0 ) ||
      +
      432  (xt1drive == UCS_XT1_DRIVE_1 ) ||
      +
      433  (xt1drive == UCS_XT1_DRIVE_2 ) ||
      +
      434  (xt1drive == UCS_XT1_DRIVE_3 ));
      +
      435 
      +
      436  assert(timeout > 0);
      +
      437 
      +
      438  //Switch ON XT1 oscillator
      +
      439  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT1OFF;
      +
      440 
      +
      441  //Highest drive setting for XT1startup
      +
      442  HWREG16(UCS_BASE + OFS_UCSCTL6_L) |= XT1DRIVE1_L + XT1DRIVE0_L;
      +
      443 
      +
      444  //Enable LF mode and clear xcap and bypass
      +
      445  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~(XTS + XCAP_3 + XT1BYPASS);
      +
      446  HWREG16(UCS_BASE + OFS_UCSCTL6) |= xcap;
      +
      447 
      +
      448  do
      +
      449  {
      +
      450  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1LFOFFG);
      +
      451 
      +
      452  //Clear OFIFG fault flag
      +
      453  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      454  }while ((HWREG8(UCS_BASE + OFS_UCSCTL7) & XT1LFOFFG) && --timeout);
      +
      455 
      +
      456  if (timeout){
      +
      457  //set requested Drive mode
      +
      458  HWREG16(UCS_BASE + OFS_UCSCTL6) = ( HWREG16(UCS_BASE + OFS_UCSCTL6) &
      +
      459  ~(XT1DRIVE_3)
      +
      460  ) |
      +
      461  (xt1drive);
      +
      462 
      +
      463  return (STATUS_SUCCESS);
      +
      464  } else {
      +
      465  return (STATUS_FAIL);
      +
      466  }
      +
      467 }
      +
      468 
      +
      469 bool UCS_turnOnHFXT1WithTimeout (uint16_t xt1drive,
      +
      470  uint16_t timeout
      +
      471  )
      +
      472 {
      +
      473  assert((xt1drive == UCS_XT1_DRIVE_0 ) ||
      +
      474  (xt1drive == UCS_XT1_DRIVE_1 ) ||
      +
      475  (xt1drive == UCS_XT1_DRIVE_2 ) ||
      +
      476  (xt1drive == UCS_XT1_DRIVE_3 ));
      +
      477 
      +
      478  assert(timeout > 0);
      +
      479 
      +
      480  //Switch ON XT1 oscillator
      +
      481  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT1OFF;
      +
      482 
      +
      483  //Check if drive value is the expected one
      +
      484  if ((HWREG16(UCS_BASE + OFS_UCSCTL6) & XT1DRIVE_3) != xt1drive){
      +
      485  //Clear XT1drive field
      +
      486  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT1DRIVE_3;
      +
      487 
      +
      488  //Set requested value
      +
      489  HWREG16(UCS_BASE + OFS_UCSCTL6) |= xt1drive;
      +
      490  }
      +
      491 
      +
      492  //Enable HF mode
      +
      493  HWREG16(UCS_BASE + OFS_UCSCTL6) |= XTS;
      +
      494 
      +
      495  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT1BYPASS;
      +
      496 
      +
      497  // Check XT1 fault flags
      +
      498  do
      +
      499  {
      +
      500  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1HFOFFG);
      +
      501 
      +
      502  //Clear OFIFG fault flag
      +
      503  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      504  }while ((HWREG8(UCS_BASE + OFS_UCSCTL7) & ( XT1HFOFFG))
      +
      505  && --timeout);
      +
      506 
      +
      507  if (timeout){
      +
      508  return (STATUS_SUCCESS);
      +
      509  } else {
      +
      510  return (STATUS_FAIL);
      +
      511  }
      +
      512 }
      +
      513 
      +
      514 bool UCS_bypassXT1WithTimeout (uint8_t highOrLowFrequency,
      +
      515  uint16_t timeout
      +
      516  )
      +
      517 {
      +
      518  assert((UCS_XT1_LOW_FREQUENCY == highOrLowFrequency) ||
      +
      519  (UCS_XT1_HIGH_FREQUENCY == highOrLowFrequency )
      +
      520  );
      +
      521 
      +
      522  assert(timeout > 0);
      +
      523 
      +
      524  //Enable HF/LF mode
      +
      525  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XTS;
      +
      526  HWREG16(UCS_BASE + OFS_UCSCTL6) |= highOrLowFrequency;
      +
      527 
      +
      528  //Switch OFF XT1 oscillator and enable bypass
      +
      529  HWREG16(UCS_BASE + OFS_UCSCTL6) |= (XT1BYPASS + XT1OFF);
      +
      530 
      +
      531  if (UCS_XT1_LOW_FREQUENCY == highOrLowFrequency){
      +
      532  do {
      +
      533  //Clear OSC flaut Flags fault flags
      +
      534  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1LFOFFG);
      +
      535 
      +
      536  // Clear the global fault flag. In case the XT1 caused the global fault
      +
      537  // flag to get set this will clear the global error condition. If any
      +
      538  // error condition persists, global flag will get again.
      +
      539  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      540  }while ((HWREG8(UCS_BASE + OFS_UCSCTL7) & (XT1LFOFFG)) && --timeout);
      +
      541 
      +
      542  } else {
      +
      543  do {
      +
      544  //Clear OSC flaut Flags fault flags
      +
      545  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT1HFOFFG);
      +
      546 
      +
      547  //Clear the global fault flag. In case the XT1 caused the global fault
      +
      548  //flag to get set this will clear the global error condition. If any
      +
      549  //error condition persists, global flag will get again.
      +
      550  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      551  }while ((HWREG8(UCS_BASE + OFS_UCSCTL7) & (XT1HFOFFG))&& --timeout);
      +
      552  }
      +
      553 
      +
      554  if (timeout){
      +
      555  return (STATUS_SUCCESS);
      +
      556  } else {
      +
      557  return (STATUS_FAIL);
      +
      558  }
      +
      559 }
      +
      560 
      +
      561 void UCS_turnOffXT1 (void)
      +
      562 {
      +
      563  //Switch off XT1 oscillator
      +
      564  HWREG16(UCS_BASE + OFS_UCSCTL6) |= XT1OFF;
      +
      565 }
      +
      566 
      +
      567 void UCS_turnOnXT2 (uint16_t xt2drive
      +
      568  )
      +
      569 {
      +
      570 #if NOT_CC430_DEVICE
      +
      571 
      +
      572  //Check if drive value is the expected one
      +
      573  if ((HWREG16(UCS_BASE + OFS_UCSCTL6) & XT2DRIVE_3) != xt2drive){
      +
      574  //Clear XT2drive field
      +
      575  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT2DRIVE_3;
      +
      576 
      +
      577  //Set requested value
      +
      578  HWREG16(UCS_BASE + OFS_UCSCTL6) |= xt2drive;
      +
      579  }
      +
      580 
      +
      581  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT2BYPASS;
      +
      582 #endif
      +
      583 
      +
      584  //Enable XT2 and Switch on XT2 oscillator
      +
      585  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT2OFF;
      +
      586 
      +
      587  while (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT2OFFG){
      +
      588  //Clear OSC flaut Flags
      +
      589  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT2OFFG);
      +
      590 
      +
      591 #if CC430_DEVICE
      +
      592  // CC430 uses a different fault mechanism. It requires 3 VLO clock
      +
      593  // cycles delay.If 20MHz CPU, 5000 clock cycles are required in worst
      +
      594  // case.
      +
      595  __delay_cycles(5000);
      +
      596 #endif
      +
      597 
      +
      598  //Clear OFIFG fault flag
      +
      599  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      600  }
      +
      601 }
      +
      602 
      +
      603 void UCS_bypassXT2 (void)
      +
      604 {
      +
      605  //Switch on XT2 oscillator
      +
      606 #if NOT_CC430_DEVICE
      +
      607  HWREG16(UCS_BASE + OFS_UCSCTL6) |= XT2BYPASS;
      +
      608 #endif
      +
      609  HWREG16(UCS_BASE + OFS_UCSCTL6) |= XT2OFF;
      +
      610 
      +
      611  while (HWREG8(UCS_BASE + OFS_UCSCTL7) & XT2OFFG){
      +
      612  //Clear OSC flaut Flags
      +
      613  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT2OFFG);
      +
      614 
      +
      615 #if CC430_DEVICE
      +
      616  // CC430 uses a different fault mechanism. It requires 3 VLO clock
      +
      617  // cycles delay.If 20MHz CPU, 5000 clock cycles are required in worst
      +
      618  // case.
      +
      619  __delay_cycles(5000);
      +
      620 #endif
      +
      621 
      +
      622  //Clear OFIFG fault flag
      +
      623  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      624  }
      +
      625 }
      +
      626 
      +
      627 bool UCS_turnOnXT2WithTimeout (uint16_t xt2drive,
      +
      628  uint16_t timeout
      +
      629  )
      +
      630 {
      +
      631  assert(timeout > 0);
      +
      632 
      +
      633 #if NOT_CC430_DEVICE
      +
      634  //Check if drive value is the expected one
      +
      635  if ((HWREG16(UCS_BASE + OFS_UCSCTL6) & XT2DRIVE_3) != xt2drive){
      +
      636  //Clear XT2drive field
      +
      637  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT2DRIVE_3;
      +
      638 
      +
      639  //Set requested value
      +
      640  HWREG16(UCS_BASE + OFS_UCSCTL6) |= xt2drive;
      +
      641  }
      +
      642 
      +
      643  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT2BYPASS;
      +
      644 #endif
      +
      645 
      +
      646  //Switch on XT2 oscillator
      +
      647  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~XT2OFF;
      +
      648 
      +
      649  do{
      +
      650  //Clear OSC flaut Flags
      +
      651  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT2OFFG);
      +
      652 
      +
      653 #if CC430_DEVICE
      +
      654  // CC430 uses a different fault mechanism. It requires 3 VLO clock
      +
      655  // cycles delay.If 20MHz CPU, 5000 clock cycles are required in worst
      +
      656  // case.
      +
      657  __delay_cycles(5000);
      +
      658 #endif
      +
      659 
      +
      660  //Clear OFIFG fault flag
      +
      661  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      662  }while ((HWREG8(UCS_BASE + OFS_UCSCTL7) & XT2OFFG) && --timeout);
      +
      663 
      +
      664  if (timeout){
      +
      665  return (STATUS_SUCCESS);
      +
      666  } else {
      +
      667  return (STATUS_FAIL);
      +
      668  }
      +
      669 }
      +
      670 
      +
      671 bool UCS_bypassXT2WithTimeout (uint16_t timeout
      +
      672  )
      +
      673 {
      +
      674  assert(timeout > 0);
      +
      675 
      +
      676  //Switch off XT2 oscillator and enable BYPASS mode
      +
      677 #if NOT_CC430_DEVICE
      +
      678  HWREG16(UCS_BASE + OFS_UCSCTL6) |= XT2BYPASS;
      +
      679 #endif
      +
      680  HWREG16(UCS_BASE + OFS_UCSCTL6) |= XT2OFF;
      +
      681 
      +
      682  do{
      +
      683  //Clear OSC flaut Flags
      +
      684  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(XT2OFFG);
      +
      685 
      +
      686 #if CC430_DEVICE
      +
      687  // CC430 uses a different fault mechanism. It requires 3 VLO clock
      +
      688  // cycles delay.If 20MHz CPU, 5000 clock cycles are required in worst
      +
      689  // case.
      +
      690  __delay_cycles(5000);
      +
      691 #endif
      +
      692 
      +
      693  //Clear OFIFG fault flag
      +
      694  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      695  }while ((HWREG8(UCS_BASE + OFS_UCSCTL7) & XT2OFFG) && --timeout);
      +
      696 
      +
      697  if (timeout){
      +
      698  return (STATUS_SUCCESS);
      +
      699  } else {
      +
      700  return (STATUS_FAIL);
      +
      701  }
      +
      702 }
      +
      703 
      +
      704 void UCS_turnOffXT2 (void)
      +
      705 {
      +
      706  //Switch off XT2 oscillator
      +
      707  HWREG16(UCS_BASE + OFS_UCSCTL6) |= XT2OFF;
      +
      708 }
      +
      709 
      +
      710 void UCS_initFLLSettle (uint16_t fsystem,
      +
      711  uint16_t ratio
      +
      712  )
      +
      713 {
      +
      714  volatile uint16_t x = ratio * 32;
      +
      715 
      +
      716  UCS_initFLL(fsystem, ratio);
      +
      717 
      +
      718  while (x--)
      +
      719  {
      +
      720  __delay_cycles(30);
      +
      721  }
      +
      722 }
      +
      723 
      +
      724 void UCS_initFLL (uint16_t fsystem,
      +
      725  uint16_t ratio
      +
      726  )
      +
      727 {
      +
      728  uint16_t d, dco_div_bits;
      +
      729  uint16_t mode = 0;
      +
      730 
      +
      731  //Save actual state of FLL loop control, then disable it. This is needed to
      +
      732  //prevent the FLL from acting as we are making fundamental modifications to
      +
      733  //the clock setup.
      +
      734  uint16_t srRegisterState = __get_SR_register() & SCG0;
      +
      735 
      +
      736  d = ratio;
      +
      737  //Have at least a divider of 2
      +
      738  dco_div_bits = FLLD__2;
      +
      739 
      +
      740  if (fsystem > 16000){
      +
      741  d >>= 1 ;
      +
      742  mode = 1;
      +
      743  } else {
      +
      744  //fsystem = fsystem * 2
      +
      745  fsystem <<= 1;
      +
      746  }
      +
      747 
      +
      748  while (d > 512)
      +
      749  {
      +
      750  //Set next higher div level
      +
      751  dco_div_bits = dco_div_bits + FLLD0;
      +
      752  d >>= 1;
      +
      753  }
      +
      754 
      +
      755  // Disable FLL
      +
      756  __bis_SR_register(SCG0);
      +
      757 
      +
      758  //Set DCO to lowest Tap
      +
      759  HWREG8(UCS_BASE + OFS_UCSCTL0_H) = 0x0000;
      +
      760 
      +
      761  //Reset FN bits
      +
      762  HWREG16(UCS_BASE + OFS_UCSCTL2) &= ~(0x03FF);
      +
      763  HWREG16(UCS_BASE + OFS_UCSCTL2) = dco_div_bits | (d - 1);
      +
      764 
      +
      765  if (fsystem <= 630){ //fsystem < 0.63MHz
      +
      766  HWREG8(UCS_BASE + OFS_UCSCTL1) = DCORSEL_0;
      +
      767  } else if (fsystem < 1250){ //0.63MHz < fsystem < 1.25MHz
      +
      768  HWREG8(UCS_BASE + OFS_UCSCTL1) = DCORSEL_1;
      +
      769  } else if (fsystem < 2500){ //1.25MHz < fsystem < 2.5MHz
      +
      770  HWREG8(UCS_BASE + OFS_UCSCTL1) = DCORSEL_2;
      +
      771  } else if (fsystem < 5000){ //2.5MHz < fsystem < 5MHz
      +
      772  HWREG8(UCS_BASE + OFS_UCSCTL1) = DCORSEL_3;
      +
      773  } else if (fsystem < 10000){ //5MHz < fsystem < 10MHz
      +
      774  HWREG8(UCS_BASE + OFS_UCSCTL1) = DCORSEL_4;
      +
      775  } else if (fsystem < 20000){ //10MHz < fsystem < 20MHz
      +
      776  HWREG8(UCS_BASE + OFS_UCSCTL1) = DCORSEL_5;
      +
      777  } else if (fsystem < 40000){ //20MHz < fsystem < 40MHz
      +
      778  HWREG8(UCS_BASE + OFS_UCSCTL1) = DCORSEL_6;
      +
      779  } else {
      +
      780  HWREG8(UCS_BASE + OFS_UCSCTL1) = DCORSEL_7;
      +
      781  }
      +
      782 
      +
      783  // Re-enable FLL
      +
      784  __bic_SR_register(SCG0);
      +
      785 
      +
      786  while (HWREG8(UCS_BASE + OFS_UCSCTL7_L) & DCOFFG)
      +
      787  {
      +
      788  //Clear OSC flaut Flags
      +
      789  HWREG8(UCS_BASE + OFS_UCSCTL7_L) &= ~(DCOFFG);
      +
      790 
      +
      791  //Clear OFIFG fault flag
      +
      792  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      793  }
      +
      794 
      +
      795  // Restore previous SCG0
      +
      796  __bis_SR_register(srRegisterState);
      +
      797 
      +
      798  if (mode == 1){
      +
      799  //fsystem > 16000
      +
      800  //Select DCOCLK
      +
      801  HWREG16(UCS_BASE + OFS_UCSCTL4) &= ~(SELM_7 + SELS_7);
      +
      802  HWREG16(UCS_BASE + OFS_UCSCTL4) |= SELM__DCOCLK + SELS__DCOCLK;
      +
      803  } else {
      +
      804  //Select DCODIVCLK
      +
      805  HWREG16(UCS_BASE + OFS_UCSCTL4) &= ~(SELM_7 + SELS_7);
      +
      806  HWREG16(UCS_BASE + OFS_UCSCTL4) |= SELM__DCOCLKDIV + SELS__DCOCLKDIV;
      +
      807  }
      +
      808 
      +
      809 }
      +
      810 
      +
      811 void UCS_enableClockRequest (uint8_t selectClock
      +
      812  )
      +
      813 {
      +
      814  HWREG8(UCS_BASE + OFS_UCSCTL8) |= selectClock;
      +
      815 }
      +
      816 
      +
      817 void UCS_disableClockRequest (uint8_t selectClock
      +
      818  )
      +
      819 {
      +
      820  HWREG8(UCS_BASE + OFS_UCSCTL8) &= ~selectClock;
      +
      821 }
      +
      822 
      +
      823 uint8_t UCS_getFaultFlagStatus (uint8_t mask
      +
      824  )
      +
      825 {
      +
      826  assert(mask <= UCS_XT2OFFG );
      +
      827  return (HWREG8(UCS_BASE + OFS_UCSCTL7) & mask);
      +
      828 }
      +
      829 
      +
      830 void UCS_clearFaultFlag (uint8_t mask
      +
      831  )
      +
      832 {
      +
      833  assert(mask <= UCS_XT2OFFG );
      +
      834  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~mask;
      +
      835 }
      +
      836 
      +
      837 void UCS_turnOffSMCLK (void)
      +
      838 {
      +
      839  HWREG16(UCS_BASE + OFS_UCSCTL6) |= SMCLKOFF;
      +
      840 }
      +
      841 
      +
      842 void UCS_turnOnSMCLK (void)
      +
      843 {
      +
      844  HWREG16(UCS_BASE + OFS_UCSCTL6) &= ~SMCLKOFF;
      +
      845 }
      +
      846 
      +
      847 uint32_t UCS_getACLK (void)
      +
      848 {
      +
      849  //Find ACLK source
      +
      850  uint16_t ACLKSource = (HWREG16(UCS_BASE + OFS_UCSCTL4) & SELA_7);
      +
      851 
      +
      852  ACLKSource = ACLKSource >> 8;
      +
      853 
      +
      854  uint16_t ACLKSourceDivider = HWREG16(UCS_BASE + OFS_UCSCTL5) & DIVA_7;
      +
      855  ACLKSourceDivider = ACLKSourceDivider >> 8;
      +
      856 
      +
      857  return (privateUCSComputeCLKFrequency(
      +
      858  ACLKSource,
      +
      859  ACLKSourceDivider
      +
      860  ));
      +
      861 }
      +
      862 
      +
      863 uint32_t UCS_getSMCLK (void)
      +
      864 {
      +
      865  uint16_t SMCLKSource = HWREG8(UCS_BASE + OFS_UCSCTL4_L) & SELS_7;
      +
      866 
      +
      867  SMCLKSource = SMCLKSource >> 4;
      +
      868 
      +
      869  uint16_t SMCLKSourceDivider =
      +
      870  HWREG16(UCS_BASE + OFS_UCSCTL5) & DIVS_7;
      +
      871  SMCLKSourceDivider = SMCLKSourceDivider >> 4;
      +
      872 
      +
      873  return (privateUCSComputeCLKFrequency(
      +
      874  SMCLKSource,
      +
      875  SMCLKSourceDivider )
      +
      876  );
      +
      877 }
      +
      878 
      +
      879 uint32_t UCS_getMCLK (void)
      +
      880 {
      +
      881  //Find AMCLK source
      +
      882  uint16_t MCLKSource = (HWREG16(UCS_BASE + OFS_UCSCTL4) & SELM_7);
      +
      883 
      +
      884  uint16_t MCLKSourceDivider = HWREG16(UCS_BASE + OFS_UCSCTL5) & DIVM_7;
      +
      885 
      +
      886  return (privateUCSComputeCLKFrequency(
      +
      887  MCLKSource,
      +
      888  MCLKSourceDivider )
      +
      889  );
      +
      890 }
      +
      891 
      +
      892 uint16_t UCS_clearAllOscFlagsWithTimeout(uint16_t timeout
      +
      893  )
      +
      894 {
      +
      895  assert(timeout > 0);
      +
      896 
      +
      897  do {
      +
      898  // Clear all osc fault flags
      +
      899  HWREG8(UCS_BASE + OFS_UCSCTL7) &= ~(DCOFFG +
      +
      900  XT1LFOFFG +
      +
      901  XT1HFOFFG +
      +
      902  XT2OFFG
      +
      903  );
      +
      904 
      +
      905 #if CC430_DEVICE
      +
      906  // CC430 uses a different fault mechanism. It requires 3 VLO clock
      +
      907  // cycles delay.If 20MHz CPU, 5000 clock cycles are required in worst
      +
      908  // case.
      +
      909  __delay_cycles(5000);
      +
      910 #endif
      +
      911 
      +
      912  // Clear the global osc fault flag.
      +
      913  HWREG8(SFR_BASE + OFS_SFRIFG1) &= ~OFIFG;
      +
      914 
      +
      915  // Check XT1 fault flags
      +
      916  } while ((HWREG8(SFR_BASE + OFS_SFRIFG1) & OFIFG) && --timeout);
      +
      917 
      +
      918  return (HWREG8(UCS_BASE + OFS_UCSCTL7) & (DCOFFG +
      +
      919  XT1LFOFFG +
      +
      920  XT1HFOFFG +
      +
      921  XT2OFFG)
      +
      922  );
      +
      923 }
      +
      924 
      +
      925 #endif
      +
      926 //*****************************************************************************
      +
      927 //
      +
      930 //
      +
      931 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      +
      #define STATUS_FAIL
      Definition: hw_memmap.h:23
      +
      #define STATUS_SUCCESS
      Definition: hw_memmap.h:22
      + +
      +
      + + + + diff --git a/Documentation/html/ucs_8h.html b/Documentation/html/ucs_8h.html new file mode 100644 index 0000000..2bce2f5 --- /dev/null +++ b/Documentation/html/ucs_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ucs.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ucs.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/ucs_8h_source.html b/Documentation/html/ucs_8h_source.html new file mode 100644 index 0000000..4708f3c --- /dev/null +++ b/Documentation/html/ucs_8h_source.html @@ -0,0 +1,433 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/ucs.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      ucs.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // ucs.h - Driver for the UCS Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_UCS_H__
      +
      8 #define __MSP430WARE_UCS_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #if defined(__MSP430_HAS_UCS__) || defined(__MSP430_HAS_UCS_RF__)
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 //*****************************************************************************
      +
      26 //
      +
      27 // Internal very low power VLOCLK, low frequency oscillator with 10 kHz typical
      +
      28 // frequency
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 #define UCS_VLOCLK_FREQUENCY 10000
      +
      32 
      +
      33 //*****************************************************************************
      +
      34 //
      +
      35 // Internal, trimmed, low-frequency oscillator with 32768 Hz typical frequency
      +
      36 //
      +
      37 //*****************************************************************************
      +
      38 #define UCS_REFOCLK_FREQUENCY 32768
      +
      39 
      +
      40 //*****************************************************************************
      +
      41 //
      +
      42 // The following are values that can be passed to the clockSourceDivider
      +
      43 // parameter for functions: UCS_initClockSignal().
      +
      44 //
      +
      45 //*****************************************************************************
      +
      46 #define UCS_CLOCK_DIVIDER_1 DIVM__1
      +
      47 #define UCS_CLOCK_DIVIDER_2 DIVM__2
      +
      48 #define UCS_CLOCK_DIVIDER_4 DIVM__4
      +
      49 #define UCS_CLOCK_DIVIDER_8 DIVM__8
      +
      50 #define UCS_CLOCK_DIVIDER_12 DIVM__32
      +
      51 #define UCS_CLOCK_DIVIDER_16 DIVM__16
      +
      52 #define UCS_CLOCK_DIVIDER_32 DIVM__32
      +
      53 
      +
      54 //*****************************************************************************
      +
      55 //
      +
      56 // The following are values that can be passed to the selectedClockSignal
      +
      57 // parameter for functions: UCS_initClockSignal().
      +
      58 //
      +
      59 //*****************************************************************************
      +
      60 #define UCS_ACLK 0x01
      +
      61 #define UCS_MCLK 0x02
      +
      62 #define UCS_SMCLK 0x04
      +
      63 #define UCS_FLLREF 0x08
      +
      64 
      +
      65 //*****************************************************************************
      +
      66 //
      +
      67 // The following are values that can be passed to the clockSource parameter for
      +
      68 // functions: UCS_initClockSignal().
      +
      69 //
      +
      70 //*****************************************************************************
      +
      71 #define UCS_XT1CLK_SELECT SELM__XT1CLK
      +
      72 #define UCS_VLOCLK_SELECT SELM__VLOCLK
      +
      73 #define UCS_REFOCLK_SELECT SELM__REFOCLK
      +
      74 #define UCS_DCOCLK_SELECT SELM__DCOCLK
      +
      75 #define UCS_DCOCLKDIV_SELECT SELM__DCOCLKDIV
      +
      76 #define UCS_XT2CLK_SELECT SELM__XT2CLK
      +
      77 
      +
      78 //*****************************************************************************
      +
      79 //
      +
      80 // The following are values that can be passed to the xcap parameter for
      +
      81 // functions: UCS_turnOnLFXT1(), and UCS_turnOnLFXT1WithTimeout().
      +
      82 //
      +
      83 //*****************************************************************************
      +
      84 #define UCS_XCAP_0 XCAP_0
      +
      85 #define UCS_XCAP_1 XCAP_1
      +
      86 #define UCS_XCAP_2 XCAP_2
      +
      87 #define UCS_XCAP_3 XCAP_3
      +
      88 
      +
      89 //*****************************************************************************
      +
      90 //
      +
      91 // The following are values that can be passed to the xt1drive parameter for
      +
      92 // functions: UCS_turnOnLFXT1(), UCS_turnOnHFXT1(),
      +
      93 // UCS_turnOnLFXT1WithTimeout(), and UCS_turnOnHFXT1WithTimeout().
      +
      94 //
      +
      95 //*****************************************************************************
      +
      96 #define UCS_XT1_DRIVE_0 XT1DRIVE_0
      +
      97 #define UCS_XT1_DRIVE_1 XT1DRIVE_1
      +
      98 #define UCS_XT1_DRIVE_2 XT1DRIVE_2
      +
      99 #define UCS_XT1_DRIVE_3 XT1DRIVE_3
      +
      100 
      +
      101 //*****************************************************************************
      +
      102 //
      +
      103 // The following are values that can be passed to the highOrLowFrequency
      +
      104 // parameter for functions: UCS_bypassXT1(), and UCS_bypassXT1WithTimeout().
      +
      105 //
      +
      106 //*****************************************************************************
      +
      107 #define UCS_XT1_HIGH_FREQUENCY XTS
      +
      108 #define UCS_XT1_LOW_FREQUENCY 0x00
      +
      109 
      +
      110 //*****************************************************************************
      +
      111 //
      +
      112 // The following are values that can be passed to the xt2drive parameter for
      +
      113 // functions: UCS_turnOnXT2(), and UCS_turnOnXT2WithTimeout().
      +
      114 //
      +
      115 //*****************************************************************************
      +
      116 #define UCS_XT2_DRIVE_4MHZ_8MHZ XT2DRIVE_0
      +
      117 #define UCS_XT2_DRIVE_8MHZ_16MHZ XT2DRIVE_1
      +
      118 #define UCS_XT2_DRIVE_16MHZ_24MHZ XT2DRIVE_2
      +
      119 #define UCS_XT2_DRIVE_24MHZ_32MHZ XT2DRIVE_3
      +
      120 
      +
      121 //*****************************************************************************
      +
      122 //
      +
      123 // The following are values that can be passed to the selectClock parameter for
      +
      124 // functions: UCS_enableClockRequest(), and UCS_disableClockRequest().
      +
      125 //
      +
      126 //*****************************************************************************
      +
      127 #define UCS_ACLK 0x01
      +
      128 #define UCS_SMCLK 0x04
      +
      129 #define UCS_MCLK 0x02
      +
      130 #define UCS_MODOSC MODOSCREQEN
      +
      131 
      +
      132 //*****************************************************************************
      +
      133 //
      +
      134 // The following are values that can be passed to the mask parameter for
      +
      135 // functions: UCS_getFaultFlagStatus(), and UCS_clearFaultFlag() as well as
      +
      136 // returned by the UCS_clearAllOscFlagsWithTimeout() function.
      +
      137 //
      +
      138 //*****************************************************************************
      +
      139 #define UCS_XT2OFFG XT2OFFG
      +
      140 #define UCS_XT1HFOFFG XT1HFOFFG
      +
      141 #define UCS_XT1LFOFFG XT1LFOFFG
      +
      142 #define UCS_DCOFFG DCOFFG
      +
      143 
      +
      144 //*****************************************************************************
      +
      145 //
      +
      146 // Prototypes for the APIs.
      +
      147 //
      +
      148 //*****************************************************************************
      +
      149 
      +
      150 //*****************************************************************************
      +
      151 //
      +
      164 //
      +
      165 //*****************************************************************************
      +
      166 extern void UCS_setExternalClockSource(uint32_t XT1CLK_frequency,
      +
      167  uint32_t XT2CLK_frequency);
      +
      168 
      +
      169 //*****************************************************************************
      +
      170 //
      +
      208 //
      +
      209 //*****************************************************************************
      +
      210 extern void UCS_initClockSignal(uint8_t selectedClockSignal,
      +
      211  uint16_t clockSource,
      +
      212  uint16_t clockSourceDivider);
      +
      213 
      +
      214 //*****************************************************************************
      +
      215 //
      +
      246 //
      +
      247 //*****************************************************************************
      +
      248 extern void UCS_turnOnLFXT1(uint16_t xt1drive,
      +
      249  uint8_t xcap);
      +
      250 
      +
      251 //*****************************************************************************
      +
      252 //
      +
      271 //
      +
      272 //*****************************************************************************
      +
      273 extern void UCS_turnOnHFXT1(uint16_t xt1drive);
      +
      274 
      +
      275 //*****************************************************************************
      +
      276 //
      +
      292 //
      +
      293 //*****************************************************************************
      +
      294 extern void UCS_bypassXT1(uint8_t highOrLowFrequency);
      +
      295 
      +
      296 //*****************************************************************************
      +
      297 //
      +
      332 //
      +
      333 //*****************************************************************************
      +
      334 extern bool UCS_turnOnLFXT1WithTimeout(uint16_t xt1drive,
      +
      335  uint8_t xcap,
      +
      336  uint16_t timeout);
      +
      337 
      +
      338 //*****************************************************************************
      +
      339 //
      +
      362 //
      +
      363 //*****************************************************************************
      +
      364 extern bool UCS_turnOnHFXT1WithTimeout(uint16_t xt1drive,
      +
      365  uint16_t timeout);
      +
      366 
      +
      367 //*****************************************************************************
      +
      368 //
      +
      387 //
      +
      388 //*****************************************************************************
      +
      389 extern bool UCS_bypassXT1WithTimeout(uint8_t highOrLowFrequency,
      +
      390  uint16_t timeout);
      +
      391 
      +
      392 //*****************************************************************************
      +
      393 //
      +
      398 //
      +
      399 //*****************************************************************************
      +
      400 extern void UCS_turnOffXT1(void);
      +
      401 
      +
      402 //*****************************************************************************
      +
      403 //
      +
      423 //
      +
      424 //*****************************************************************************
      +
      425 extern void UCS_turnOnXT2(uint16_t xt2drive);
      +
      426 
      +
      427 //*****************************************************************************
      +
      428 //
      +
      440 //
      +
      441 //*****************************************************************************
      +
      442 extern void UCS_bypassXT2(void);
      +
      443 
      +
      444 //*****************************************************************************
      +
      445 //
      +
      468 //
      +
      469 //*****************************************************************************
      +
      470 extern bool UCS_turnOnXT2WithTimeout(uint16_t xt2drive,
      +
      471  uint16_t timeout);
      +
      472 
      +
      473 //*****************************************************************************
      +
      474 //
      +
      488 //
      +
      489 //*****************************************************************************
      +
      490 extern bool UCS_bypassXT2WithTimeout(uint16_t timeout);
      +
      491 
      +
      492 //*****************************************************************************
      +
      493 //
      +
      500 //
      +
      501 //*****************************************************************************
      +
      502 extern void UCS_turnOffXT2(void);
      +
      503 
      +
      504 //*****************************************************************************
      +
      505 //
      +
      528 //
      +
      529 //*****************************************************************************
      +
      530 extern void UCS_initFLLSettle(uint16_t fsystem,
      +
      531  uint16_t ratio);
      +
      532 
      +
      533 //*****************************************************************************
      +
      534 //
      +
      555 //
      +
      556 //*****************************************************************************
      +
      557 extern void UCS_initFLL(uint16_t fsystem,
      +
      558  uint16_t ratio);
      +
      559 
      +
      560 //*****************************************************************************
      +
      561 //
      +
      574 //
      +
      575 //*****************************************************************************
      +
      576 extern void UCS_enableClockRequest(uint8_t selectClock);
      +
      577 
      +
      578 //*****************************************************************************
      +
      579 //
      +
      592 //
      +
      593 //*****************************************************************************
      +
      594 extern void UCS_disableClockRequest(uint8_t selectClock);
      +
      595 
      +
      596 //*****************************************************************************
      +
      597 //
      +
      608 //
      +
      609 //*****************************************************************************
      +
      610 extern uint8_t UCS_getFaultFlagStatus(uint8_t mask);
      +
      611 
      +
      612 //*****************************************************************************
      +
      613 //
      +
      627 //
      +
      628 //*****************************************************************************
      +
      629 extern void UCS_clearFaultFlag(uint8_t mask);
      +
      630 
      +
      631 //*****************************************************************************
      +
      632 //
      +
      639 //
      +
      640 //*****************************************************************************
      +
      641 extern void UCS_turnOffSMCLK(void);
      +
      642 
      +
      643 //*****************************************************************************
      +
      644 //
      +
      651 //
      +
      652 //*****************************************************************************
      +
      653 extern void UCS_turnOnSMCLK(void);
      +
      654 
      +
      655 //*****************************************************************************
      +
      656 //
      +
      665 //
      +
      666 //*****************************************************************************
      +
      667 extern uint32_t UCS_getACLK(void);
      +
      668 
      +
      669 //*****************************************************************************
      +
      670 //
      +
      679 //
      +
      680 //*****************************************************************************
      +
      681 extern uint32_t UCS_getSMCLK(void);
      +
      682 
      +
      683 //*****************************************************************************
      +
      684 //
      +
      693 //
      +
      694 //*****************************************************************************
      +
      695 extern uint32_t UCS_getMCLK(void);
      +
      696 
      +
      697 //*****************************************************************************
      +
      698 //
      +
      710 //
      +
      711 //*****************************************************************************
      +
      712 extern uint16_t UCS_clearAllOscFlagsWithTimeout(uint16_t timeout);
      +
      713 
      +
      714 //*****************************************************************************
      +
      715 //
      +
      716 // Mark the end of the C bindings section for C++ compilers.
      +
      717 //
      +
      718 //*****************************************************************************
      +
      719 #ifdef __cplusplus
      +
      720 }
      +
      721 #endif
      +
      722 
      +
      723 #endif
      +
      724 #endif // __MSP430WARE_UCS_H__
      + +
      +
      + + + + diff --git a/Documentation/html/usci__a__spi_8c.html b/Documentation/html/usci__a__spi_8c.html new file mode 100644 index 0000000..9a477f4 --- /dev/null +++ b/Documentation/html/usci__a__spi_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_a_spi.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_a_spi.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/usci__a__spi_8c_source.html b/Documentation/html/usci__a__spi_8c_source.html new file mode 100644 index 0000000..fe32ed4 --- /dev/null +++ b/Documentation/html/usci__a__spi_8c_source.html @@ -0,0 +1,303 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_a_spi.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_a_spi.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // usci_a_spi.c - Driver for the usci_a_spi Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_USCI_Ax__
      +
      17 #include "usci_a_spi.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 bool USCI_A_SPI_initMaster(uint16_t baseAddress, USCI_A_SPI_initMasterParam *param)
      +
      22 {
      +
      23  //Disable the USCI Module
      +
      24  HWREG8(baseAddress + OFS_UCAxCTL1) |= UCSWRST;
      +
      25 
      +
      26  //Reset OFS_UCAxCTL0 values
      +
      27  HWREG8(baseAddress + OFS_UCAxCTL0) &= ~(UCCKPH + UCCKPL + UC7BIT + UCMSB +
      +
      28  UCMST + UCMODE_3 + UCSYNC);
      +
      29 
      +
      30  //Reset OFS_UCAxCTL1 values
      +
      31  HWREG8(baseAddress + OFS_UCAxCTL1) &= ~(UCSSEL_3);
      +
      32 
      +
      33  //Select Clock
      +
      34  HWREG8(baseAddress + OFS_UCAxCTL1) |= param->selectClockSource;
      +
      35 
      +
      36  HWREG16(baseAddress + OFS_UCAxBRW) =
      +
      37  (uint16_t)(param->clockSourceFrequency / param->desiredSpiClock);
      +
      38 
      +
      39  /*
      +
      40  * Configure as SPI master mode.
      +
      41  * Clock phase select, polarity, msb
      +
      42  * UCMST = Master mode
      +
      43  * UCSYNC = Synchronous mode
      +
      44  * UCMODE_0 = 3-pin SPI
      +
      45  */
      +
      46  HWREG8(baseAddress + OFS_UCAxCTL0) |= (
      +
      47  param->msbFirst +
      +
      48  param->clockPhase +
      +
      49  param->clockPolarity +
      +
      50  UCMST +
      +
      51  UCSYNC +
      +
      52  UCMODE_0
      +
      53  );
      +
      54  //No modulation
      +
      55  HWREG8(baseAddress + OFS_UCAxMCTL) = 0;
      +
      56 
      +
      57  return ( STATUS_SUCCESS) ;
      +
      58 }
      +
      59 
      +
      60 void USCI_A_SPI_changeMasterClock(uint16_t baseAddress,
      +
      61  USCI_A_SPI_changeMasterClockParam *param)
      +
      62 {
      +
      63  //Disable the USCI Module
      +
      64  HWREG8(baseAddress + OFS_UCAxCTL1) |= UCSWRST;
      +
      65 
      +
      66  HWREG8(baseAddress + OFS_UCAxBRW) =
      +
      67  (uint16_t)(param->clockSourceFrequency / param->desiredSpiClock);
      +
      68 
      +
      69  //Reset the UCSWRST bit to enable the USCI Module
      +
      70  HWREG8(baseAddress + OFS_UCAxCTL1) &= ~(UCSWRST);
      +
      71 }
      +
      72 bool USCI_A_SPI_initSlave (uint16_t baseAddress,
      +
      73  uint8_t msbFirst,
      +
      74  uint8_t clockPhase,
      +
      75  uint8_t clockPolarity
      +
      76  )
      +
      77 {
      +
      78 
      +
      79  //Disable USCI Module
      +
      80  HWREG8(baseAddress + OFS_UCAxCTL1) |= UCSWRST;
      +
      81 
      +
      82  //Reset OFS_UCAxCTL0 register
      +
      83  HWREG8(baseAddress + OFS_UCAxCTL0) &= ~(UCMSB +
      +
      84  UC7BIT +
      +
      85  UCMST +
      +
      86  UCCKPL +
      +
      87  UCCKPH +
      +
      88  UCMODE_3
      +
      89  );
      +
      90 
      +
      91  //Clock polarity, phase select, msbFirst, SYNC, Mode0
      +
      92  HWREG8(baseAddress + OFS_UCAxCTL0) |= (clockPhase +
      +
      93  clockPolarity +
      +
      94  msbFirst +
      +
      95  UCSYNC +
      +
      96  UCMODE_0
      +
      97  );
      +
      98 
      +
      99  return ( STATUS_SUCCESS) ;
      +
      100 }
      +
      101 
      +
      102 void USCI_A_SPI_changeClockPhasePolarity (uint16_t baseAddress,
      +
      103  uint8_t clockPhase,
      +
      104  uint8_t clockPolarity
      +
      105  )
      +
      106 {
      +
      107 
      +
      108  //Disable the USCI Module
      +
      109  HWREG8(baseAddress + OFS_UCAxCTL1) |= UCSWRST;
      +
      110 
      +
      111  HWREG8(baseAddress + OFS_UCAxCTL0) &= ~(UCCKPH + UCCKPL);
      +
      112 
      +
      113  HWREG8(baseAddress + OFS_UCAxCTL0) |= (
      +
      114  clockPhase +
      +
      115  clockPolarity
      +
      116  );
      +
      117 
      +
      118  //Reset the UCSWRST bit to enable the USCI Module
      +
      119  HWREG8(baseAddress + OFS_UCAxCTL1) &= ~(UCSWRST);
      +
      120 }
      +
      121 
      +
      122 void USCI_A_SPI_transmitData ( uint16_t baseAddress,
      +
      123  uint8_t transmitData
      +
      124  )
      +
      125 {
      +
      126  HWREG8(baseAddress + OFS_UCAxTXBUF) = transmitData;
      +
      127 }
      +
      128 
      +
      129 uint8_t USCI_A_SPI_receiveData (uint16_t baseAddress)
      +
      130 {
      +
      131  return ( HWREG8(baseAddress + OFS_UCAxRXBUF)) ;
      +
      132 }
      +
      133 
      +
      134 void USCI_A_SPI_enableInterrupt (uint16_t baseAddress,
      +
      135  uint8_t mask
      +
      136  )
      +
      137 {
      +
      138  HWREG8(baseAddress + OFS_UCAxIE) |= mask;
      +
      139 }
      +
      140 
      +
      141 void USCI_A_SPI_disableInterrupt (uint16_t baseAddress,
      +
      142  uint8_t mask
      +
      143  )
      +
      144 {
      +
      145  HWREG8(baseAddress + OFS_UCAxIE) &= ~mask;
      +
      146 }
      +
      147 
      +
      148 uint8_t USCI_A_SPI_getInterruptStatus (uint16_t baseAddress,
      +
      149  uint8_t mask
      +
      150  )
      +
      151 {
      +
      152  return ( HWREG8(baseAddress + OFS_UCAxIFG) & mask );
      +
      153 }
      +
      154 
      +
      155 void USCI_A_SPI_clearInterrupt (uint16_t baseAddress,
      +
      156  uint8_t mask
      +
      157  )
      +
      158 {
      +
      159  HWREG8(baseAddress + OFS_UCAxIFG) &= ~mask;
      +
      160 }
      +
      161 
      +
      162 void USCI_A_SPI_enable (uint16_t baseAddress)
      +
      163 {
      +
      164  //Reset the UCSWRST bit to enable the USCI Module
      +
      165  HWREG8(baseAddress + OFS_UCAxCTL1) &= ~(UCSWRST);
      +
      166 }
      +
      167 
      +
      168 void USCI_A_SPI_disable (uint16_t baseAddress)
      +
      169 {
      +
      170  //Set the UCSWRST bit to disable the USCI Module
      +
      171  HWREG8(baseAddress + OFS_UCAxCTL1) |= UCSWRST;
      +
      172 }
      +
      173 
      +
      174 uint32_t USCI_A_SPI_getReceiveBufferAddressForDMA (uint16_t baseAddress)
      +
      175 {
      +
      176  return ( baseAddress + OFS_UCAxRXBUF );
      +
      177 }
      +
      178 
      +
      179 uint32_t USCI_A_SPI_getTransmitBufferAddressForDMA (uint16_t baseAddress)
      +
      180 {
      +
      181  return ( baseAddress + OFS_UCAxTXBUF );
      +
      182 }
      +
      183 
      +
      184 uint8_t USCI_A_SPI_isBusy (uint16_t baseAddress)
      +
      185 {
      +
      186  //Return the bus busy status.
      +
      187  return (HWREG8(baseAddress + OFS_UCAxSTAT) & UCBUSY);
      +
      188 }
      +
      189 
      +
      190 
      +
      191 #endif
      +
      192 //*****************************************************************************
      +
      193 //
      +
      196 //
      +
      197 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      +
      #define STATUS_SUCCESS
      Definition: hw_memmap.h:22
      + +
      +
      + + + + diff --git a/Documentation/html/usci__a__spi_8h.html b/Documentation/html/usci__a__spi_8h.html new file mode 100644 index 0000000..673ed22 --- /dev/null +++ b/Documentation/html/usci__a__spi_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_a_spi.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_a_spi.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/usci__a__spi_8h_source.html b/Documentation/html/usci__a__spi_8h_source.html new file mode 100644 index 0000000..10a508d --- /dev/null +++ b/Documentation/html/usci__a__spi_8h_source.html @@ -0,0 +1,334 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_a_spi.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_a_spi.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // usci_a_spi.h - Driver for the USCI_A_SPI Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_USCI_A_SPI_H__
      +
      8 #define __MSP430WARE_USCI_A_SPI_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_USCI_Ax__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 typedef struct USCI_A_SPI_initMasterParam {
      +
      36  uint8_t selectClockSource;
      +
      38  uint32_t clockSourceFrequency;
      +
      40  uint32_t desiredSpiClock;
      +
      45  uint8_t msbFirst;
      +
      50  uint8_t clockPhase;
      +
      54  uint8_t clockPolarity;
      +
      55 } USCI_A_SPI_initMasterParam;
      +
      56 
      +
      57 //*****************************************************************************
      +
      58 //
      +
      61 //
      +
      62 //*****************************************************************************
      +
      63 typedef struct USCI_A_SPI_changeMasterClockParam {
      +
      65  uint32_t clockSourceFrequency;
      +
      67  uint32_t desiredSpiClock;
      +
      68 } USCI_A_SPI_changeMasterClockParam;
      +
      69 
      +
      70 
      +
      71 //*****************************************************************************
      +
      72 //
      +
      73 // The following are values that can be passed to the clockPhase parameter for
      +
      74 // functions: USCI_A_SPI_initSlave(), and
      +
      75 // USCI_A_SPI_changeClockPhasePolarity(); the param parameter for functions:
      +
      76 // USCI_A_SPI_initMaster().
      +
      77 //
      +
      78 //*****************************************************************************
      +
      79 #define USCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
      +
      80 #define USCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
      +
      81 
      +
      82 //*****************************************************************************
      +
      83 //
      +
      84 // The following are values that can be passed to the msbFirst parameter for
      +
      85 // functions: USCI_A_SPI_initSlave(); the param parameter for functions:
      +
      86 // USCI_A_SPI_initMaster().
      +
      87 //
      +
      88 //*****************************************************************************
      +
      89 #define USCI_A_SPI_MSB_FIRST UCMSB
      +
      90 #define USCI_A_SPI_LSB_FIRST 0x00
      +
      91 
      +
      92 //*****************************************************************************
      +
      93 //
      +
      94 // The following are values that can be passed to the param parameter for
      +
      95 // functions: USCI_A_SPI_initMaster(); the clockPolarity parameter for
      +
      96 // functions: USCI_A_SPI_initSlave(), and
      +
      97 // USCI_A_SPI_changeClockPhasePolarity().
      +
      98 //
      +
      99 //*****************************************************************************
      +
      100 #define USCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
      +
      101 #define USCI_A_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
      +
      102 
      +
      103 //*****************************************************************************
      +
      104 //
      +
      105 // The following are values that can be passed to the param parameter for
      +
      106 // functions: USCI_A_SPI_initMaster().
      +
      107 //
      +
      108 //*****************************************************************************
      +
      109 #define USCI_A_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
      +
      110 #define USCI_A_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
      +
      111 
      +
      112 //*****************************************************************************
      +
      113 //
      +
      114 // The following are values that can be passed to the mask parameter for
      +
      115 // functions: USCI_A_SPI_enableInterrupt(), USCI_A_SPI_disableInterrupt(),
      +
      116 // USCI_A_SPI_getInterruptStatus(), and USCI_A_SPI_clearInterrupt() as well as
      +
      117 // returned by the USCI_A_SPI_getInterruptStatus() function.
      +
      118 //
      +
      119 //*****************************************************************************
      +
      120 #define USCI_A_SPI_TRANSMIT_INTERRUPT UCTXIE
      +
      121 #define USCI_A_SPI_RECEIVE_INTERRUPT UCRXIE
      +
      122 
      +
      123 //*****************************************************************************
      +
      124 //
      +
      125 // The following are values that can be passed toThe following are values that
      +
      126 // can be returned by the USCI_A_SPI_isBusy() function.
      +
      127 //
      +
      128 //*****************************************************************************
      +
      129 #define USCI_A_SPI_BUSY UCBUSY
      +
      130 #define USCI_A_SPI_NOT_BUSY 0x00
      +
      131 
      +
      132 //*****************************************************************************
      +
      133 //
      +
      134 // Prototypes for the APIs.
      +
      135 //
      +
      136 //*****************************************************************************
      +
      137 
      +
      138 //*****************************************************************************
      +
      139 //
      +
      153 //
      +
      154 //*****************************************************************************
      +
      155 extern bool USCI_A_SPI_initMaster(uint16_t baseAddress,
      +
      156  USCI_A_SPI_initMasterParam *param);
      +
      157 
      +
      158 //*****************************************************************************
      +
      159 //
      +
      169 //
      +
      170 //*****************************************************************************
      +
      171 extern void USCI_A_SPI_changeMasterClock(uint16_t baseAddress,
      +
      172  USCI_A_SPI_changeMasterClockParam *param);
      +
      173 
      +
      174 //*****************************************************************************
      +
      175 //
      +
      202 //
      +
      203 //*****************************************************************************
      +
      204 extern bool USCI_A_SPI_initSlave(uint16_t baseAddress,
      +
      205  uint8_t msbFirst,
      +
      206  uint8_t clockPhase,
      +
      207  uint8_t clockPolarity);
      +
      208 
      +
      209 //*****************************************************************************
      +
      210 //
      +
      228 //
      +
      229 //*****************************************************************************
      +
      230 extern void USCI_A_SPI_changeClockPhasePolarity(uint16_t baseAddress,
      +
      231  uint8_t clockPhase,
      +
      232  uint8_t clockPolarity);
      +
      233 
      +
      234 //*****************************************************************************
      +
      235 //
      +
      245 //
      +
      246 //*****************************************************************************
      +
      247 extern void USCI_A_SPI_transmitData(uint16_t baseAddress,
      +
      248  uint8_t transmitData);
      +
      249 
      +
      250 //*****************************************************************************
      +
      251 //
      +
      260 //
      +
      261 //*****************************************************************************
      +
      262 extern uint8_t USCI_A_SPI_receiveData(uint16_t baseAddress);
      +
      263 
      +
      264 //*****************************************************************************
      +
      265 //
      +
      281 //
      +
      282 //*****************************************************************************
      +
      283 extern void USCI_A_SPI_enableInterrupt(uint16_t baseAddress,
      +
      284  uint8_t mask);
      +
      285 
      +
      286 //*****************************************************************************
      +
      287 //
      +
      303 //
      +
      304 //*****************************************************************************
      +
      305 extern void USCI_A_SPI_disableInterrupt(uint16_t baseAddress,
      +
      306  uint8_t mask);
      +
      307 
      +
      308 //*****************************************************************************
      +
      309 //
      +
      326 //
      +
      327 //*****************************************************************************
      +
      328 extern uint8_t USCI_A_SPI_getInterruptStatus(uint16_t baseAddress,
      +
      329  uint8_t mask);
      +
      330 
      +
      331 //*****************************************************************************
      +
      332 //
      +
      344 //
      +
      345 //*****************************************************************************
      +
      346 extern void USCI_A_SPI_clearInterrupt(uint16_t baseAddress,
      +
      347  uint8_t mask);
      +
      348 
      +
      349 //*****************************************************************************
      +
      350 //
      +
      360 //
      +
      361 //*****************************************************************************
      +
      362 extern void USCI_A_SPI_enable(uint16_t baseAddress);
      +
      363 
      +
      364 //*****************************************************************************
      +
      365 //
      +
      375 //
      +
      376 //*****************************************************************************
      +
      377 extern void USCI_A_SPI_disable(uint16_t baseAddress);
      +
      378 
      +
      379 //*****************************************************************************
      +
      380 //
      +
      389 //
      +
      390 //*****************************************************************************
      +
      391 extern uint32_t USCI_A_SPI_getReceiveBufferAddressForDMA(uint16_t baseAddress);
      +
      392 
      +
      393 //*****************************************************************************
      +
      394 //
      +
      403 //
      +
      404 //*****************************************************************************
      +
      405 extern uint32_t USCI_A_SPI_getTransmitBufferAddressForDMA(uint16_t baseAddress);
      +
      406 
      +
      407 //*****************************************************************************
      +
      408 //
      +
      422 //
      +
      423 //*****************************************************************************
      +
      424 extern uint8_t USCI_A_SPI_isBusy(uint16_t baseAddress);
      +
      425 
      +
      426 //*****************************************************************************
      +
      427 //
      +
      428 // Mark the end of the C bindings section for C++ compilers.
      +
      429 //
      +
      430 //*****************************************************************************
      +
      431 #ifdef __cplusplus
      +
      432 }
      +
      433 #endif
      +
      434 
      +
      435 #endif
      +
      436 #endif // __MSP430WARE_USCI_A_SPI_H__
      + +
      +
      + + + + diff --git a/Documentation/html/usci__a__uart_8c.html b/Documentation/html/usci__a__uart_8c.html new file mode 100644 index 0000000..82c00b9 --- /dev/null +++ b/Documentation/html/usci__a__uart_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_a_uart.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_a_uart.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/usci__a__uart_8c_source.html b/Documentation/html/usci__a__uart_8c_source.html new file mode 100644 index 0000000..1784579 --- /dev/null +++ b/Documentation/html/usci__a__uart_8c_source.html @@ -0,0 +1,331 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_a_uart.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_a_uart.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // usci_a_uart.c - Driver for the usci_a_uart Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_USCI_Ax__
      +
      17 #include "usci_a_uart.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 bool USCI_A_UART_init(uint16_t baseAddress, USCI_A_UART_initParam *param)
      +
      22 {
      +
      23  bool retVal = STATUS_SUCCESS;
      +
      24 
      +
      25  //Disable the USCI Module
      +
      26  HWREG8(baseAddress + OFS_UCAxCTL1) |= UCSWRST;
      +
      27 
      +
      28  //Clock source select
      +
      29  HWREG8(baseAddress + OFS_UCAxCTL1) &= ~UCSSEL_3;
      +
      30  HWREG8(baseAddress + OFS_UCAxCTL1) |= param->selectClockSource;
      +
      31 
      +
      32  //MSB, LSB select
      +
      33  HWREG8(baseAddress + OFS_UCAxCTL0) &= ~UCMSB;
      +
      34  HWREG8(baseAddress + OFS_UCAxCTL0) |= param->msborLsbFirst;
      +
      35 
      +
      36 
      +
      37  //UCSPB = 0(1 stop bit) OR 1(2 stop bits)
      +
      38  HWREG8(baseAddress + OFS_UCAxCTL0) &= ~UCSPB;
      +
      39  HWREG8(baseAddress + OFS_UCAxCTL0) |= param->numberofStopBits;
      +
      40 
      +
      41 
      +
      42  //Parity
      +
      43  switch (param->parity){
      +
      44  case USCI_A_UART_NO_PARITY:
      +
      45  //No Parity
      +
      46  HWREG8(baseAddress + OFS_UCAxCTL0) &= ~UCPEN;
      +
      47  break;
      +
      48  case USCI_A_UART_ODD_PARITY:
      +
      49  //Odd Parity
      +
      50  HWREG8(baseAddress + OFS_UCAxCTL0) |= UCPEN;
      +
      51  HWREG8(baseAddress + OFS_UCAxCTL0) &= ~UCPAR;
      +
      52  break;
      +
      53  case USCI_A_UART_EVEN_PARITY:
      +
      54  //Even Parity
      +
      55  HWREG8(baseAddress + OFS_UCAxCTL0) |= UCPEN;
      +
      56  HWREG8(baseAddress + OFS_UCAxCTL0) |= UCPAR;
      +
      57  break;
      +
      58  }
      +
      59 
      +
      60  //Modulation Control Registers
      +
      61  HWREG16(baseAddress + OFS_UCAxBRW ) = param->clockPrescalar;
      +
      62  HWREG8(baseAddress + OFS_UCAxMCTL) = ((param->firstModReg<<4) +
      +
      63  (param->secondModReg <<1) +
      +
      64  param->overSampling );
      +
      65 
      +
      66  //Asynchronous mode & 8 bit character select & clear mode
      +
      67  HWREG8(baseAddress + OFS_UCAxCTL0) &= ~(UCSYNC +
      +
      68  UC7BIT +
      +
      69  UCMODE_3
      +
      70  );
      +
      71 
      +
      72  //Configure UART mode.
      +
      73  HWREG8(baseAddress + OFS_UCAxCTL0) |= param->uartMode ;
      +
      74 
      +
      75  //Reset UCRXIE, UCBRKIE, UCDORM, UCTXADDR, UCTXBRK
      +
      76  HWREG8(baseAddress + OFS_UCAxCTL1) &= ~(UCRXEIE + UCBRKIE + UCDORM +
      +
      77  UCTXADDR + UCTXBRK
      +
      78  );
      +
      79  return (retVal) ;
      +
      80 }
      +
      81 void USCI_A_UART_transmitData ( uint16_t baseAddress,
      +
      82  uint8_t transmitData
      +
      83  )
      +
      84 {
      +
      85  //If interrupts are not used, poll for flags
      +
      86  if (!(HWREG8(baseAddress + OFS_UCAxIE) & UCTXIE)){
      +
      87  //Poll for transmit interrupt flag
      +
      88  while (!(HWREG8(baseAddress + OFS_UCAxIFG) & UCTXIFG));
      +
      89  }
      +
      90 
      +
      91  HWREG8(baseAddress + OFS_UCAxTXBUF) = transmitData;
      +
      92 }
      +
      93 
      +
      94 uint8_t USCI_A_UART_receiveData (uint16_t baseAddress)
      +
      95 {
      +
      96  //If interrupts are not used, poll for flags
      +
      97  if (!(HWREG8(baseAddress + OFS_UCAxIE) & UCRXIE)){
      +
      98  //Poll for receive interrupt flag
      +
      99  while (!(HWREG8(baseAddress + OFS_UCAxIFG) & UCRXIFG));
      +
      100  }
      +
      101 
      +
      102  return ( HWREG8(baseAddress + OFS_UCAxRXBUF)) ;
      +
      103 }
      +
      104 
      +
      105 void USCI_A_UART_enableInterrupt (uint16_t baseAddress,
      +
      106  uint8_t mask
      +
      107  )
      +
      108 {
      +
      109  uint8_t locMask;
      +
      110 
      +
      111  locMask = (mask & (USCI_A_UART_RECEIVE_INTERRUPT
      +
      112  | USCI_A_UART_TRANSMIT_INTERRUPT));
      +
      113  HWREG8(baseAddress + OFS_UCAxIE) |= locMask;
      +
      114 
      +
      115  locMask = (mask & (USCI_A_UART_RECEIVE_ERRONEOUSCHAR_INTERRUPT
      +
      116  | USCI_A_UART_BREAKCHAR_INTERRUPT));
      +
      117  HWREG8(baseAddress + OFS_UCAxCTL1) |= locMask;
      +
      118 }
      +
      119 
      +
      120 void USCI_A_UART_disableInterrupt (uint16_t baseAddress,
      +
      121  uint8_t mask
      +
      122  )
      +
      123 {
      +
      124  uint8_t locMask;
      +
      125 
      +
      126  if(locMask = (mask & (USCI_A_UART_RECEIVE_INTERRUPT
      +
      127  | USCI_A_UART_TRANSMIT_INTERRUPT))) {
      +
      128  HWREG8(baseAddress + OFS_UCAxIE) &= ~locMask;
      +
      129  }
      +
      130 
      +
      131  if(locMask = (mask & (USCI_A_UART_RECEIVE_ERRONEOUSCHAR_INTERRUPT
      +
      132  | USCI_A_UART_BREAKCHAR_INTERRUPT))) {
      +
      133  HWREG8(baseAddress + OFS_UCAxCTL1) &= ~locMask;
      +
      134  }
      +
      135 }
      +
      136 
      +
      137 uint8_t USCI_A_UART_getInterruptStatus (uint16_t baseAddress,
      +
      138  uint8_t mask)
      +
      139 {
      +
      140  return ( HWREG8(baseAddress + OFS_UCAxIFG) & mask );
      +
      141 }
      +
      142 
      +
      143 void USCI_A_UART_clearInterrupt (uint16_t baseAddress, uint8_t mask)
      +
      144 {
      +
      145  //Clear the UART interrupt source.
      +
      146  HWREG8(baseAddress + OFS_UCAxIFG) &= ~(mask);
      +
      147 }
      +
      148 
      +
      149 void USCI_A_UART_enable (uint16_t baseAddress)
      +
      150 {
      +
      151  //Reset the UCSWRST bit to enable the USCI Module
      +
      152  HWREG8(baseAddress + OFS_UCAxCTL1) &= ~(UCSWRST);
      +
      153 }
      +
      154 
      +
      155 void USCI_A_UART_disable (uint16_t baseAddress)
      +
      156 {
      +
      157  //Set the UCSWRST bit to disable the USCI Module
      +
      158  HWREG8(baseAddress + OFS_UCAxCTL1) |= UCSWRST;
      +
      159 }
      +
      160 
      +
      161 uint8_t USCI_A_UART_queryStatusFlags (uint16_t baseAddress,
      +
      162  uint8_t mask)
      +
      163 {
      +
      164  return ( HWREG8(baseAddress + OFS_UCAxSTAT) & mask );
      +
      165 }
      +
      166 
      +
      167 void USCI_A_UART_setDormant (uint16_t baseAddress)
      +
      168 {
      +
      169  HWREG8(baseAddress + OFS_UCAxCTL1) |= UCDORM;
      +
      170 }
      +
      171 
      +
      172 void USCI_A_UART_resetDormant (uint16_t baseAddress)
      +
      173 {
      +
      174  HWREG8(baseAddress + OFS_UCAxCTL1) &= ~UCDORM;
      +
      175 }
      +
      176 
      +
      177 void USCI_A_UART_transmitAddress (uint16_t baseAddress,
      +
      178  uint8_t transmitAddress)
      +
      179 {
      +
      180  //Set UCTXADDR bit
      +
      181  HWREG8(baseAddress + OFS_UCAxCTL1) |= UCTXADDR;
      +
      182 
      +
      183  //Place next byte to be sent into the transmit buffer
      +
      184  HWREG8(baseAddress + OFS_UCAxTXBUF) = transmitAddress;
      +
      185 }
      +
      186 
      +
      187 void USCI_A_UART_transmitBreak (uint16_t baseAddress)
      +
      188 {
      +
      189  //Set UCTXADDR bit
      +
      190  HWREG8(baseAddress + OFS_UCAxCTL1) |= UCTXBRK;
      +
      191 
      +
      192  //If current mode is automatic baud-rate detection
      +
      193  if (USCI_A_UART_AUTOMATIC_BAUDRATE_DETECTION_MODE ==
      +
      194  (HWREG8(baseAddress + OFS_UCAxCTL0) &
      +
      195  USCI_A_UART_AUTOMATIC_BAUDRATE_DETECTION_MODE)){
      +
      196  HWREG8(baseAddress + OFS_UCAxTXBUF) = USCI_A_UART_AUTOMATICBAUDRATE_SYNC;
      +
      197  } else {
      +
      198  HWREG8(baseAddress + OFS_UCAxTXBUF) = DEFAULT_SYNC;
      +
      199  }
      +
      200 
      +
      201  //If interrupts are not used, poll for flags
      +
      202  if (!(HWREG8(baseAddress + OFS_UCAxIE) & UCTXIE)){
      +
      203  //Poll for transmit interrupt flag
      +
      204  while (!(HWREG8(baseAddress + OFS_UCAxIFG) & UCTXIFG));
      +
      205  }
      +
      206 }
      +
      207 
      +
      208 uint32_t USCI_A_UART_getReceiveBufferAddressForDMA (uint16_t baseAddress)
      +
      209 {
      +
      210  return ( baseAddress + OFS_UCAxRXBUF );
      +
      211 }
      +
      212 
      +
      213 uint32_t USCI_A_UART_getTransmitBufferAddressForDMA (uint16_t baseAddress)
      +
      214 {
      +
      215  return ( baseAddress + OFS_UCAxTXBUF );
      +
      216 }
      +
      217 
      +
      218 
      +
      219 #endif
      +
      220 //*****************************************************************************
      +
      221 //
      +
      224 //
      +
      225 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      +
      #define STATUS_SUCCESS
      Definition: hw_memmap.h:22
      + +
      +
      + + + + diff --git a/Documentation/html/usci__a__uart_8h.html b/Documentation/html/usci__a__uart_8h.html new file mode 100644 index 0000000..1ed1e2d --- /dev/null +++ b/Documentation/html/usci__a__uart_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_a_uart.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_a_uart.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/usci__a__uart_8h_source.html b/Documentation/html/usci__a__uart_8h_source.html new file mode 100644 index 0000000..7afb317 --- /dev/null +++ b/Documentation/html/usci__a__uart_8h_source.html @@ -0,0 +1,374 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_a_uart.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_a_uart.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // usci_a_uart.h - Driver for the USCI_A_UART Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_USCI_A_UART_H__
      +
      8 #define __MSP430WARE_USCI_A_UART_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_USCI_Ax__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      28 // The following values are the sync characters possible
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 #define DEFAULT_SYNC 0x00
      +
      32 #define USCI_A_UART_AUTOMATICBAUDRATE_SYNC 0x55
      +
      33 
      +
      34 //*****************************************************************************
      +
      35 //
      +
      37 //
      +
      38 //*****************************************************************************
      +
      39 typedef struct USCI_A_UART_initParam {
      +
      44  uint8_t selectClockSource;
      +
      46  uint16_t clockPrescalar;
      +
      50  uint8_t firstModReg;
      +
      54  uint8_t secondModReg;
      +
      60  uint8_t parity;
      +
      65  uint8_t msborLsbFirst;
      +
      70  uint8_t numberofStopBits;
      +
      77  uint8_t uartMode;
      +
      82  uint8_t overSampling;
      +
      83 } USCI_A_UART_initParam;
      +
      84 
      +
      85 
      +
      86 //*****************************************************************************
      +
      87 //
      +
      88 // The following are values that can be passed to the param parameter for
      +
      89 // functions: USCI_A_UART_init().
      +
      90 //
      +
      91 //*****************************************************************************
      +
      92 #define USCI_A_UART_NO_PARITY 0x00
      +
      93 #define USCI_A_UART_ODD_PARITY 0x01
      +
      94 #define USCI_A_UART_EVEN_PARITY 0x02
      +
      95 
      +
      96 //*****************************************************************************
      +
      97 //
      +
      98 // The following are values that can be passed to the param parameter for
      +
      99 // functions: USCI_A_UART_init().
      +
      100 //
      +
      101 //*****************************************************************************
      +
      102 #define USCI_A_UART_MSB_FIRST UCMSB
      +
      103 #define USCI_A_UART_LSB_FIRST 0x00
      +
      104 
      +
      105 //*****************************************************************************
      +
      106 //
      +
      107 // The following are values that can be passed to the param parameter for
      +
      108 // functions: USCI_A_UART_init().
      +
      109 //
      +
      110 //*****************************************************************************
      +
      111 #define USCI_A_UART_MODE UCMODE_0
      +
      112 #define USCI_A_UART_IDLE_LINE_MULTI_PROCESSOR_MODE UCMODE_1
      +
      113 #define USCI_A_UART_ADDRESS_BIT_MULTI_PROCESSOR_MODE UCMODE_2
      +
      114 #define USCI_A_UART_AUTOMATIC_BAUDRATE_DETECTION_MODE UCMODE_3
      +
      115 
      +
      116 //*****************************************************************************
      +
      117 //
      +
      118 // The following are values that can be passed to the param parameter for
      +
      119 // functions: USCI_A_UART_init().
      +
      120 //
      +
      121 //*****************************************************************************
      +
      122 #define USCI_A_UART_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
      +
      123 #define USCI_A_UART_CLOCKSOURCE_ACLK UCSSEL__ACLK
      +
      124 
      +
      125 //*****************************************************************************
      +
      126 //
      +
      127 // The following are values that can be passed to the param parameter for
      +
      128 // functions: USCI_A_UART_init().
      +
      129 //
      +
      130 //*****************************************************************************
      +
      131 #define USCI_A_UART_ONE_STOP_BIT 0x00
      +
      132 #define USCI_A_UART_TWO_STOP_BITS UCSPB
      +
      133 
      +
      134 //*****************************************************************************
      +
      135 //
      +
      136 // The following are values that can be passed to the param parameter for
      +
      137 // functions: USCI_A_UART_init().
      +
      138 //
      +
      139 //*****************************************************************************
      +
      140 #define USCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION 0x01
      +
      141 #define USCI_A_UART_LOW_FREQUENCY_BAUDRATE_GENERATION 0x00
      +
      142 
      +
      143 //*****************************************************************************
      +
      144 //
      +
      145 // The following are values that can be passed to the mask parameter for
      +
      146 // functions: USCI_A_UART_enableInterrupt(), and
      +
      147 // USCI_A_UART_disableInterrupt().
      +
      148 //
      +
      149 //*****************************************************************************
      +
      150 #define USCI_A_UART_RECEIVE_INTERRUPT UCRXIE
      +
      151 #define USCI_A_UART_TRANSMIT_INTERRUPT UCTXIE
      +
      152 #define USCI_A_UART_RECEIVE_ERRONEOUSCHAR_INTERRUPT UCRXEIE
      +
      153 #define USCI_A_UART_BREAKCHAR_INTERRUPT UCBRKIE
      +
      154 
      +
      155 //*****************************************************************************
      +
      156 //
      +
      157 // The following are values that can be passed to the mask parameter for
      +
      158 // functions: USCI_A_UART_getInterruptStatus(), and
      +
      159 // USCI_A_UART_clearInterrupt() as well as returned by the
      +
      160 // USCI_A_UART_getInterruptStatus() function.
      +
      161 //
      +
      162 //*****************************************************************************
      +
      163 #define USCI_A_UART_RECEIVE_INTERRUPT_FLAG UCRXIFG
      +
      164 #define USCI_A_UART_TRANSMIT_INTERRUPT_FLAG UCTXIFG
      +
      165 
      +
      166 //*****************************************************************************
      +
      167 //
      +
      168 // The following are values that can be passed to the mask parameter for
      +
      169 // functions: USCI_A_UART_queryStatusFlags() as well as returned by the
      +
      170 // USCI_A_UART_queryStatusFlags() function.
      +
      171 //
      +
      172 //*****************************************************************************
      +
      173 #define USCI_A_UART_LISTEN_ENABLE UCLISTEN
      +
      174 #define USCI_A_UART_FRAMING_ERROR UCFE
      +
      175 #define USCI_A_UART_OVERRUN_ERROR UCOE
      +
      176 #define USCI_A_UART_PARITY_ERROR UCPE
      +
      177 #define USCI_A_UART_BREAK_DETECT UCBRK
      +
      178 #define USCI_A_UART_RECEIVE_ERROR UCRXERR
      +
      179 #define USCI_A_UART_ADDRESS_RECEIVED UCADDR
      +
      180 #define USCI_A_UART_IDLELINE UCIDLE
      +
      181 #define USCI_A_UART_BUSY UCBUSY
      +
      182 
      +
      183 //*****************************************************************************
      +
      184 //
      +
      185 // Prototypes for the APIs.
      +
      186 //
      +
      187 //*****************************************************************************
      +
      188 
      +
      189 //*****************************************************************************
      +
      190 //
      +
      212 //
      +
      213 //*****************************************************************************
      +
      214 extern bool USCI_A_UART_init(uint16_t baseAddress,
      +
      215  USCI_A_UART_initParam *param);
      +
      216 
      +
      217 //*****************************************************************************
      +
      218 //
      +
      230 //
      +
      231 //*****************************************************************************
      +
      232 extern void USCI_A_UART_transmitData(uint16_t baseAddress,
      +
      233  uint8_t transmitData);
      +
      234 
      +
      235 //*****************************************************************************
      +
      236 //
      +
      247 //
      +
      248 //*****************************************************************************
      +
      249 extern uint8_t USCI_A_UART_receiveData(uint16_t baseAddress);
      +
      250 
      +
      251 //*****************************************************************************
      +
      252 //
      +
      273 //
      +
      274 //*****************************************************************************
      +
      275 extern void USCI_A_UART_enableInterrupt(uint16_t baseAddress,
      +
      276  uint8_t mask);
      +
      277 
      +
      278 //*****************************************************************************
      +
      279 //
      +
      299 //
      +
      300 //*****************************************************************************
      +
      301 extern void USCI_A_UART_disableInterrupt(uint16_t baseAddress,
      +
      302  uint8_t mask);
      +
      303 
      +
      304 //*****************************************************************************
      +
      305 //
      +
      323 //
      +
      324 //*****************************************************************************
      +
      325 extern uint8_t USCI_A_UART_getInterruptStatus(uint16_t baseAddress,
      +
      326  uint8_t mask);
      +
      327 
      +
      328 //*****************************************************************************
      +
      329 //
      +
      345 //
      +
      346 //*****************************************************************************
      +
      347 extern void USCI_A_UART_clearInterrupt(uint16_t baseAddress,
      +
      348  uint8_t mask);
      +
      349 
      +
      350 //*****************************************************************************
      +
      351 //
      +
      361 //
      +
      362 //*****************************************************************************
      +
      363 extern void USCI_A_UART_enable(uint16_t baseAddress);
      +
      364 
      +
      365 //*****************************************************************************
      +
      366 //
      +
      376 //
      +
      377 //*****************************************************************************
      +
      378 extern void USCI_A_UART_disable(uint16_t baseAddress);
      +
      379 
      +
      380 //*****************************************************************************
      +
      381 //
      +
      412 //
      +
      413 //*****************************************************************************
      +
      414 extern uint8_t USCI_A_UART_queryStatusFlags(uint16_t baseAddress,
      +
      415  uint8_t mask);
      +
      416 
      +
      417 //*****************************************************************************
      +
      418 //
      +
      430 //
      +
      431 //*****************************************************************************
      +
      432 extern void USCI_A_UART_setDormant(uint16_t baseAddress);
      +
      433 
      +
      434 //*****************************************************************************
      +
      435 //
      +
      445 //
      +
      446 //*****************************************************************************
      +
      447 extern void USCI_A_UART_resetDormant(uint16_t baseAddress);
      +
      448 
      +
      449 //*****************************************************************************
      +
      450 //
      +
      460 //
      +
      461 //*****************************************************************************
      +
      462 extern void USCI_A_UART_transmitAddress(uint16_t baseAddress,
      +
      463  uint8_t transmitAddress);
      +
      464 
      +
      465 //*****************************************************************************
      +
      466 //
      +
      481 //
      +
      482 //*****************************************************************************
      +
      483 extern void USCI_A_UART_transmitBreak(uint16_t baseAddress);
      +
      484 
      +
      485 //*****************************************************************************
      +
      486 //
      +
      495 //
      +
      496 //*****************************************************************************
      +
      497 extern uint32_t USCI_A_UART_getReceiveBufferAddressForDMA(uint16_t baseAddress);
      +
      498 
      +
      499 //*****************************************************************************
      +
      500 //
      +
      509 //
      +
      510 //*****************************************************************************
      +
      511 extern uint32_t USCI_A_UART_getTransmitBufferAddressForDMA(uint16_t baseAddress);
      +
      512 
      +
      513 //*****************************************************************************
      +
      514 //
      +
      515 // Mark the end of the C bindings section for C++ compilers.
      +
      516 //
      +
      517 //*****************************************************************************
      +
      518 #ifdef __cplusplus
      +
      519 }
      +
      520 #endif
      +
      521 
      +
      522 #endif
      +
      523 #endif // __MSP430WARE_USCI_A_UART_H__
      + +
      +
      + + + + diff --git a/Documentation/html/usci__b__i2c_8c.html b/Documentation/html/usci__b__i2c_8c.html new file mode 100644 index 0000000..58eeef2 --- /dev/null +++ b/Documentation/html/usci__b__i2c_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_b_i2c.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_b_i2c.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/usci__b__i2c_8c_source.html b/Documentation/html/usci__b__i2c_8c_source.html new file mode 100644 index 0000000..1a3f55d --- /dev/null +++ b/Documentation/html/usci__b__i2c_8c_source.html @@ -0,0 +1,699 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_b_i2c.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_b_i2c.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // usci_b_i2c.c - Driver for the usci_b_i2c Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_USCI_Bx__
      +
      17 #include "usci_b_i2c.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void USCI_B_I2C_initMaster(uint16_t baseAddress, USCI_B_I2C_initMasterParam *param)
      +
      22 {
      +
      23  uint16_t preScalarValue;
      +
      24 
      +
      25  //Disable the USCI module and clears the other bits of control register
      +
      26  HWREG8(baseAddress + OFS_UCBxCTL1) = UCSWRST;
      +
      27 
      +
      28  /*
      +
      29  * Configure as I2C master mode.
      +
      30  * UCMST = Master mode
      +
      31  * UCMODE_3 = I2C mode
      +
      32  * UCSYNC = Synchronous mode
      +
      33  */
      +
      34  HWREG8(baseAddress + OFS_UCBxCTL0) = UCMST + UCMODE_3 + UCSYNC;
      +
      35 
      +
      36  //Configure I2C clock source
      +
      37  HWREG8(baseAddress + OFS_UCBxCTL1) = (param->selectClockSource + UCSWRST );
      +
      38 
      +
      39  /*
      +
      40  * Compute the clock divider that achieves the fastest speed less than or
      +
      41  * equal to the desired speed. The numerator is biased to favor a larger
      +
      42  * clock divider so that the resulting clock is always less than or equal
      +
      43  * to the desired clock, never greater.
      +
      44  */
      +
      45  preScalarValue = (unsigned short)(param->i2cClk / param->dataRate);
      +
      46  HWREG16(baseAddress + OFS_UCBxBRW) = preScalarValue;
      +
      47 }
      +
      48 void USCI_B_I2C_initSlave (uint16_t baseAddress,
      +
      49  uint8_t slaveAddress
      +
      50  )
      +
      51 {
      +
      52  //Disable the USCI module
      +
      53  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCSWRST;
      +
      54 
      +
      55  //Clear USCI master mode
      +
      56  HWREG8(baseAddress + OFS_UCBxCTL0) &= ~UCMST;
      +
      57 
      +
      58  //Confiugre I2C as Slave and Synchronous mode
      +
      59  HWREG8(baseAddress + OFS_UCBxCTL0) = UCMODE_3 + UCSYNC;
      +
      60 
      +
      61  //Set up the slave address.
      +
      62  HWREG16(baseAddress + OFS_UCBxI2COA) = slaveAddress;
      +
      63 }
      +
      64 
      +
      65 void USCI_B_I2C_enable (uint16_t baseAddress)
      +
      66 {
      +
      67  //Reset the UCSWRST bit to enable the USCI Module
      +
      68  HWREG8(baseAddress + OFS_UCBxCTL1) &= ~(UCSWRST);
      +
      69 }
      +
      70 
      +
      71 void USCI_B_I2C_disable (uint16_t baseAddress)
      +
      72 {
      +
      73  //Set the UCSWRST bit to disable the USCI Module
      +
      74  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCSWRST;
      +
      75 }
      +
      76 
      +
      77 void USCI_B_I2C_setSlaveAddress (uint16_t baseAddress,
      +
      78  uint8_t slaveAddress
      +
      79  )
      +
      80 {
      +
      81  //Set the address of the slave with which the master will communicate.
      +
      82  HWREG16(baseAddress + OFS_UCBxI2CSA) = (slaveAddress);
      +
      83 }
      +
      84 
      +
      85 void USCI_B_I2C_setMode (uint16_t baseAddress,
      +
      86  uint8_t mode
      +
      87  )
      +
      88 {
      +
      89  HWREG8(baseAddress + OFS_UCBxCTL1) &= ~USCI_B_I2C_TRANSMIT_MODE;
      +
      90  HWREG8(baseAddress + OFS_UCBxCTL1) |= mode;
      +
      91 }
      +
      92 
      +
      93 void USCI_B_I2C_slavePutData (uint16_t baseAddress,
      +
      94  uint8_t transmitData
      +
      95  )
      +
      96 {
      +
      97  //Send single byte data.
      +
      98  HWREG8(baseAddress + OFS_UCBxTXBUF) = transmitData;
      +
      99 }
      +
      100 
      +
      101 uint8_t USCI_B_I2C_slaveGetData (uint16_t baseAddress)
      +
      102 {
      +
      103  //Read a byte.
      +
      104  return (HWREG8(baseAddress + OFS_UCBxRXBUF));
      +
      105 }
      +
      106 
      +
      107 uint8_t USCI_B_I2C_isBusBusy (uint16_t baseAddress)
      +
      108 {
      +
      109  //Return the bus busy status.
      +
      110  return (HWREG8(baseAddress + OFS_UCBxSTAT) & UCBBUSY);
      +
      111 }
      +
      112 
      +
      113 uint8_t USCI_B_I2C_isBusy (uint16_t baseAddress)
      +
      114 {
      +
      115  //Return the busy status.
      +
      116  if ((HWREG8(baseAddress + OFS_UCBxIFG) & (UCTXIFG + UCRXIFG))){
      +
      117  return (USCI_B_I2C_BUS_BUSY);
      +
      118  } else {
      +
      119  return (USCI_B_I2C_BUS_NOT_BUSY);
      +
      120  }
      +
      121 }
      +
      122 
      +
      123 uint8_t USCI_B_I2C_masterIsStopSent (uint16_t baseAddress)
      +
      124 {
      +
      125  //Return the bus busy status.
      +
      126  return (HWREG8(baseAddress + OFS_UCBxCTL1) & UCTXSTP);
      +
      127 }
      +
      128 
      +
      129 uint8_t USCI_B_I2C_masterIsStartSent (uint16_t baseAddress)
      +
      130 {
      +
      131  //Return if master has sent start
      +
      132  return (HWREG8(baseAddress + OFS_UCBxCTL1) & UCTXSTT);
      +
      133 }
      +
      134 
      +
      135 void USCI_B_I2C_masterSendStart (uint16_t baseAddress)
      +
      136 {
      +
      137  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTT;
      +
      138 }
      +
      139 
      +
      140 void USCI_B_I2C_enableInterrupt (uint16_t baseAddress,
      +
      141  uint8_t mask
      +
      142  )
      +
      143 {
      +
      144  //Enable the interrupt masked bit
      +
      145  HWREG8(baseAddress + OFS_UCBxIE) |= mask;
      +
      146 }
      +
      147 
      +
      148 void USCI_B_I2C_disableInterrupt (uint16_t baseAddress,
      +
      149  uint8_t mask
      +
      150  )
      +
      151 {
      +
      152  //Disable the interrupt masked bit
      +
      153  HWREG8(baseAddress + OFS_UCBxIE) &= ~(mask);
      +
      154 }
      +
      155 
      +
      156 void USCI_B_I2C_clearInterrupt (uint16_t baseAddress,
      +
      157  uint8_t mask
      +
      158  )
      +
      159 {
      +
      160  //Clear the I2C interrupt source.
      +
      161  HWREG8(baseAddress + OFS_UCBxIFG) &= ~(mask);
      +
      162 }
      +
      163 
      +
      164 uint8_t USCI_B_I2C_getInterruptStatus (uint16_t baseAddress,
      +
      165  uint8_t mask
      +
      166  )
      +
      167 {
      +
      168  //Return the interrupt status of the request masked bit.
      +
      169  return (HWREG8(baseAddress + OFS_UCBxIFG) & mask);
      +
      170 }
      +
      171 
      +
      172 void USCI_B_I2C_masterSendSingleByte (uint16_t baseAddress,
      +
      173  uint8_t txData
      +
      174  )
      +
      175 {
      +
      176  //Store current TXIE status
      +
      177  uint8_t txieStatus = HWREG8(baseAddress + OFS_UCBxIE) & UCTXIE;
      +
      178 
      +
      179  //Disable transmit interrupt enable
      +
      180  HWREG8(baseAddress + OFS_UCBxIE) &= ~(UCTXIE);
      +
      181 
      +
      182  //Send start condition.
      +
      183  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTR + UCTXSTT;
      +
      184 
      +
      185  //Poll for transmit interrupt flag.
      +
      186  while (!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
      +
      187 
      +
      188  //Send single byte data.
      +
      189  HWREG8(baseAddress + OFS_UCBxTXBUF) = txData;
      +
      190 
      +
      191  //Poll for transmit interrupt flag.
      +
      192  while (!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
      +
      193 
      +
      194  //Send stop condition.
      +
      195  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      196 
      +
      197  //Clear transmit interrupt flag before enabling interrupt again
      +
      198  HWREG8(baseAddress + OFS_UCBxIFG) &= ~(UCTXIFG);
      +
      199 
      +
      200  //Reinstate transmit interrupt enable
      +
      201  HWREG8(baseAddress + OFS_UCBxIE) |= txieStatus;
      +
      202 }
      +
      203 
      +
      204 bool USCI_B_I2C_masterSendSingleByteWithTimeout (uint16_t baseAddress,
      +
      205  uint8_t txData,
      +
      206  uint32_t timeout
      +
      207  )
      +
      208 {
      +
      209  // Creating variable for second timeout scenario
      +
      210  uint32_t timeout2 = timeout;
      +
      211 
      +
      212  //Store current TXIE status
      +
      213  uint8_t txieStatus = HWREG8(baseAddress + OFS_UCBxIE) & UCTXIE;
      +
      214 
      +
      215  //Disable transmit interrupt enable
      +
      216  HWREG8(baseAddress + OFS_UCBxIE) &= ~(UCTXIE);
      +
      217 
      +
      218  //Send start condition.
      +
      219  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTR + UCTXSTT;
      +
      220 
      +
      221  //Poll for transmit interrupt flag.
      +
      222  while ((!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout) ;
      +
      223 
      +
      224  //Check if transfer timed out
      +
      225  if (timeout == 0){
      +
      226  return (STATUS_FAIL);
      +
      227  }
      +
      228 
      +
      229  //Send single byte data.
      +
      230  HWREG8(baseAddress + OFS_UCBxTXBUF) = txData;
      +
      231 
      +
      232  //Poll for transmit interrupt flag.
      +
      233  while ((!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout2) ;
      +
      234 
      +
      235  //Check if transfer timed out
      +
      236  if (timeout2 == 0){
      +
      237  return (STATUS_FAIL);
      +
      238  }
      +
      239 
      +
      240  //Send stop condition.
      +
      241  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      242 
      +
      243  //Clear transmit interrupt flag before enabling interrupt again
      +
      244  HWREG8(baseAddress + OFS_UCBxIFG) &= ~(UCTXIFG);
      +
      245 
      +
      246  //Reinstate transmit interrupt enable
      +
      247  HWREG8(baseAddress + OFS_UCBxIE) |= txieStatus;
      +
      248 
      +
      249  return (STATUS_SUCCESS);
      +
      250 }
      +
      251 
      +
      252 void USCI_B_I2C_masterSendMultiByteStart (uint16_t baseAddress,
      +
      253  uint8_t txData
      +
      254  )
      +
      255 {
      +
      256  //Store current transmit interrupt enable
      +
      257  uint8_t txieStatus = HWREG8(baseAddress + OFS_UCBxIE) & UCTXIE;
      +
      258 
      +
      259  //Disable transmit interrupt enable
      +
      260  HWREG8(baseAddress + OFS_UCBxIE) &= ~(UCTXIE);
      +
      261 
      +
      262  //Send start condition.
      +
      263  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTR + UCTXSTT;
      +
      264 
      +
      265  //Poll for transmit interrupt flag.
      +
      266  while (!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
      +
      267 
      +
      268  //Send single byte data.
      +
      269  HWREG8(baseAddress + OFS_UCBxTXBUF) = txData;
      +
      270 
      +
      271  //Reinstate transmit interrupt enable
      +
      272  HWREG8(baseAddress + OFS_UCBxIE) |= txieStatus;
      +
      273 }
      +
      274 
      +
      275 bool USCI_B_I2C_masterSendMultiByteStartWithTimeout (uint16_t baseAddress,
      +
      276  uint8_t txData,
      +
      277  uint32_t timeout
      +
      278  )
      +
      279 {
      +
      280  //Store current transmit interrupt enable
      +
      281  uint8_t txieStatus = HWREG8(baseAddress + OFS_UCBxIE) & UCTXIE;
      +
      282 
      +
      283  //Disable transmit interrupt enable
      +
      284  HWREG8(baseAddress + OFS_UCBxIE) &= ~(UCTXIE);
      +
      285 
      +
      286  //Send start condition.
      +
      287  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTR + UCTXSTT;
      +
      288 
      +
      289  //Poll for transmit interrupt flag.
      +
      290  while ((!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout) ;
      +
      291 
      +
      292  //Check if transfer timed out
      +
      293  if (timeout == 0){
      +
      294  return (STATUS_FAIL);
      +
      295  }
      +
      296 
      +
      297  //Send single byte data.
      +
      298  HWREG8(baseAddress + OFS_UCBxTXBUF) = txData;
      +
      299 
      +
      300  //Reinstate transmit interrupt enable
      +
      301  HWREG8(baseAddress + OFS_UCBxIE) |= txieStatus;
      +
      302 
      +
      303  return(STATUS_SUCCESS);
      +
      304 }
      +
      305 
      +
      306 void USCI_B_I2C_masterSendMultiByteNext (uint16_t baseAddress,
      +
      307  uint8_t txData
      +
      308  )
      +
      309 {
      +
      310  //If interrupts are not used, poll for flags
      +
      311  if (!(HWREG8(baseAddress + OFS_UCBxIE) & UCTXIE)){
      +
      312  //Poll for transmit interrupt flag.
      +
      313  while (!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
      +
      314  }
      +
      315 
      +
      316  //Send single byte data.
      +
      317  HWREG8(baseAddress + OFS_UCBxTXBUF) = txData;
      +
      318 }
      +
      319 
      +
      320 bool USCI_B_I2C_masterSendMultiByteNextWithTimeout (uint16_t baseAddress,
      +
      321  uint8_t txData,
      +
      322  uint32_t timeout
      +
      323  )
      +
      324 {
      +
      325  //If interrupts are not used, poll for flags
      +
      326  if (!(HWREG8(baseAddress + OFS_UCBxIE) & UCTXIE)){
      +
      327  //Poll for transmit interrupt flag.
      +
      328  while ((!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout);
      +
      329 
      +
      330  //Check if transfer timed out
      +
      331  if (timeout == 0){
      +
      332  return (STATUS_FAIL);
      +
      333  }
      +
      334  }
      +
      335 
      +
      336  //Send single byte data.
      +
      337  HWREG8(baseAddress + OFS_UCBxTXBUF) = txData;
      +
      338 
      +
      339  return(STATUS_SUCCESS);
      +
      340 }
      +
      341 
      +
      342 void USCI_B_I2C_masterSendMultiByteFinish (uint16_t baseAddress,
      +
      343  uint8_t txData
      +
      344  )
      +
      345 {
      +
      346  //If interrupts are not used, poll for flags
      +
      347  if (!(HWREG8(baseAddress + OFS_UCBxIE) & UCTXIE)){
      +
      348  //Poll for transmit interrupt flag.
      +
      349  while (!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
      +
      350  }
      +
      351 
      +
      352  //Send single byte data.
      +
      353  HWREG8(baseAddress + OFS_UCBxTXBUF) = txData;
      +
      354 
      +
      355  //Poll for transmit interrupt flag.
      +
      356  while (!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
      +
      357 
      +
      358  //Send stop condition.
      +
      359  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      360 }
      +
      361 
      +
      362 bool USCI_B_I2C_masterSendMultiByteFinishWithTimeout (uint16_t baseAddress,
      +
      363  uint8_t txData,
      +
      364  uint32_t timeout
      +
      365  )
      +
      366 {
      +
      367  uint32_t timeout2 = timeout;
      +
      368 
      +
      369  //If interrupts are not used, poll for flags
      +
      370  if (!(HWREG8(baseAddress + OFS_UCBxIE) & UCTXIE)){
      +
      371  //Poll for transmit interrupt flag.
      +
      372  while ((!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout) ;
      +
      373 
      +
      374  //Check if transfer timed out
      +
      375  if (timeout == 0){
      +
      376  return (STATUS_FAIL);
      +
      377  }
      +
      378  }
      +
      379 
      +
      380  //Send single byte data.
      +
      381  HWREG8(baseAddress + OFS_UCBxTXBUF) = txData;
      +
      382 
      +
      383  //Poll for transmit interrupt flag.
      +
      384  while ((!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout2) ;
      +
      385 
      +
      386  //Check if transfer timed out
      +
      387  if (timeout2 == 0){
      +
      388  return (STATUS_FAIL);
      +
      389  }
      +
      390 
      +
      391  //Send stop condition.
      +
      392  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      393 
      +
      394  return(STATUS_SUCCESS);
      +
      395 }
      +
      396 
      +
      397 void USCI_B_I2C_masterSendMultiByteStop (uint16_t baseAddress)
      +
      398 {
      +
      399  //If interrupts are not used, poll for flags
      +
      400  if (!(HWREG8(baseAddress + OFS_UCBxIE) & UCTXIE)){
      +
      401  //Poll for transmit interrupt flag.
      +
      402  while (!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) ;
      +
      403  }
      +
      404 
      +
      405  //Send stop condition.
      +
      406  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      407 }
      +
      408 
      +
      409 bool USCI_B_I2C_masterSendMultiByteStopWithTimeout (uint16_t baseAddress,
      +
      410  uint32_t timeout)
      +
      411 {
      +
      412  //If interrupts are not used, poll for flags
      +
      413  if (!(HWREG8(baseAddress + OFS_UCBxIE) & UCTXIE)){
      +
      414  //Poll for transmit interrupt flag.
      +
      415  while ((!(HWREG8(baseAddress + OFS_UCBxIFG) & UCTXIFG)) && --timeout) ;
      +
      416 
      +
      417  //Check if transfer timed out
      +
      418  if (timeout == 0){
      +
      419  return (STATUS_FAIL);
      +
      420  }
      +
      421  }
      +
      422 
      +
      423  //Send stop condition.
      +
      424  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      425 
      +
      426  return (STATUS_SUCCESS);
      +
      427 }
      +
      428 
      +
      429 void USCI_B_I2C_masterReceiveMultiByteStart (uint16_t baseAddress)
      +
      430 {
      +
      431  //Set USCI in Receive mode
      +
      432  HWREG8(baseAddress + OFS_UCBxCTL1) &= ~UCTR;
      +
      433  //Send start
      +
      434  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTT;
      +
      435 }
      +
      436 
      +
      437 uint8_t USCI_B_I2C_masterReceiveMultiByteNext (uint16_t baseAddress)
      +
      438 {
      +
      439  return (HWREG8(baseAddress + OFS_UCBxRXBUF));
      +
      440 }
      +
      441 
      +
      442 uint8_t USCI_B_I2C_masterReceiveMultiByteFinish (uint16_t baseAddress)
      +
      443 {
      +
      444  uint8_t receiveData;
      +
      445 
      +
      446  //Send stop condition.
      +
      447  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      448 
      +
      449  //Capture data from receive buffer after setting stop bit due to
      +
      450  //MSP430 I2C critical timing.
      +
      451  receiveData = HWREG8(baseAddress + OFS_UCBxRXBUF);
      +
      452 
      +
      453  //Wait for Stop to finish
      +
      454  while (HWREG8(baseAddress + OFS_UCBxCTL1) & UCTXSTP);
      +
      455 
      +
      456  //Wait for RX buffer
      +
      457  while (!(HWREG8(baseAddress + OFS_UCBxIFG) & UCRXIFG));
      +
      458 
      +
      459  return receiveData;
      +
      460 }
      +
      461 
      +
      462 bool USCI_B_I2C_masterReceiveMultiByteFinishWithTimeout (uint16_t baseAddress,
      +
      463  uint8_t *rxData,
      +
      464  uint32_t timeout
      +
      465  )
      +
      466 {
      +
      467  uint32_t timeout2 = timeout;
      +
      468 
      +
      469  //Send stop condition.
      +
      470  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      471 
      +
      472  //Capture data from receive buffer after setting stop bit due to
      +
      473  //MSP430 I2C critical timing.
      +
      474  *rxData = (HWREG8(baseAddress + OFS_UCBxRXBUF));
      +
      475 
      +
      476  //Wait for Stop to finish
      +
      477  while ((HWREG8(baseAddress + OFS_UCBxCTL1) & UCTXSTP) && --timeout);
      +
      478 
      +
      479  //Check if transfer timed out
      +
      480  if (timeout == 0){
      +
      481  return (STATUS_FAIL);
      +
      482  }
      +
      483 
      +
      484  // Wait for RX buffer
      +
      485  while ((!(HWREG8(baseAddress + OFS_UCBxIFG) & UCRXIFG)) && --timeout2) ;
      +
      486 
      +
      487  //Check if transfer timed out
      +
      488  if (timeout2 == 0){
      +
      489  return (STATUS_FAIL);
      +
      490  }
      +
      491 
      +
      492  return (STATUS_SUCCESS);
      +
      493 }
      +
      494 
      +
      495 void USCI_B_I2C_masterReceiveMultiByteStop (uint16_t baseAddress)
      +
      496 {
      +
      497  //Send stop condition.
      +
      498  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      499 }
      +
      500 
      +
      501 void USCI_B_I2C_masterReceiveSingleStart (uint16_t baseAddress)
      +
      502 {
      +
      503  //local variable to store GIE status
      +
      504  uint16_t gieStatus;
      +
      505 
      +
      506  //Store current SR register
      +
      507  gieStatus = __get_SR_register() & GIE;
      +
      508 
      +
      509  //Disable global interrupt
      +
      510  __disable_interrupt();
      +
      511 
      +
      512  //Set USCI in Receive mode
      +
      513  HWREG8(baseAddress + OFS_UCBxCTL1) &= ~UCTR;
      +
      514 
      +
      515  //Send start condition.
      +
      516  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTT;
      +
      517 
      +
      518  //Poll for Start bit to complete
      +
      519  while (HWREG8(baseAddress + OFS_UCBxCTL1) & UCTXSTT) ;
      +
      520 
      +
      521  //Send stop condition.
      +
      522  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      523 
      +
      524  //Reinstate SR register
      +
      525  __bis_SR_register(gieStatus);
      +
      526 }
      +
      527 
      +
      528 bool USCI_B_I2C_masterReceiveSingleStartWithTimeout (uint16_t baseAddress,
      +
      529  uint32_t timeout
      +
      530  )
      +
      531 {
      +
      532  //local variable to store GIE status
      +
      533  uint16_t gieStatus;
      +
      534 
      +
      535  //Store current SR register
      +
      536  gieStatus = __get_SR_register() & GIE;
      +
      537 
      +
      538  //Disable global interrupt
      +
      539  __disable_interrupt();
      +
      540 
      +
      541  //Set USCI in Receive mode
      +
      542  HWREG8(baseAddress + OFS_UCBxCTL1) &= ~UCTR;
      +
      543 
      +
      544  //Send start condition.
      +
      545  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTT;
      +
      546 
      +
      547  //Poll for Start bit to complete
      +
      548  while (((HWREG8(baseAddress + OFS_UCBxCTL1) & UCTXSTT)) && --timeout);
      +
      549 
      +
      550  //Check if transfer timed out
      +
      551  if (timeout == 0){
      +
      552  return (STATUS_FAIL);
      +
      553  }
      +
      554 
      +
      555  //Send stop condition.
      +
      556  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCTXSTP;
      +
      557 
      +
      558  //Reinstate SR register
      +
      559  __bis_SR_register(gieStatus);
      +
      560 
      +
      561  return (STATUS_SUCCESS);
      +
      562 }
      +
      563 
      +
      564 uint8_t USCI_B_I2C_masterReceiveSingle (uint16_t baseAddress)
      +
      565 {
      +
      566  //Polling RXIFG0 if RXIE is not enabled
      +
      567  if(!(HWREG8(baseAddress + OFS_UCBxIE) & UCRXIE)) {
      +
      568  while(!(HWREG8(baseAddress + OFS_UCBxIFG) & UCRXIFG));
      +
      569  }
      +
      570 
      +
      571  //Read a byte.
      +
      572  return (HWREG8(baseAddress + OFS_UCBxRXBUF));
      +
      573 }
      +
      574 
      +
      575 uint32_t USCI_B_I2C_getReceiveBufferAddressForDMA (uint16_t baseAddress)
      +
      576 {
      +
      577  return ( baseAddress + OFS_UCBxRXBUF );
      +
      578 }
      +
      579 
      +
      580 uint32_t USCI_B_I2C_getTransmitBufferAddressForDMA (uint16_t baseAddress)
      +
      581 {
      +
      582  return ( baseAddress + OFS_UCBxTXBUF );
      +
      583 }
      +
      584 
      +
      585 
      +
      586 #endif
      +
      587 //*****************************************************************************
      +
      588 //
      +
      591 //
      +
      592 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      +
      #define STATUS_FAIL
      Definition: hw_memmap.h:23
      +
      #define STATUS_SUCCESS
      Definition: hw_memmap.h:22
      + +
      +
      + + + + diff --git a/Documentation/html/usci__b__i2c_8h.html b/Documentation/html/usci__b__i2c_8h.html new file mode 100644 index 0000000..16ebf1b --- /dev/null +++ b/Documentation/html/usci__b__i2c_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_b_i2c.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_b_i2c.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/usci__b__i2c_8h_source.html b/Documentation/html/usci__b__i2c_8h_source.html new file mode 100644 index 0000000..0bb23ba --- /dev/null +++ b/Documentation/html/usci__b__i2c_8h_source.html @@ -0,0 +1,476 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_b_i2c.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_b_i2c.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // usci_b_i2c.h - Driver for the USCI_B_I2C Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_USCI_B_I2C_H__
      +
      8 #define __MSP430WARE_USCI_B_I2C_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_USCI_Bx__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 typedef struct USCI_B_I2C_initMasterParam {
      +
      36  uint8_t selectClockSource;
      +
      38  uint32_t i2cClk;
      +
      43  uint32_t dataRate;
      +
      44 } USCI_B_I2C_initMasterParam;
      +
      45 
      +
      46 
      +
      47 //*****************************************************************************
      +
      48 //
      +
      49 // The following are values that can be passed to the param parameter for
      +
      50 // functions: USCI_B_I2C_initMaster().
      +
      51 //
      +
      52 //*****************************************************************************
      +
      53 #define USCI_B_I2C_CLOCKSOURCE_ACLK UCSSEL__ACLK
      +
      54 #define USCI_B_I2C_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
      +
      55 
      +
      56 //*****************************************************************************
      +
      57 //
      +
      58 // The following are values that can be passed to the param parameter for
      +
      59 // functions: USCI_B_I2C_initMaster().
      +
      60 //
      +
      61 //*****************************************************************************
      +
      62 #define USCI_B_I2C_SET_DATA_RATE_400KBPS 400000
      +
      63 #define USCI_B_I2C_SET_DATA_RATE_100KBPS 100000
      +
      64 
      +
      65 //*****************************************************************************
      +
      66 //
      +
      67 // The following are values that can be passed to the mode parameter for
      +
      68 // functions: USCI_B_I2C_setMode().
      +
      69 //
      +
      70 //*****************************************************************************
      +
      71 #define USCI_B_I2C_TRANSMIT_MODE UCTR
      +
      72 #define USCI_B_I2C_RECEIVE_MODE 0x00
      +
      73 
      +
      74 //*****************************************************************************
      +
      75 //
      +
      76 // The following are values that can be passed to the mask parameter for
      +
      77 // functions: USCI_B_I2C_enableInterrupt(), USCI_B_I2C_disableInterrupt(),
      +
      78 // USCI_B_I2C_clearInterrupt(), and USCI_B_I2C_getInterruptStatus() as well as
      +
      79 // returned by the USCI_B_I2C_getInterruptStatus() function.
      +
      80 //
      +
      81 //*****************************************************************************
      +
      82 #define USCI_B_I2C_STOP_INTERRUPT UCSTPIE
      +
      83 #define USCI_B_I2C_START_INTERRUPT UCSTTIE
      +
      84 #define USCI_B_I2C_RECEIVE_INTERRUPT UCRXIE
      +
      85 #define USCI_B_I2C_TRANSMIT_INTERRUPT UCTXIE
      +
      86 #define USCI_B_I2C_NAK_INTERRUPT UCNACKIE
      +
      87 #define USCI_B_I2C_ARBITRATIONLOST_INTERRUPT UCALIE
      +
      88 
      +
      89 //*****************************************************************************
      +
      90 //
      +
      91 // The following are values that can be passed toThe following are values that
      +
      92 // can be returned by the USCI_B_I2C_isBusy() function and the
      +
      93 // USCI_B_I2C_isBusBusy() function.
      +
      94 //
      +
      95 //*****************************************************************************
      +
      96 #define USCI_B_I2C_BUS_BUSY UCBBUSY
      +
      97 #define USCI_B_I2C_BUS_NOT_BUSY 0x00
      +
      98 
      +
      99 //*****************************************************************************
      +
      100 //
      +
      101 // The following are values that can be passed toThe following are values that
      +
      102 // can be returned by the USCI_B_I2C_masterIsStartSent() function.
      +
      103 //
      +
      104 //*****************************************************************************
      +
      105 #define USCI_B_I2C_SENDING_START UCTXSTT
      +
      106 #define USCI_B_I2C_START_SEND_COMPLETE 0x00
      +
      107 
      +
      108 //*****************************************************************************
      +
      109 //
      +
      110 // The following are values that can be passed toThe following are values that
      +
      111 // can be returned by the USCI_B_I2C_masterIsStopSent() function.
      +
      112 //
      +
      113 //*****************************************************************************
      +
      114 #define USCI_B_I2C_SENDING_STOP UCTXSTP
      +
      115 #define USCI_B_I2C_STOP_SEND_COMPLETE 0x00
      +
      116 
      +
      117 //*****************************************************************************
      +
      118 //
      +
      119 // Prototypes for the APIs.
      +
      120 //
      +
      121 //*****************************************************************************
      +
      122 
      +
      123 //*****************************************************************************
      +
      124 //
      +
      143 //
      +
      144 //*****************************************************************************
      +
      145 extern void USCI_B_I2C_initMaster(uint16_t baseAddress,
      +
      146  USCI_B_I2C_initMasterParam *param);
      +
      147 
      +
      148 //*****************************************************************************
      +
      149 //
      +
      164 //
      +
      165 //*****************************************************************************
      +
      166 extern void USCI_B_I2C_initSlave(uint16_t baseAddress,
      +
      167  uint8_t slaveAddress);
      +
      168 
      +
      169 //*****************************************************************************
      +
      170 //
      +
      180 //
      +
      181 //*****************************************************************************
      +
      182 extern void USCI_B_I2C_enable(uint16_t baseAddress);
      +
      183 
      +
      184 //*****************************************************************************
      +
      185 //
      +
      195 //
      +
      196 //*****************************************************************************
      +
      197 extern void USCI_B_I2C_disable(uint16_t baseAddress);
      +
      198 
      +
      199 //*****************************************************************************
      +
      200 //
      +
      213 //
      +
      214 //*****************************************************************************
      +
      215 extern void USCI_B_I2C_setSlaveAddress(uint16_t baseAddress,
      +
      216  uint8_t slaveAddress);
      +
      217 
      +
      218 //*****************************************************************************
      +
      219 //
      +
      233 //
      +
      234 //*****************************************************************************
      +
      235 extern void USCI_B_I2C_setMode(uint16_t baseAddress,
      +
      236  uint8_t mode);
      +
      237 
      +
      238 //*****************************************************************************
      +
      239 //
      +
      251 //
      +
      252 //*****************************************************************************
      +
      253 extern void USCI_B_I2C_slavePutData(uint16_t baseAddress,
      +
      254  uint8_t transmitData);
      +
      255 
      +
      256 //*****************************************************************************
      +
      257 //
      +
      266 //
      +
      267 //*****************************************************************************
      +
      268 extern uint8_t USCI_B_I2C_slaveGetData(uint16_t baseAddress);
      +
      269 
      +
      270 //*****************************************************************************
      +
      271 //
      +
      286 //
      +
      287 //*****************************************************************************
      +
      288 extern uint8_t USCI_B_I2C_isBusBusy(uint16_t baseAddress);
      +
      289 
      +
      290 //*****************************************************************************
      +
      291 //
      +
      307 //
      +
      308 //*****************************************************************************
      +
      309 extern uint8_t USCI_B_I2C_isBusy(uint16_t baseAddress);
      +
      310 
      +
      311 //*****************************************************************************
      +
      312 //
      +
      325 //
      +
      326 //*****************************************************************************
      +
      327 extern uint8_t USCI_B_I2C_masterIsStopSent(uint16_t baseAddress);
      +
      328 
      +
      329 //*****************************************************************************
      +
      330 //
      +
      343 //
      +
      344 //*****************************************************************************
      +
      345 extern uint8_t USCI_B_I2C_masterIsStartSent(uint16_t baseAddress);
      +
      346 
      +
      347 //*****************************************************************************
      +
      348 //
      +
      356 //
      +
      357 //*****************************************************************************
      +
      358 extern void USCI_B_I2C_masterSendStart(uint16_t baseAddress);
      +
      359 
      +
      360 //*****************************************************************************
      +
      361 //
      +
      382 //
      +
      383 //*****************************************************************************
      +
      384 extern void USCI_B_I2C_enableInterrupt(uint16_t baseAddress,
      +
      385  uint8_t mask);
      +
      386 
      +
      387 //*****************************************************************************
      +
      388 //
      +
      409 //
      +
      410 //*****************************************************************************
      +
      411 extern void USCI_B_I2C_disableInterrupt(uint16_t baseAddress,
      +
      412  uint8_t mask);
      +
      413 
      +
      414 //*****************************************************************************
      +
      415 //
      +
      436 //
      +
      437 //*****************************************************************************
      +
      438 extern void USCI_B_I2C_clearInterrupt(uint16_t baseAddress,
      +
      439  uint8_t mask);
      +
      440 
      +
      441 //*****************************************************************************
      +
      442 //
      +
      469 //
      +
      470 //*****************************************************************************
      +
      471 extern uint8_t USCI_B_I2C_getInterruptStatus(uint16_t baseAddress,
      +
      472  uint8_t mask);
      +
      473 
      +
      474 //*****************************************************************************
      +
      475 //
      +
      489 //
      +
      490 //*****************************************************************************
      +
      491 extern void USCI_B_I2C_masterSendSingleByte(uint16_t baseAddress,
      +
      492  uint8_t txData);
      +
      493 
      +
      494 //*****************************************************************************
      +
      495 //
      +
      510 //
      +
      511 //*****************************************************************************
      +
      512 extern bool USCI_B_I2C_masterSendSingleByteWithTimeout(uint16_t baseAddress,
      +
      513  uint8_t txData,
      +
      514  uint32_t timeout);
      +
      515 
      +
      516 //*****************************************************************************
      +
      517 //
      +
      531 //
      +
      532 //*****************************************************************************
      +
      533 extern void USCI_B_I2C_masterSendMultiByteStart(uint16_t baseAddress,
      +
      534  uint8_t txData);
      +
      535 
      +
      536 //*****************************************************************************
      +
      537 //
      +
      549 //
      +
      550 //*****************************************************************************
      +
      551 extern bool USCI_B_I2C_masterSendMultiByteStartWithTimeout(uint16_t baseAddress,
      +
      552  uint8_t txData,
      +
      553  uint32_t timeout);
      +
      554 
      +
      555 //*****************************************************************************
      +
      556 //
      +
      569 //
      +
      570 //*****************************************************************************
      +
      571 extern void USCI_B_I2C_masterSendMultiByteNext(uint16_t baseAddress,
      +
      572  uint8_t txData);
      +
      573 
      +
      574 //*****************************************************************************
      +
      575 //
      +
      589 //
      +
      590 //*****************************************************************************
      +
      591 extern bool USCI_B_I2C_masterSendMultiByteNextWithTimeout(uint16_t baseAddress,
      +
      592  uint8_t txData,
      +
      593  uint32_t timeout);
      +
      594 
      +
      595 //*****************************************************************************
      +
      596 //
      +
      610 //
      +
      611 //*****************************************************************************
      +
      612 extern void USCI_B_I2C_masterSendMultiByteFinish(uint16_t baseAddress,
      +
      613  uint8_t txData);
      +
      614 
      +
      615 //*****************************************************************************
      +
      616 //
      +
      631 //
      +
      632 //*****************************************************************************
      +
      633 extern bool USCI_B_I2C_masterSendMultiByteFinishWithTimeout(uint16_t baseAddress,
      +
      634  uint8_t txData,
      +
      635  uint32_t timeout);
      +
      636 
      +
      637 //*****************************************************************************
      +
      638 //
      +
      651 //
      +
      652 //*****************************************************************************
      +
      653 extern void USCI_B_I2C_masterSendMultiByteStop(uint16_t baseAddress);
      +
      654 
      +
      655 //*****************************************************************************
      +
      656 //
      +
      670 //
      +
      671 //*****************************************************************************
      +
      672 extern bool USCI_B_I2C_masterSendMultiByteStopWithTimeout(uint16_t baseAddress,
      +
      673  uint32_t timeout);
      +
      674 
      +
      675 //*****************************************************************************
      +
      676 //
      +
      687 //
      +
      688 //*****************************************************************************
      +
      689 extern void USCI_B_I2C_masterReceiveMultiByteStart(uint16_t baseAddress);
      +
      690 
      +
      691 //*****************************************************************************
      +
      692 //
      +
      701 //
      +
      702 //*****************************************************************************
      +
      703 extern uint8_t USCI_B_I2C_masterReceiveMultiByteNext(uint16_t baseAddress);
      +
      704 
      +
      705 //*****************************************************************************
      +
      706 //
      +
      718 //
      +
      719 //*****************************************************************************
      +
      720 extern uint8_t USCI_B_I2C_masterReceiveMultiByteFinish(uint16_t baseAddress);
      +
      721 
      +
      722 //*****************************************************************************
      +
      723 //
      +
      738 //
      +
      739 //*****************************************************************************
      +
      740 extern bool USCI_B_I2C_masterReceiveMultiByteFinishWithTimeout(uint16_t baseAddress,
      +
      741  uint8_t *rxData,
      +
      742  uint32_t timeout);
      +
      743 
      +
      744 //*****************************************************************************
      +
      745 //
      +
      756 //
      +
      757 //*****************************************************************************
      +
      758 extern void USCI_B_I2C_masterReceiveMultiByteStop(uint16_t baseAddress);
      +
      759 
      +
      760 //*****************************************************************************
      +
      761 //
      +
      773 //
      +
      774 //*****************************************************************************
      +
      775 extern void USCI_B_I2C_masterReceiveSingleStart(uint16_t baseAddress);
      +
      776 
      +
      777 //*****************************************************************************
      +
      778 //
      +
      791 //
      +
      792 //*****************************************************************************
      +
      793 extern bool USCI_B_I2C_masterReceiveSingleStartWithTimeout(uint16_t baseAddress,
      +
      794  uint32_t timeout);
      +
      795 
      +
      796 //*****************************************************************************
      +
      797 //
      +
      806 //
      +
      807 //*****************************************************************************
      +
      808 extern uint8_t USCI_B_I2C_masterReceiveSingle(uint16_t baseAddress);
      +
      809 
      +
      810 //*****************************************************************************
      +
      811 //
      +
      820 //
      +
      821 //*****************************************************************************
      +
      822 extern uint32_t USCI_B_I2C_getReceiveBufferAddressForDMA(uint16_t baseAddress);
      +
      823 
      +
      824 //*****************************************************************************
      +
      825 //
      +
      834 //
      +
      835 //*****************************************************************************
      +
      836 extern uint32_t USCI_B_I2C_getTransmitBufferAddressForDMA(uint16_t baseAddress);
      +
      837 
      +
      838 //*****************************************************************************
      +
      839 //
      +
      840 // Mark the end of the C bindings section for C++ compilers.
      +
      841 //
      +
      842 //*****************************************************************************
      +
      843 #ifdef __cplusplus
      +
      844 }
      +
      845 #endif
      +
      846 
      +
      847 #endif
      +
      848 #endif // __MSP430WARE_USCI_B_I2C_H__
      + +
      +
      + + + + diff --git a/Documentation/html/usci__b__spi_8c.html b/Documentation/html/usci__b__spi_8c.html new file mode 100644 index 0000000..1c1f2f1 --- /dev/null +++ b/Documentation/html/usci__b__spi_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_b_spi.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_b_spi.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/usci__b__spi_8c_source.html b/Documentation/html/usci__b__spi_8c_source.html new file mode 100644 index 0000000..a40e2b2 --- /dev/null +++ b/Documentation/html/usci__b__spi_8c_source.html @@ -0,0 +1,300 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_b_spi.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_b_spi.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // usci_b_spi.c - Driver for the usci_b_spi Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_USCI_Bx__
      +
      17 #include "usci_b_spi.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 bool USCI_B_SPI_initMaster(uint16_t baseAddress, USCI_B_SPI_initMasterParam *param)
      +
      22 {
      +
      23  //Disable the USCI Module
      +
      24  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCSWRST;
      +
      25 
      +
      26  //Reset OFS_UCBxCTL0 values
      +
      27  HWREG8(baseAddress + OFS_UCBxCTL0) &= ~(UCCKPH + UCCKPL + UC7BIT + UCMSB +
      +
      28  UCMST + UCMODE_3 + UCSYNC);
      +
      29 
      +
      30  //Reset OFS_UCBxCTL1 values
      +
      31  HWREG8(baseAddress + OFS_UCBxCTL1) &= ~(UCSSEL_3);
      +
      32 
      +
      33  //Select Clock
      +
      34  HWREG8(baseAddress + OFS_UCBxCTL1) |= param->selectClockSource;
      +
      35 
      +
      36  HWREG16(baseAddress + OFS_UCBxBRW) =
      +
      37  (uint16_t)(param->clockSourceFrequency / param->desiredSpiClock);
      +
      38 
      +
      39  /*
      +
      40  * Configure as SPI master mode.
      +
      41  * Clock phase select, polarity, msb
      +
      42  * UCMST = Master mode
      +
      43  * UCSYNC = Synchronous mode
      +
      44  * UCMODE_0 = 3-pin SPI
      +
      45  */
      +
      46  HWREG8(baseAddress + OFS_UCBxCTL0) |= (
      +
      47  param->msbFirst +
      +
      48  param->clockPhase +
      +
      49  param->clockPolarity +
      +
      50  UCMST +
      +
      51  UCSYNC +
      +
      52  UCMODE_0
      +
      53  );
      +
      54 
      +
      55  return ( STATUS_SUCCESS) ;
      +
      56 }
      +
      57 
      +
      58 void USCI_B_SPI_changeMasterClock(uint16_t baseAddress,
      +
      59  USCI_B_SPI_changeMasterClockParam *param)
      +
      60 {
      +
      61  //Disable the USCI Module
      +
      62  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCSWRST;
      +
      63 
      +
      64  HWREG8(baseAddress + OFS_UCBxBRW) =
      +
      65  (uint16_t)(param->clockSourceFrequency / param->desiredSpiClock);
      +
      66 
      +
      67  //Reset the UCSWRST bit to enable the USCI Module
      +
      68  HWREG8(baseAddress + OFS_UCBxCTL1) &= ~(UCSWRST);
      +
      69 }
      +
      70 bool USCI_B_SPI_initSlave (uint16_t baseAddress,
      +
      71  uint8_t msbFirst,
      +
      72  uint8_t clockPhase,
      +
      73  uint8_t clockPolarity
      +
      74  )
      +
      75 {
      +
      76  //Disable USCI Module
      +
      77  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCSWRST;
      +
      78 
      +
      79  //Reset OFS_UCBxCTL0 register
      +
      80  HWREG8(baseAddress + OFS_UCBxCTL0) &= ~(UCMSB +
      +
      81  UC7BIT +
      +
      82  UCMST +
      +
      83  UCCKPL +
      +
      84  UCCKPH +
      +
      85  UCMODE_3
      +
      86  );
      +
      87 
      +
      88  //Clock polarity, phase select, msbFirst, SYNC, Mode0
      +
      89  HWREG8(baseAddress + OFS_UCBxCTL0) |= ( clockPhase +
      +
      90  clockPolarity +
      +
      91  msbFirst +
      +
      92  UCSYNC +
      +
      93  UCMODE_0
      +
      94  );
      +
      95 
      +
      96  return ( STATUS_SUCCESS) ;
      +
      97 }
      +
      98 
      +
      99 void USCI_B_SPI_changeClockPhasePolarity (uint16_t baseAddress,
      +
      100  uint8_t clockPhase,
      +
      101  uint8_t clockPolarity
      +
      102  )
      +
      103 {
      +
      104 
      +
      105  //Disable the USCI Module
      +
      106  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCSWRST;
      +
      107 
      +
      108  HWREG8(baseAddress + OFS_UCBxCTL0) &= ~(UCCKPH + UCCKPL);
      +
      109 
      +
      110  HWREG8(baseAddress + OFS_UCBxCTL0) |= (
      +
      111  clockPhase +
      +
      112  clockPolarity
      +
      113  );
      +
      114 
      +
      115  //Reset the UCSWRST bit to enable the USCI Module
      +
      116  HWREG8(baseAddress + OFS_UCBxCTL1) &= ~(UCSWRST);
      +
      117 }
      +
      118 
      +
      119 void USCI_B_SPI_transmitData ( uint16_t baseAddress,
      +
      120  uint8_t transmitData
      +
      121  )
      +
      122 {
      +
      123  HWREG8(baseAddress + OFS_UCBxTXBUF) = transmitData;
      +
      124 }
      +
      125 
      +
      126 uint8_t USCI_B_SPI_receiveData (uint16_t baseAddress)
      +
      127 {
      +
      128  return ( HWREG8(baseAddress + OFS_UCBxRXBUF)) ;
      +
      129 }
      +
      130 
      +
      131 void USCI_B_SPI_enableInterrupt (uint16_t baseAddress,
      +
      132  uint8_t mask
      +
      133  )
      +
      134 {
      +
      135  HWREG8(baseAddress + OFS_UCBxIE) |= mask;
      +
      136 }
      +
      137 
      +
      138 void USCI_B_SPI_disableInterrupt (uint16_t baseAddress,
      +
      139  uint8_t mask
      +
      140  )
      +
      141 {
      +
      142  HWREG8(baseAddress + OFS_UCBxIE) &= ~mask;
      +
      143 }
      +
      144 
      +
      145 uint8_t USCI_B_SPI_getInterruptStatus (uint16_t baseAddress,
      +
      146  uint8_t mask
      +
      147  )
      +
      148 {
      +
      149  return ( HWREG8(baseAddress + OFS_UCBxIFG) & mask );
      +
      150 }
      +
      151 
      +
      152 void USCI_B_SPI_clearInterrupt (uint16_t baseAddress,
      +
      153  uint8_t mask
      +
      154  )
      +
      155 {
      +
      156  HWREG8(baseAddress + OFS_UCBxIFG) &= ~mask;
      +
      157 }
      +
      158 
      +
      159 void USCI_B_SPI_enable (uint16_t baseAddress)
      +
      160 {
      +
      161  //Reset the UCSWRST bit to enable the USCI Module
      +
      162  HWREG8(baseAddress + OFS_UCBxCTL1) &= ~(UCSWRST);
      +
      163 }
      +
      164 
      +
      165 void USCI_B_SPI_disable (uint16_t baseAddress)
      +
      166 {
      +
      167  //Set the UCSWRST bit to disable the USCI Module
      +
      168  HWREG8(baseAddress + OFS_UCBxCTL1) |= UCSWRST;
      +
      169 }
      +
      170 
      +
      171 uint32_t USCI_B_SPI_getReceiveBufferAddressForDMA (uint16_t baseAddress)
      +
      172 {
      +
      173  return ( baseAddress + OFS_UCBxRXBUF );
      +
      174 }
      +
      175 
      +
      176 uint32_t USCI_B_SPI_getTransmitBufferAddressForDMA (uint16_t baseAddress)
      +
      177 {
      +
      178  return ( baseAddress + OFS_UCBxTXBUF );
      +
      179 }
      +
      180 
      +
      181 uint8_t USCI_B_SPI_isBusy (uint16_t baseAddress)
      +
      182 {
      +
      183  //Return the bus busy status.
      +
      184  return (HWREG8(baseAddress + OFS_UCBxSTAT) & UCBUSY);
      +
      185 }
      +
      186 
      +
      187 
      +
      188 #endif
      +
      189 //*****************************************************************************
      +
      190 //
      +
      193 //
      +
      194 //*****************************************************************************
      + +
      #define HWREG8(x)
      Definition: hw_memmap.h:41
      +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      +
      #define STATUS_SUCCESS
      Definition: hw_memmap.h:22
      + +
      +
      + + + + diff --git a/Documentation/html/usci__b__spi_8h.html b/Documentation/html/usci__b__spi_8h.html new file mode 100644 index 0000000..61a0fa7 --- /dev/null +++ b/Documentation/html/usci__b__spi_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_b_spi.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_b_spi.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/usci__b__spi_8h_source.html b/Documentation/html/usci__b__spi_8h_source.html new file mode 100644 index 0000000..d34ae64 --- /dev/null +++ b/Documentation/html/usci__b__spi_8h_source.html @@ -0,0 +1,334 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/usci_b_spi.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      usci_b_spi.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // usci_b_spi.h - Driver for the USCI_B_SPI Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_USCI_B_SPI_H__
      +
      8 #define __MSP430WARE_USCI_B_SPI_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_USCI_Bx__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 #include "inc/hw_memmap.h"
      +
      26 //*****************************************************************************
      +
      27 //
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 typedef struct USCI_B_SPI_initMasterParam {
      +
      36  uint8_t selectClockSource;
      +
      38  uint32_t clockSourceFrequency;
      +
      40  uint32_t desiredSpiClock;
      +
      45  uint8_t msbFirst;
      +
      50  uint8_t clockPhase;
      +
      54  uint8_t clockPolarity;
      +
      55 } USCI_B_SPI_initMasterParam;
      +
      56 
      +
      57 //*****************************************************************************
      +
      58 //
      +
      61 //
      +
      62 //*****************************************************************************
      +
      63 typedef struct USCI_B_SPI_changeMasterClockParam {
      +
      65  uint32_t clockSourceFrequency;
      +
      67  uint32_t desiredSpiClock;
      +
      68 } USCI_B_SPI_changeMasterClockParam;
      +
      69 
      +
      70 
      +
      71 //*****************************************************************************
      +
      72 //
      +
      73 // The following are values that can be passed to the clockPhase parameter for
      +
      74 // functions: USCI_B_SPI_initSlave(), and
      +
      75 // USCI_B_SPI_changeClockPhasePolarity(); the param parameter for functions:
      +
      76 // USCI_B_SPI_initMaster().
      +
      77 //
      +
      78 //*****************************************************************************
      +
      79 #define USCI_B_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
      +
      80 #define USCI_B_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
      +
      81 
      +
      82 //*****************************************************************************
      +
      83 //
      +
      84 // The following are values that can be passed to the msbFirst parameter for
      +
      85 // functions: USCI_B_SPI_initSlave(); the param parameter for functions:
      +
      86 // USCI_B_SPI_initMaster().
      +
      87 //
      +
      88 //*****************************************************************************
      +
      89 #define USCI_B_SPI_MSB_FIRST UCMSB
      +
      90 #define USCI_B_SPI_LSB_FIRST 0x00
      +
      91 
      +
      92 //*****************************************************************************
      +
      93 //
      +
      94 // The following are values that can be passed to the param parameter for
      +
      95 // functions: USCI_B_SPI_initMaster(); the clockPolarity parameter for
      +
      96 // functions: USCI_B_SPI_initSlave(), and
      +
      97 // USCI_B_SPI_changeClockPhasePolarity().
      +
      98 //
      +
      99 //*****************************************************************************
      +
      100 #define USCI_B_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
      +
      101 #define USCI_B_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
      +
      102 
      +
      103 //*****************************************************************************
      +
      104 //
      +
      105 // The following are values that can be passed to the param parameter for
      +
      106 // functions: USCI_B_SPI_initMaster().
      +
      107 //
      +
      108 //*****************************************************************************
      +
      109 #define USCI_B_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
      +
      110 #define USCI_B_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
      +
      111 
      +
      112 //*****************************************************************************
      +
      113 //
      +
      114 // The following are values that can be passed to the mask parameter for
      +
      115 // functions: USCI_B_SPI_enableInterrupt(), USCI_B_SPI_disableInterrupt(),
      +
      116 // USCI_B_SPI_getInterruptStatus(), and USCI_B_SPI_clearInterrupt() as well as
      +
      117 // returned by the USCI_B_SPI_getInterruptStatus() function.
      +
      118 //
      +
      119 //*****************************************************************************
      +
      120 #define USCI_B_SPI_TRANSMIT_INTERRUPT UCTXIE
      +
      121 #define USCI_B_SPI_RECEIVE_INTERRUPT UCRXIE
      +
      122 
      +
      123 //*****************************************************************************
      +
      124 //
      +
      125 // The following are values that can be passed toThe following are values that
      +
      126 // can be returned by the USCI_B_SPI_isBusy() function.
      +
      127 //
      +
      128 //*****************************************************************************
      +
      129 #define USCI_B_SPI_BUSY UCBUSY
      +
      130 #define USCI_B_SPI_NOT_BUSY 0x00
      +
      131 
      +
      132 //*****************************************************************************
      +
      133 //
      +
      134 // Prototypes for the APIs.
      +
      135 //
      +
      136 //*****************************************************************************
      +
      137 
      +
      138 //*****************************************************************************
      +
      139 //
      +
      153 //
      +
      154 //*****************************************************************************
      +
      155 extern bool USCI_B_SPI_initMaster(uint16_t baseAddress,
      +
      156  USCI_B_SPI_initMasterParam *param);
      +
      157 
      +
      158 //*****************************************************************************
      +
      159 //
      +
      169 //
      +
      170 //*****************************************************************************
      +
      171 extern void USCI_B_SPI_changeMasterClock(uint16_t baseAddress,
      +
      172  USCI_B_SPI_changeMasterClockParam *param);
      +
      173 
      +
      174 //*****************************************************************************
      +
      175 //
      +
      203 //
      +
      204 //*****************************************************************************
      +
      205 extern bool USCI_B_SPI_initSlave(uint16_t baseAddress,
      +
      206  uint8_t msbFirst,
      +
      207  uint8_t clockPhase,
      +
      208  uint8_t clockPolarity);
      +
      209 
      +
      210 //*****************************************************************************
      +
      211 //
      +
      229 //
      +
      230 //*****************************************************************************
      +
      231 extern void USCI_B_SPI_changeClockPhasePolarity(uint16_t baseAddress,
      +
      232  uint8_t clockPhase,
      +
      233  uint8_t clockPolarity);
      +
      234 
      +
      235 //*****************************************************************************
      +
      236 //
      +
      246 //
      +
      247 //*****************************************************************************
      +
      248 extern void USCI_B_SPI_transmitData(uint16_t baseAddress,
      +
      249  uint8_t transmitData);
      +
      250 
      +
      251 //*****************************************************************************
      +
      252 //
      +
      261 //
      +
      262 //*****************************************************************************
      +
      263 extern uint8_t USCI_B_SPI_receiveData(uint16_t baseAddress);
      +
      264 
      +
      265 //*****************************************************************************
      +
      266 //
      +
      282 //
      +
      283 //*****************************************************************************
      +
      284 extern void USCI_B_SPI_enableInterrupt(uint16_t baseAddress,
      +
      285  uint8_t mask);
      +
      286 
      +
      287 //*****************************************************************************
      +
      288 //
      +
      304 //
      +
      305 //*****************************************************************************
      +
      306 extern void USCI_B_SPI_disableInterrupt(uint16_t baseAddress,
      +
      307  uint8_t mask);
      +
      308 
      +
      309 //*****************************************************************************
      +
      310 //
      +
      327 //
      +
      328 //*****************************************************************************
      +
      329 extern uint8_t USCI_B_SPI_getInterruptStatus(uint16_t baseAddress,
      +
      330  uint8_t mask);
      +
      331 
      +
      332 //*****************************************************************************
      +
      333 //
      +
      345 //
      +
      346 //*****************************************************************************
      +
      347 extern void USCI_B_SPI_clearInterrupt(uint16_t baseAddress,
      +
      348  uint8_t mask);
      +
      349 
      +
      350 //*****************************************************************************
      +
      351 //
      +
      361 //
      +
      362 //*****************************************************************************
      +
      363 extern void USCI_B_SPI_enable(uint16_t baseAddress);
      +
      364 
      +
      365 //*****************************************************************************
      +
      366 //
      +
      376 //
      +
      377 //*****************************************************************************
      +
      378 extern void USCI_B_SPI_disable(uint16_t baseAddress);
      +
      379 
      +
      380 //*****************************************************************************
      +
      381 //
      +
      390 //
      +
      391 //*****************************************************************************
      +
      392 extern uint32_t USCI_B_SPI_getReceiveBufferAddressForDMA(uint16_t baseAddress);
      +
      393 
      +
      394 //*****************************************************************************
      +
      395 //
      +
      404 //
      +
      405 //*****************************************************************************
      +
      406 extern uint32_t USCI_B_SPI_getTransmitBufferAddressForDMA(uint16_t baseAddress);
      +
      407 
      +
      408 //*****************************************************************************
      +
      409 //
      +
      423 //
      +
      424 //*****************************************************************************
      +
      425 extern uint8_t USCI_B_SPI_isBusy(uint16_t baseAddress);
      +
      426 
      +
      427 //*****************************************************************************
      +
      428 //
      +
      429 // Mark the end of the C bindings section for C++ compilers.
      +
      430 //
      +
      431 //*****************************************************************************
      +
      432 #ifdef __cplusplus
      +
      433 }
      +
      434 #endif
      +
      435 
      +
      436 #endif
      +
      437 #endif // __MSP430WARE_USCI_B_SPI_H__
      + +
      +
      + + + + diff --git a/Documentation/html/version_8h.html b/Documentation/html/version_8h.html new file mode 100644 index 0000000..8d87406 --- /dev/null +++ b/Documentation/html/version_8h.html @@ -0,0 +1,215 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/inc/version.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      + +
      +
      version.h File Reference
      +
      +
      + +

      Go to the source code of this file.

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

      +Macros

      #define DRIVERLIB_VER_MAJOR   2
       
      #define DRIVERLIB_VER_MINOR   91
       
      #define DRIVERLIB_VER_PATCH   13
       
      #define DRIVERLIB_VER_BUILD   01
       
      #define getVersion()
       
      +

      Macro Definition Documentation

      + +

      ◆ DRIVERLIB_VER_BUILD

      + +
      +
      + + + + +
      #define DRIVERLIB_VER_BUILD   01
      +
      + +

      Definition at line 5 of file version.h.

      + +
      +
      + +

      ◆ DRIVERLIB_VER_MAJOR

      + +
      +
      + + + + +
      #define DRIVERLIB_VER_MAJOR   2
      +
      + +

      Definition at line 2 of file version.h.

      + +
      +
      + +

      ◆ DRIVERLIB_VER_MINOR

      + +
      +
      + + + + +
      #define DRIVERLIB_VER_MINOR   91
      +
      + +

      Definition at line 3 of file version.h.

      + +
      +
      + +

      ◆ DRIVERLIB_VER_PATCH

      + +
      +
      + + + + +
      #define DRIVERLIB_VER_PATCH   13
      +
      + +

      Definition at line 4 of file version.h.

      + +
      +
      + +

      ◆ getVersion

      + +
      +
      + + + + + + + +
      #define getVersion()
      +
      +Value:
      ((uint32_t)DRIVERLIB_VER_MAJOR<<24 | \
      +
      (uint32_t)DRIVERLIB_VER_MINOR<<16 | \
      +
      (uint32_t)DRIVERLIB_VER_PATCH<<8 | \
      + +
      #define DRIVERLIB_VER_BUILD
      Definition: version.h:5
      +
      #define DRIVERLIB_VER_MINOR
      Definition: version.h:3
      +
      #define DRIVERLIB_VER_MAJOR
      Definition: version.h:2
      +
      #define DRIVERLIB_VER_PATCH
      Definition: version.h:4
      +
      +

      Definition at line 8 of file version.h.

      + +
      +
      +
      +
      + + + + diff --git a/Documentation/html/version_8h.js b/Documentation/html/version_8h.js new file mode 100644 index 0000000..4d54ea9 --- /dev/null +++ b/Documentation/html/version_8h.js @@ -0,0 +1,8 @@ +var version_8h = +[ + [ "DRIVERLIB_VER_BUILD", "version_8h.html#a182ff263124bd08c6ade62fbc681789a", null ], + [ "DRIVERLIB_VER_MAJOR", "version_8h.html#a5b358dd777e834ae2515d237d4ddef2c", null ], + [ "DRIVERLIB_VER_MINOR", "version_8h.html#a3209c4c14367996e38b92df68f4d0c33", null ], + [ "DRIVERLIB_VER_PATCH", "version_8h.html#a7ca458fc4f49f0b05e6fcb64a77f93c9", null ], + [ "getVersion", "version_8h.html#ab51e84a6281c4c257274af566f2b3ce6", null ] +]; \ No newline at end of file diff --git a/Documentation/html/version_8h_source.html b/Documentation/html/version_8h_source.html new file mode 100644 index 0000000..e20936c --- /dev/null +++ b/Documentation/html/version_8h_source.html @@ -0,0 +1,116 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/inc/version.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      version.h
      +
      +
      +Go to the documentation of this file.
      1 #ifndef __DRIVERLIB_VERSION__
      +
      2  #define DRIVERLIB_VER_MAJOR 2
      +
      3  #define DRIVERLIB_VER_MINOR 91
      +
      4  #define DRIVERLIB_VER_PATCH 13
      +
      5  #define DRIVERLIB_VER_BUILD 01
      +
      6 #endif
      +
      7 
      +
      8 #define getVersion() ((uint32_t)DRIVERLIB_VER_MAJOR<<24 | \
      +
      9  (uint32_t)DRIVERLIB_VER_MINOR<<16 | \
      +
      10  (uint32_t)DRIVERLIB_VER_PATCH<<8 | \
      +
      11  (uint32_t)DRIVERLIB_VER_BUILD)
      +
      +
      + + + + diff --git a/Documentation/html/wdt__a_8c.html b/Documentation/html/wdt__a_8c.html new file mode 100644 index 0000000..139910f --- /dev/null +++ b/Documentation/html/wdt__a_8c.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/wdt_a.c File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      wdt_a.c File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/wdt__a_8c_source.html b/Documentation/html/wdt__a_8c_source.html new file mode 100644 index 0000000..1ee7462 --- /dev/null +++ b/Documentation/html/wdt__a_8c_source.html @@ -0,0 +1,175 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/wdt_a.c Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      wdt_a.c
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // wdt_a.c - Driver for the wdt_a Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 //*****************************************************************************
      +
      8 //
      +
      11 //
      +
      12 //*****************************************************************************
      +
      13 
      +
      14 #include "inc/hw_memmap.h"
      +
      15 
      +
      16 #ifdef __MSP430_HAS_WDT_A__
      +
      17 #include "wdt_a.h"
      +
      18 
      +
      19 #include <assert.h>
      +
      20 
      +
      21 void WDT_A_hold (uint16_t baseAddress)
      +
      22 {
      +
      23  // Set Hold bit
      +
      24  uint8_t newWDTStatus =
      +
      25  ((HWREG16(baseAddress + OFS_WDTCTL) & 0x00FF) | WDTHOLD);
      +
      26 
      +
      27  HWREG16(baseAddress + OFS_WDTCTL) = WDTPW + newWDTStatus;
      +
      28 }
      +
      29 
      +
      30 void WDT_A_start (uint16_t baseAddress)
      +
      31 {
      +
      32  // Reset Hold bit
      +
      33  uint8_t newWDTStatus =
      +
      34  ((HWREG16(baseAddress + OFS_WDTCTL) & 0x00FF) & ~(WDTHOLD));
      +
      35 
      +
      36  HWREG16(baseAddress + OFS_WDTCTL) = WDTPW + newWDTStatus;
      +
      37 }
      +
      38 
      +
      39 void WDT_A_resetTimer (uint16_t baseAddress)
      +
      40 {
      +
      41  // Set Counter Clear bit
      +
      42  uint8_t newWDTStatus =
      +
      43  ((HWREG16(baseAddress + OFS_WDTCTL) & 0x00FF) | WDTCNTCL);
      +
      44 
      +
      45  HWREG16(baseAddress + OFS_WDTCTL) = WDTPW + newWDTStatus;
      +
      46 }
      +
      47 
      +
      48 void WDT_A_initWatchdogTimer (uint16_t baseAddress,
      +
      49  uint8_t clockSelect,
      +
      50  uint8_t clockDivider)
      +
      51 {
      +
      52  HWREG16(baseAddress + OFS_WDTCTL) =
      +
      53  WDTPW + WDTCNTCL + WDTHOLD + clockSelect + clockDivider;
      +
      54 }
      +
      55 
      +
      56 void WDT_A_initIntervalTimer (uint16_t baseAddress,
      +
      57  uint8_t clockSelect,
      +
      58  uint8_t clockDivider)
      +
      59 {
      +
      60  HWREG16(baseAddress + OFS_WDTCTL) =
      +
      61  WDTPW + WDTCNTCL + WDTHOLD + WDTTMSEL + clockSelect + clockDivider;
      +
      62 }
      +
      63 
      +
      64 
      +
      65 #endif
      +
      66 //*****************************************************************************
      +
      67 //
      +
      70 //
      +
      71 //*****************************************************************************
      + +
      #define HWREG16(x)
      Definition: hw_memmap.h:39
      + +
      +
      + + + + diff --git a/Documentation/html/wdt__a_8h.html b/Documentation/html/wdt__a_8h.html new file mode 100644 index 0000000..ba2ab00 --- /dev/null +++ b/Documentation/html/wdt__a_8h.html @@ -0,0 +1,108 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/wdt_a.h File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      wdt_a.h File Reference
      +
      + +
      + + + + diff --git a/Documentation/html/wdt__a_8h_source.html b/Documentation/html/wdt__a_8h_source.html new file mode 100644 index 0000000..5072903 --- /dev/null +++ b/Documentation/html/wdt__a_8h_source.html @@ -0,0 +1,207 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/wdt_a.h Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      wdt_a.h
      +
      +
      +Go to the documentation of this file.
      1 //*****************************************************************************
      +
      2 //
      +
      3 // wdt_a.h - Driver for the WDT_A Module.
      +
      4 //
      +
      5 //*****************************************************************************
      +
      6 
      +
      7 #ifndef __MSP430WARE_WDT_A_H__
      +
      8 #define __MSP430WARE_WDT_A_H__
      +
      9 
      +
      10 #include "inc/hw_memmap.h"
      +
      11 
      +
      12 #ifdef __MSP430_HAS_WDT_A__
      +
      13 
      +
      14 //*****************************************************************************
      +
      15 //
      +
      16 // If building with a C++ compiler, make all of the definitions in this header
      +
      17 // have a C binding.
      +
      18 //
      +
      19 //*****************************************************************************
      +
      20 #ifdef __cplusplus
      +
      21 extern "C"
      +
      22 {
      +
      23 #endif
      +
      24 
      +
      25 //*****************************************************************************
      +
      26 //
      +
      27 // The following are values that can be passed to the clockSelect parameter for
      +
      28 // functions: WDT_A_initWatchdogTimer(), and WDT_A_initIntervalTimer().
      +
      29 //
      +
      30 //*****************************************************************************
      +
      31 #define WDT_A_CLOCKSOURCE_SMCLK (WDTSSEL_0)
      +
      32 #define WDT_A_CLOCKSOURCE_ACLK (WDTSSEL_1)
      +
      33 #define WDT_A_CLOCKSOURCE_VLOCLK (WDTSSEL_2)
      +
      34 #define WDT_A_CLOCKSOURCE_XCLK (WDTSSEL_3)
      +
      35 
      +
      36 //*****************************************************************************
      +
      37 //
      +
      38 // The following are values that can be passed to the clockDivider parameter
      +
      39 // for functions: WDT_A_initWatchdogTimer(), and WDT_A_initIntervalTimer().
      +
      40 //
      +
      41 //*****************************************************************************
      +
      42 #define WDT_A_CLOCKDIVIDER_2G (WDTIS_0)
      +
      43 #define WDT_A_CLOCKDIVIDER_128M (WDTIS_1)
      +
      44 #define WDT_A_CLOCKDIVIDER_8192K (WDTIS_2)
      +
      45 #define WDT_A_CLOCKDIVIDER_512K (WDTIS_3)
      +
      46 #define WDT_A_CLOCKDIVIDER_32K (WDTIS_4)
      +
      47 #define WDT_A_CLOCKDIVIDER_8192 (WDTIS_5)
      +
      48 #define WDT_A_CLOCKDIVIDER_512 (WDTIS_6)
      +
      49 #define WDT_A_CLOCKDIVIDER_64 (WDTIS_7)
      +
      50 
      +
      51 //*****************************************************************************
      +
      52 //
      +
      53 // Prototypes for the APIs.
      +
      54 //
      +
      55 //*****************************************************************************
      +
      56 
      +
      57 //*****************************************************************************
      +
      58 //
      +
      67 //
      +
      68 //*****************************************************************************
      +
      69 extern void WDT_A_hold(uint16_t baseAddress);
      +
      70 
      +
      71 //*****************************************************************************
      +
      72 //
      +
      81 //
      +
      82 //*****************************************************************************
      +
      83 extern void WDT_A_start(uint16_t baseAddress);
      +
      84 
      +
      85 //*****************************************************************************
      +
      86 //
      +
      94 //
      +
      95 //*****************************************************************************
      +
      96 extern void WDT_A_resetTimer(uint16_t baseAddress);
      +
      97 
      +
      98 //*****************************************************************************
      +
      99 //
      +
      128 //
      +
      129 //*****************************************************************************
      +
      130 extern void WDT_A_initWatchdogTimer(uint16_t baseAddress,
      +
      131  uint8_t clockSelect,
      +
      132  uint8_t clockDivider);
      +
      133 
      +
      134 //*****************************************************************************
      +
      135 //
      +
      163 //
      +
      164 //*****************************************************************************
      +
      165 extern void WDT_A_initIntervalTimer(uint16_t baseAddress,
      +
      166  uint8_t clockSelect,
      +
      167  uint8_t clockDivider);
      +
      168 
      +
      169 //*****************************************************************************
      +
      170 //
      +
      171 // Mark the end of the C bindings section for C++ compilers.
      +
      172 //
      +
      173 //*****************************************************************************
      +
      174 #ifdef __cplusplus
      +
      175 }
      +
      176 #endif
      +
      177 
      +
      178 #endif
      +
      179 #endif // __MSP430WARE_WDT_A_H__
      + +
      +
      + + + + diff --git a/Documentation/html/yacctab_8py.html b/Documentation/html/yacctab_8py.html new file mode 100644 index 0000000..617421d --- /dev/null +++ b/Documentation/html/yacctab_8py.html @@ -0,0 +1,115 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/yacctab.py File Reference + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      + +
      +
      yacctab.py File Reference
      +
      +
      + +

      Go to the source code of this file.

      + + + + +

      +Namespaces

       yacctab
       
      +
      +
      + + + + diff --git a/Documentation/html/yacctab_8py.js b/Documentation/html/yacctab_8py.js new file mode 100644 index 0000000..2740626 --- /dev/null +++ b/Documentation/html/yacctab_8py.js @@ -0,0 +1,11 @@ +var yacctab_8py = +[ + [ "_lr_action", "yacctab_8py.html#a172d79c59087f6221fa6a2b943098445", null ], + [ "_lr_action_items", "yacctab_8py.html#a8e340125812f0ee4cf57241862460bc4", null ], + [ "_lr_goto", "yacctab_8py.html#aec782c53fd28309ecc05b48874eae5f3", null ], + [ "_lr_goto_items", "yacctab_8py.html#ac00c9c7b53c5818012554909634d7f4d", null ], + [ "_lr_method", "yacctab_8py.html#addcb8f83ba985ed0c965cc5b78bdbc4e", null ], + [ "_lr_productions", "yacctab_8py.html#aeb5f3d28d48fa6999ba1e4df9dac64d5", null ], + [ "_lr_signature", "yacctab_8py.html#ab31d05ea09c8d06462324ac45e539d9d", null ], + [ "_tabversion", "yacctab_8py.html#acedf8869d5422e43b52dc50f808b0cb0", null ] +]; \ No newline at end of file diff --git a/Documentation/html/yacctab_8py_source.html b/Documentation/html/yacctab_8py_source.html new file mode 100644 index 0000000..ec26f68 --- /dev/null +++ b/Documentation/html/yacctab_8py_source.html @@ -0,0 +1,405 @@ + + + + + + + +2020-2021 Sunseeker Telemetry and Lighting System: Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx_6xx/yacctab.py Source File + + + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      2020-2021 Sunseeker Telemetry and Lighting System +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      + +
      + +
      +
      +
      yacctab.py
      +
      +
      +Go to the documentation of this file.
      1 
      +
      2 # yacctab.py
      +
      3 # This file is automatically generated. Do not edit.
      +
      4 _tabversion = '3.8'
      +
      5 
      +
      6 _lr_method = 'LALR'
      +
      7 
      +
      8 _lr_signature = '5B6B33CB64AC0388290E0F1204699060'
      +
      9 
      +
      10 _lr_action_items = {'VOID':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[6,6,-67,-78,-77,-64,-60,-61,-35,-31,-65,6,-37,-59,-74,-69,-36,-58,6,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,6,-73,6,-76,-80,6,-39,-63,-90,-269,-89,6,-118,-117,-32,-107,-106,6,6,6,-51,-52,6,-40,-120,6,6,6,6,-100,-96,6,6,6,6,-41,6,-53,6,6,-91,-97,-270,-108,-126,-125,6,6,6,6,6,-42,-44,-47,-43,-45,6,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,6,-180,-179,6,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'LBRACKET':([1,2,3,5,6,9,10,13,14,17,18,19,22,24,26,27,28,29,30,31,33,34,36,38,40,41,43,44,45,46,47,51,52,53,54,56,57,58,60,62,64,65,69,70,71,72,76,80,83,85,86,88,93,97,100,101,114,116,119,120,122,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,157,159,170,171,178,180,181,182,183,184,195,201,202,222,225,226,228,232,239,243,266,271,273,274,305,307,308,315,316,319,320,328,329,330,331,334,339,343,344,365,367,369,371,372,373,393,394,396,397,404,406,422,423,434,437,438,445,447,452,],[-271,-67,-78,-77,-64,-60,-61,-65,-271,-59,-74,-69,-58,-62,-183,67,-72,-271,-75,74,-79,-119,-70,-66,-68,-71,-271,-73,-271,-76,-80,-63,-56,-9,-10,-90,-269,-89,-55,67,-107,-106,-28,-127,-129,-27,74,74,168,-54,-57,74,-120,-271,-271,74,74,-256,-130,-128,-260,-248,-263,-267,-264,-261,-246,-247,230,-259,-233,-265,-257,-245,-262,-258,168,268,74,74,-91,-270,-23,-88,-24,-87,-108,-126,-125,-268,-266,-242,-241,-155,-157,74,-145,268,-159,-153,-256,-93,-92,-110,-109,-121,-124,-240,-239,-238,-237,-236,-249,74,74,-148,268,-146,-154,-156,-158,-123,-122,-234,-235,268,-147,436,-251,-250,268,-243,-252,-244,-253,]),'WCHAR_CONST':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,128,128,-51,-40,128,-28,-271,-130,-232,128,-230,128,-229,128,-228,128,128,-227,-231,-271,-228,128,128,128,-270,128,128,-228,128,128,-189,-192,-190,-186,-187,-191,-193,128,-195,-196,-188,-194,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,-12,128,128,-11,-228,-44,-47,-43,128,-45,128,128,-49,-161,-160,-48,-162,128,-46,128,128,128,-271,-144,-180,-179,128,-177,128,128,-163,128,-176,-164,128,128,128,128,-271,128,128,-11,-175,-178,128,-167,128,-165,128,128,-166,128,128,128,128,-271,128,-171,-170,-168,128,128,128,-172,-169,128,-174,-173,]),'FLOAT_CONST':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,129,129,-51,-40,129,-28,-271,-130,-232,129,-230,129,-229,129,-228,129,129,-227,-231,-271,-228,129,129,129,-270,129,129,-228,129,129,-189,-192,-190,-186,-187,-191,-193,129,-195,-196,-188,-194,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,-12,129,129,-11,-228,-44,-47,-43,129,-45,129,129,-49,-161,-160,-48,-162,129,-46,129,129,129,-271,-144,-180,-179,129,-177,129,129,-163,129,-176,-164,129,129,129,129,-271,129,129,-11,-175,-178,129,-167,129,-165,129,129,-166,129,129,129,129,-271,129,-171,-170,-168,129,129,129,-172,-169,129,-174,-173,]),'MINUS':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,116,119,122,123,124,125,126,127,128,129,130,131,132,133,134,136,138,139,141,142,143,144,145,146,147,148,149,150,151,152,153,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,230,231,234,235,236,237,238,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,305,314,328,329,330,331,334,339,340,341,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,367,370,375,376,378,379,380,381,384,385,386,388,389,390,395,396,397,398,400,403,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,434,436,437,438,440,441,442,444,447,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,132,132,-51,-40,132,-28,-271,-256,-130,-260,-232,-219,-248,-263,-267,-264,-261,-246,132,-230,-247,-221,-200,132,-229,132,-259,-228,-233,132,132,-265,-227,-257,-245,248,-262,-258,-231,-271,-228,132,132,132,-270,132,132,-228,132,132,-189,-192,-190,-186,-187,-191,-193,132,-195,-196,-188,-194,-268,132,-225,-266,-242,-241,132,132,132,-219,-224,132,-222,-223,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,-12,132,132,-11,-228,-44,-47,-43,132,-45,132,132,-49,-161,-160,-48,-162,132,-46,-256,132,-240,-239,-238,-237,-236,-249,132,132,248,248,248,-205,248,248,248,-204,248,248,-202,-201,248,248,248,248,248,-203,-271,-144,-180,-179,132,-177,132,132,-163,132,-176,-164,132,132,-226,-234,-235,132,132,-220,-271,132,132,-11,-175,-178,132,-167,132,-165,132,132,-166,132,132,132,-250,132,-271,-243,132,-171,-170,-168,-244,132,132,132,-172,-169,132,-174,-173,]),'RPAREN':([1,2,3,5,6,9,10,13,14,17,18,19,22,24,26,27,28,29,30,33,34,36,38,40,41,43,44,45,46,47,51,52,53,54,55,56,58,60,61,62,64,65,68,69,70,71,72,76,80,83,85,86,93,97,100,110,111,112,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,155,157,162,163,164,165,169,170,171,178,180,181,182,183,184,195,201,202,203,204,205,206,222,224,225,226,228,231,232,235,236,238,239,240,241,242,243,244,273,274,279,289,307,308,315,316,319,320,323,324,325,326,327,328,329,330,331,333,334,335,337,338,339,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,371,372,373,383,393,394,395,396,397,402,403,415,417,420,421,422,423,425,434,438,440,443,445,447,448,449,452,453,],[-271,-67,-78,-77,-64,-60,-61,-65,-271,-59,-74,-69,-58,-62,-183,-116,-72,-271,-75,-79,-119,-70,-66,-68,-71,-271,-73,-271,-76,-80,-63,-56,-9,-10,93,-90,-89,-55,-118,-117,-107,-106,-271,-28,-127,-129,-27,-150,-271,-152,-54,-57,-120,-271,-271,201,-15,202,-133,-271,-16,-256,-131,-137,-130,-128,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,-198,-262,-258,-184,-151,-21,-22,273,274,-271,-150,-271,-91,-270,-23,-88,-24,-87,-108,-126,-125,-136,-1,-2,-135,-268,-225,-266,-242,-241,334,-155,-219,-224,-222,-157,339,341,-181,-271,-223,-159,-153,373,-14,-93,-92,-110,-109,-121,-124,-138,-132,-134,-185,395,-240,-239,-238,-237,-254,-236,397,400,401,-249,-149,-271,-150,-206,-218,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,-217,-212,-214,-215,-203,-154,-156,-158,-13,-123,-122,-226,-234,-235,-182,-220,429,431,433,-255,434,-251,-199,-250,-243,-271,450,-252,-244,-271,454,-253,457,]),'LONG':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[19,19,-67,-78,-77,-64,-60,-61,-35,-31,-65,19,-37,-59,-74,-69,-36,-58,19,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,19,-73,19,-76,-80,19,-39,-63,-90,-269,-89,19,-118,-117,-32,-107,-106,19,19,19,-51,-52,19,-40,-120,19,19,19,19,-100,-96,19,19,19,19,-41,19,-53,19,19,-91,-97,-270,-108,-126,-125,19,19,19,19,19,-42,-44,-47,-43,-45,19,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,19,-180,-179,19,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'PLUS':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,116,119,122,123,124,125,126,127,128,129,130,131,132,133,134,136,138,139,141,142,143,144,145,146,147,148,149,150,151,152,153,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,230,231,234,235,236,237,238,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,305,314,328,329,330,331,334,339,340,341,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,367,370,375,376,378,379,380,381,384,385,386,388,389,390,395,396,397,398,400,403,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,434,436,437,438,440,441,442,444,447,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,139,139,-51,-40,139,-28,-271,-256,-130,-260,-232,-219,-248,-263,-267,-264,-261,-246,139,-230,-247,-221,-200,139,-229,139,-259,-228,-233,139,139,-265,-227,-257,-245,252,-262,-258,-231,-271,-228,139,139,139,-270,139,139,-228,139,139,-189,-192,-190,-186,-187,-191,-193,139,-195,-196,-188,-194,-268,139,-225,-266,-242,-241,139,139,139,-219,-224,139,-222,-223,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,-12,139,139,-11,-228,-44,-47,-43,139,-45,139,139,-49,-161,-160,-48,-162,139,-46,-256,139,-240,-239,-238,-237,-236,-249,139,139,252,252,252,-205,252,252,252,-204,252,252,-202,-201,252,252,252,252,252,-203,-271,-144,-180,-179,139,-177,139,139,-163,139,-176,-164,139,139,-226,-234,-235,139,139,-220,-271,139,139,-11,-175,-178,139,-167,139,-165,139,139,-166,139,139,139,-250,139,-271,-243,139,-171,-170,-168,-244,139,139,139,-172,-169,139,-174,-173,]),'ELLIPSIS':([208,],[324,]),'GT':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,253,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,253,-207,-205,-209,253,-208,-204,-211,253,-202,-201,-210,253,253,253,253,-203,-226,-234,-235,-220,-250,-243,-244,]),'GOTO':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,282,-270,-44,-47,-43,-45,282,-49,-161,-160,-48,-162,282,-46,-180,-179,-177,282,-163,-176,-164,282,-175,-178,-167,282,-165,282,-166,282,282,-171,-170,-168,282,282,-172,-169,282,-174,-173,]),'ENUM':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[25,25,-67,-78,-77,-64,-60,-61,-35,-31,-65,25,-37,-59,-74,-69,-36,-58,25,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,25,-73,25,-76,-80,25,-39,-63,-90,-269,-89,25,-118,-117,-32,-107,-106,25,25,25,-51,-52,25,-40,-120,25,25,25,25,-100,-96,25,25,25,25,-41,25,-53,25,25,-91,-97,-270,-108,-126,-125,25,25,25,25,25,-42,-44,-47,-43,-45,25,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,25,-180,-179,25,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'PERIOD':([57,116,122,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,159,180,222,225,226,228,266,271,305,328,329,330,331,334,339,365,367,369,396,397,404,406,422,423,434,437,438,445,447,452,],[-269,-256,-260,-248,-263,-267,-264,-261,-246,-247,229,-259,-233,-265,-257,-245,-262,-258,267,-270,-268,-266,-242,-241,-145,267,-256,-240,-239,-238,-237,-236,-249,-148,267,-146,-234,-235,267,-147,435,-251,-250,267,-243,-252,-244,-253,]),'GE':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,257,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,257,-207,-205,-209,257,-208,-204,-211,257,-202,-201,-210,257,257,257,257,-203,-226,-234,-235,-220,-250,-243,-244,]),'INT_CONST_DEC':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,149,149,-51,-40,149,-28,-271,-130,-232,149,-230,149,-229,149,-228,149,149,-227,-231,-271,-228,149,149,149,-270,149,149,-228,149,149,-189,-192,-190,-186,-187,-191,-193,149,-195,-196,-188,-194,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,-12,149,149,-11,-228,-44,-47,-43,149,-45,149,149,-49,-161,-160,-48,-162,149,-46,149,149,149,-271,-144,-180,-179,149,-177,149,149,-163,149,-176,-164,149,149,149,149,-271,149,149,-11,-175,-178,149,-167,149,-165,149,149,-166,149,149,149,149,-271,149,-171,-170,-168,149,149,149,-172,-169,149,-174,-173,]),'ARROW':([116,122,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,225,226,228,305,328,329,330,331,334,339,396,397,434,438,447,],[-256,-260,-248,-263,-267,-264,-261,-246,-247,227,-259,-233,-265,-257,-245,-262,-258,-270,-268,-266,-242,-241,-256,-240,-239,-238,-237,-236,-249,-234,-235,-250,-243,-244,]),'HEX_FLOAT_CONST':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,152,152,-51,-40,152,-28,-271,-130,-232,152,-230,152,-229,152,-228,152,152,-227,-231,-271,-228,152,152,152,-270,152,152,-228,152,152,-189,-192,-190,-186,-187,-191,-193,152,-195,-196,-188,-194,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,-12,152,152,-11,-228,-44,-47,-43,152,-45,152,152,-49,-161,-160,-48,-162,152,-46,152,152,152,-271,-144,-180,-179,152,-177,152,152,-163,152,-176,-164,152,152,152,152,-271,152,152,-11,-175,-178,152,-167,152,-165,152,152,-166,152,152,152,152,-271,152,-171,-170,-168,152,152,152,-172,-169,152,-174,-173,]),'DOUBLE':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[41,41,-67,-78,-77,-64,-60,-61,-35,-31,-65,41,-37,-59,-74,-69,-36,-58,41,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,41,-73,41,-76,-80,41,-39,-63,-90,-269,-89,41,-118,-117,-32,-107,-106,41,41,41,-51,-52,41,-40,-120,41,41,41,41,-100,-96,41,41,41,41,-41,41,-53,41,41,-91,-97,-270,-108,-126,-125,41,41,41,41,41,-42,-44,-47,-43,-45,41,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,41,-180,-179,41,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'MINUSEQUAL':([116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,395,396,397,403,434,438,447,],[-256,-260,211,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-226,-234,-235,-220,-250,-243,-244,]),'INT_CONST_OCT':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,153,153,-51,-40,153,-28,-271,-130,-232,153,-230,153,-229,153,-228,153,153,-227,-231,-271,-228,153,153,153,-270,153,153,-228,153,153,-189,-192,-190,-186,-187,-191,-193,153,-195,-196,-188,-194,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,-12,153,153,-11,-228,-44,-47,-43,153,-45,153,153,-49,-161,-160,-48,-162,153,-46,153,153,153,-271,-144,-180,-179,153,-177,153,153,-163,153,-176,-164,153,153,153,153,-271,153,153,-11,-175,-178,153,-167,153,-165,153,153,-166,153,153,153,153,-271,153,-171,-170,-168,153,153,153,-172,-169,153,-174,-173,]),'TIMESEQUAL':([116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,395,396,397,403,434,438,447,],[-256,-260,220,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-226,-234,-235,-220,-250,-243,-244,]),'OR':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,262,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,262,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,262,-212,-214,-215,-203,-226,-234,-235,-220,-250,-243,-244,]),'SHORT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[2,2,-67,-78,-77,-64,-60,-61,-35,-31,-65,2,-37,-59,-74,-69,-36,-58,2,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,2,-73,2,-76,-80,2,-39,-63,-90,-269,-89,2,-118,-117,-32,-107,-106,2,2,2,-51,-52,2,-40,-120,2,2,2,2,-100,-96,2,2,2,2,-41,2,-53,2,2,-91,-97,-270,-108,-126,-125,2,2,2,2,2,-42,-44,-47,-43,-45,2,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,2,-180,-179,2,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'RETURN':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,285,-270,-44,-47,-43,-45,285,-49,-161,-160,-48,-162,285,-46,-180,-179,-177,285,-163,-176,-164,285,-175,-178,-167,285,-165,285,-166,285,285,-171,-170,-168,285,285,-172,-169,285,-174,-173,]),'RSHIFTEQUAL':([116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,395,396,397,403,434,438,447,],[-256,-260,221,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-226,-234,-235,-220,-250,-243,-244,]),'RESTRICT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,29,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,67,68,69,71,80,82,84,89,91,92,93,94,95,96,97,98,99,100,108,109,119,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[33,33,-67,-78,-77,-64,-60,-61,-35,-31,-65,33,-37,-59,-74,-69,-36,-58,33,-62,-183,-116,-72,33,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,33,-73,33,-76,-80,33,-39,-63,-90,-269,-89,33,-118,-117,-32,-107,-106,33,33,33,-129,33,33,-51,-52,33,-40,-120,33,33,33,33,-100,-96,33,33,33,-130,33,33,33,-41,33,-53,33,33,-91,-97,-270,-108,-126,-125,33,33,33,33,33,-42,-44,-47,-43,-45,33,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,33,-180,-179,33,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'STATIC':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,61,62,63,64,65,67,68,71,80,82,84,89,91,92,93,108,119,169,171,173,174,175,178,180,195,201,202,208,276,280,281,284,286,293,295,296,297,298,300,303,307,308,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[9,9,-67,-78,-77,-64,-60,-61,-35,-31,-65,9,-37,-59,-74,-69,-36,-58,9,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,9,-73,9,-76,-80,9,-39,-63,-90,-269,-89,-118,-117,-32,-107,-106,109,9,-129,9,9,-51,-52,9,-40,-120,199,-130,9,9,-41,9,-53,-91,-270,-108,-126,-125,9,-42,-44,-47,-43,-45,9,-49,-161,-160,-48,-162,-46,-93,-92,-110,-109,-121,-124,9,-180,-179,9,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'SIZEOF':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,131,131,-51,-40,131,-28,-271,-130,-232,131,-230,131,-229,131,-228,131,131,-227,-231,-271,-228,131,131,131,-270,131,131,-228,131,131,-189,-192,-190,-186,-187,-191,-193,131,-195,-196,-188,-194,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,-12,131,131,-11,-228,-44,-47,-43,131,-45,131,131,-49,-161,-160,-48,-162,131,-46,131,131,131,-271,-144,-180,-179,131,-177,131,131,-163,131,-176,-164,131,131,131,131,-271,131,131,-11,-175,-178,131,-167,131,-165,131,131,-166,131,131,131,131,-271,131,-171,-170,-168,131,131,131,-172,-169,131,-174,-173,]),'UNSIGNED':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[18,18,-67,-78,-77,-64,-60,-61,-35,-31,-65,18,-37,-59,-74,-69,-36,-58,18,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,18,-73,18,-76,-80,18,-39,-63,-90,-269,-89,18,-118,-117,-32,-107,-106,18,18,18,-51,-52,18,-40,-120,18,18,18,18,-100,-96,18,18,18,18,-41,18,-53,18,18,-91,-97,-270,-108,-126,-125,18,18,18,18,18,-42,-44,-47,-43,-45,18,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,18,-180,-179,18,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'UNION':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[20,20,-67,-78,-77,-64,-60,-61,-35,-31,-65,20,-37,-59,-74,-69,-36,-58,20,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,20,-73,20,-76,-80,20,-39,-63,-90,-269,-89,20,-118,-117,-32,-107,-106,20,20,20,-51,-52,20,-40,-120,20,20,20,20,-100,-96,20,20,20,20,-41,20,-53,20,20,-91,-97,-270,-108,-126,-125,20,20,20,20,20,-42,-44,-47,-43,-45,20,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,20,-180,-179,20,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'COLON':([2,3,5,6,13,18,19,26,27,28,30,33,34,36,38,40,41,44,46,47,56,58,61,62,64,65,93,97,100,101,116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,155,178,180,181,182,183,184,191,195,201,202,222,224,225,226,228,235,236,238,242,244,290,305,307,308,310,311,315,316,319,320,326,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,382,393,394,395,396,397,402,403,425,434,438,447,],[-67,-78,-77,-64,-65,-74,-69,-183,-116,-72,-75,-79,-119,-70,-66,-68,-71,-73,-76,-80,-90,-89,-118,-117,-107,-106,-120,-271,-271,185,-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,-198,-262,-258,-184,-91,-270,-23,-88,-24,-87,314,-108,-126,-125,-268,-225,-266,-242,-241,-219,-224,-222,-181,-223,380,389,-93,-92,-197,185,-110,-109,-121,-124,-185,-240,-239,-238,-237,-236,-249,-206,-218,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,-217,-212,-214,405,-215,-203,416,-123,-122,-226,-234,-235,-182,-220,-199,-250,-243,-244,]),'$end':([0,8,11,12,15,21,23,32,37,39,48,50,63,84,92,173,180,276,388,],[-271,0,-35,-31,-37,-36,-29,-34,-33,-38,-30,-39,-32,-51,-40,-41,-270,-42,-164,]),'WSTRING_LITERAL':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,125,127,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,222,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,127,127,-51,-40,127,-28,-271,-130,-232,222,-267,127,-230,127,-229,127,-228,127,127,-227,-231,-271,-228,127,127,127,-270,127,127,-228,127,127,-189,-192,-190,-186,-187,-191,-193,127,-195,-196,-188,-194,-268,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,-12,127,127,-11,-228,-44,-47,-43,127,-45,127,127,-49,-161,-160,-48,-162,127,-46,127,127,127,-271,-144,-180,-179,127,-177,127,127,-163,127,-176,-164,127,127,127,127,-271,127,127,-11,-175,-178,127,-167,127,-165,127,127,-166,127,127,127,127,-271,127,-171,-170,-168,127,127,127,-172,-169,127,-174,-173,]),'DIVIDE':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,255,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,255,255,255,255,255,255,255,255,255,255,-202,-201,255,255,255,255,255,-203,-226,-234,-235,-220,-250,-243,-244,]),'FOR':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,287,-270,-44,-47,-43,-45,287,-49,-161,-160,-48,-162,287,-46,-180,-179,-177,287,-163,-176,-164,287,-175,-178,-167,287,-165,287,-166,287,287,-171,-170,-168,287,287,-172,-169,287,-174,-173,]),'PLUSPLUS':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,116,119,122,123,125,126,127,128,129,130,131,132,133,134,138,139,141,142,143,144,145,146,147,148,149,150,152,153,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,228,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,305,314,328,329,330,331,334,339,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,396,397,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,434,436,437,438,440,441,442,444,447,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,141,141,-51,-40,141,-28,-271,-256,-130,-260,-232,-248,-263,-267,-264,-261,-246,141,-230,-247,228,141,-229,141,-259,-228,-233,141,141,-265,-227,-257,-245,-262,-258,-231,-271,-228,141,141,141,-270,141,141,-228,141,141,-189,-192,-190,-186,-187,-191,-193,141,-195,-196,-188,-194,-268,141,-266,-242,-241,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,-12,141,141,-11,-228,-44,-47,-43,141,-45,141,141,-49,-161,-160,-48,-162,141,-46,-256,141,-240,-239,-238,-237,-236,-249,141,141,-271,-144,-180,-179,141,-177,141,141,-163,141,-176,-164,141,141,-234,-235,141,141,-271,141,141,-11,-175,-178,141,-167,141,-165,141,141,-166,141,141,141,-250,141,-271,-243,141,-171,-170,-168,-244,141,141,141,-172,-169,141,-174,-173,]),'EQUALS':([1,2,3,5,6,9,10,13,14,17,18,19,22,24,26,27,28,30,31,33,34,36,38,40,41,43,44,45,46,47,51,52,53,54,56,58,60,61,62,64,65,82,85,86,88,93,106,116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,172,178,180,195,201,202,222,224,225,226,228,235,236,238,244,266,271,305,307,308,315,316,319,320,328,329,330,331,334,339,365,369,393,394,395,396,397,403,406,434,438,447,],[-271,-67,-78,-77,-64,-60,-61,-65,-271,-59,-74,-69,-58,-62,-183,-116,-72,-75,79,-79,-119,-70,-66,-68,-71,-271,-73,-271,-76,-80,-63,-56,-9,-10,-90,-89,-55,-118,-117,-107,-106,166,-54,-57,79,-120,196,-256,-260,213,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,166,-91,-270,-108,-126,-125,-268,-225,-266,-242,-241,-219,-224,-222,-223,-145,370,-256,-93,-92,-110,-109,-121,-124,-240,-239,-238,-237,-236,-249,-148,-146,-123,-122,-226,-234,-235,-220,-147,-250,-243,-244,]),'ELSE':([50,92,180,280,281,284,286,295,298,303,375,376,379,386,388,410,411,414,419,430,441,442,444,455,456,458,459,],[-39,-40,-270,-44,-47,-43,-45,-49,-48,-46,-180,-179,-177,-176,-164,-175,-178,-167,-165,-166,-171,-170,451,-172,-169,-174,-173,]),'ANDEQUAL':([116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,395,396,397,403,434,438,447,],[-256,-260,218,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-226,-234,-235,-220,-250,-243,-244,]),'EQ':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,259,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,259,-207,-205,-209,-213,-208,-204,-211,259,-202,-201,-210,259,-212,259,259,-203,-226,-234,-235,-220,-250,-243,-244,]),'AND':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,116,119,122,123,124,125,126,127,128,129,130,131,132,133,134,136,138,139,141,142,143,144,145,146,147,148,149,150,151,152,153,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,230,231,234,235,236,237,238,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,305,314,328,329,330,331,334,339,340,341,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,367,370,375,376,378,379,380,381,384,385,386,388,389,390,395,396,397,398,400,403,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,434,436,437,438,440,441,442,444,447,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,148,148,-51,-40,148,-28,-271,-256,-130,-260,-232,-219,-248,-263,-267,-264,-261,-246,148,-230,-247,-221,-200,148,-229,148,-259,-228,-233,148,148,-265,-227,-257,-245,260,-262,-258,-231,-271,-228,148,148,148,-270,148,148,-228,148,148,-189,-192,-190,-186,-187,-191,-193,148,-195,-196,-188,-194,-268,148,-225,-266,-242,-241,148,148,148,-219,-224,148,-222,-223,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,-12,148,148,-11,-228,-44,-47,-43,148,-45,148,148,-49,-161,-160,-48,-162,148,-46,-256,148,-240,-239,-238,-237,-236,-249,148,148,-206,260,-207,-205,-209,-213,-208,-204,-211,260,-202,-201,-210,260,-212,-214,260,-203,-271,-144,-180,-179,148,-177,148,148,-163,148,-176,-164,148,148,-226,-234,-235,148,148,-220,-271,148,148,-11,-175,-178,148,-167,148,-165,148,148,-166,148,148,148,-250,148,-271,-243,148,-171,-170,-168,-244,148,148,148,-172,-169,148,-174,-173,]),'TYPEID':([0,1,2,3,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,69,70,71,72,76,80,82,84,89,91,92,93,94,95,96,97,98,99,100,119,120,145,169,170,171,173,174,175,176,177,178,179,180,195,201,202,208,223,227,229,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[26,26,-67,-78,-77,-64,56,-60,-61,-35,-31,-65,26,-37,61,-59,-74,-69,-95,-36,-58,26,-62,64,-183,-116,-72,-271,-75,-34,-79,-119,-94,-70,-33,-66,-38,-68,-71,26,-73,26,-76,-80,26,-39,-63,-90,-269,-89,26,-118,-117,-32,-107,-106,26,-28,-127,-129,-27,61,26,26,-51,-52,26,-40,-120,26,26,26,26,-100,-96,26,-130,-128,26,26,61,26,-41,26,-53,26,26,-91,-97,-270,-108,-126,-125,26,26,328,330,26,26,26,-42,-44,-47,-43,-45,26,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,26,-180,-179,26,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'LBRACE':([7,20,25,27,34,35,49,50,56,57,58,61,62,64,65,79,82,84,87,89,90,91,92,93,159,166,167,174,175,180,201,202,264,270,272,280,281,284,286,293,295,296,297,298,300,302,303,319,320,341,367,370,375,376,379,380,384,386,388,389,393,394,395,400,401,404,407,408,410,411,414,416,419,429,430,431,433,437,441,442,444,451,454,455,456,457,458,459,],[57,-95,57,-116,-119,-94,-271,-39,57,-269,57,-118,-117,57,57,57,-271,-51,-7,-52,57,-8,-40,-120,-271,57,57,57,-53,-270,-126,-125,-12,57,-11,-44,-47,-43,-45,57,-49,-161,-160,-48,-162,57,-46,-121,-124,57,-271,-144,-180,-179,-177,57,-163,-176,-164,57,-123,-122,57,57,57,-271,57,-11,-175,-178,-167,57,-165,57,-166,57,57,-271,-171,-170,-168,57,57,-172,-169,57,-174,-173,]),'PPHASH':([0,11,12,15,21,23,32,37,39,50,63,84,92,173,180,276,388,],[39,-35,-31,-37,-36,39,-34,-33,-38,-39,-32,-51,-40,-41,-270,-42,-164,]),'INT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[40,40,-67,-78,-77,-64,-60,-61,-35,-31,-65,40,-37,-59,-74,-69,-36,-58,40,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,40,-73,40,-76,-80,40,-39,-63,-90,-269,-89,40,-118,-117,-32,-107,-106,40,40,40,-51,-52,40,-40,-120,40,40,40,40,-100,-96,40,40,40,40,-41,40,-53,40,40,-91,-97,-270,-108,-126,-125,40,40,40,40,40,-42,-44,-47,-43,-45,40,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,40,-180,-179,40,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'SIGNED':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[44,44,-67,-78,-77,-64,-60,-61,-35,-31,-65,44,-37,-59,-74,-69,-36,-58,44,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,44,-73,44,-76,-80,44,-39,-63,-90,-269,-89,44,-118,-117,-32,-107,-106,44,44,44,-51,-52,44,-40,-120,44,44,44,44,-100,-96,44,44,44,44,-41,44,-53,44,44,-91,-97,-270,-108,-126,-125,44,44,44,44,44,-42,-44,-47,-43,-45,44,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,44,-180,-179,44,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'CONTINUE':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,288,-270,-44,-47,-43,-45,288,-49,-161,-160,-48,-162,288,-46,-180,-179,-177,288,-163,-176,-164,288,-175,-178,-167,288,-165,288,-166,288,288,-171,-170,-168,288,288,-172,-169,288,-174,-173,]),'NOT':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,156,156,-51,-40,156,-28,-271,-130,-232,156,-230,156,-229,156,-228,156,156,-227,-231,-271,-228,156,156,156,-270,156,156,-228,156,156,-189,-192,-190,-186,-187,-191,-193,156,-195,-196,-188,-194,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,-12,156,156,-11,-228,-44,-47,-43,156,-45,156,156,-49,-161,-160,-48,-162,156,-46,156,156,156,-271,-144,-180,-179,156,-177,156,156,-163,156,-176,-164,156,156,156,156,-271,156,156,-11,-175,-178,156,-167,156,-165,156,156,-166,156,156,156,156,-271,156,-171,-170,-168,156,156,156,-172,-169,156,-174,-173,]),'OREQUAL':([116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,395,396,397,403,434,438,447,],[-256,-260,219,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-226,-234,-235,-220,-250,-243,-244,]),'MOD':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,263,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,263,263,263,263,263,263,263,263,263,263,-202,-201,263,263,263,263,263,-203,-226,-234,-235,-220,-250,-243,-244,]),'RSHIFT':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,245,-207,-205,245,245,245,-204,245,245,-202,-201,245,245,245,245,245,-203,-226,-234,-235,-220,-250,-243,-244,]),'DEFAULT':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,290,-270,-44,-47,-43,-45,290,-49,-161,-160,-48,-162,290,-46,-180,-179,-177,290,-163,-176,-164,290,-175,-178,-167,290,-165,290,-166,290,290,-171,-170,-168,290,290,-172,-169,290,-174,-173,]),'CHAR':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[38,38,-67,-78,-77,-64,-60,-61,-35,-31,-65,38,-37,-59,-74,-69,-36,-58,38,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,38,-73,38,-76,-80,38,-39,-63,-90,-269,-89,38,-118,-117,-32,-107,-106,38,38,38,-51,-52,38,-40,-120,38,38,38,38,-100,-96,38,38,38,38,-41,38,-53,38,38,-91,-97,-270,-108,-126,-125,38,38,38,38,38,-42,-44,-47,-43,-45,38,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,38,-180,-179,38,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'WHILE':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,387,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,291,-270,-44,-47,-43,-45,291,-49,-161,-160,-48,-162,291,-46,-180,-179,-177,291,-163,-176,418,-164,291,-175,-178,-167,291,-165,291,-166,291,291,-171,-170,-168,291,291,-172,-169,291,-174,-173,]),'DIVEQUAL':([116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,395,396,397,403,434,438,447,],[-256,-260,210,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-226,-234,-235,-220,-250,-243,-244,]),'EXTERN':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,61,62,63,64,65,68,80,82,84,89,91,92,93,169,171,173,174,175,178,180,195,201,202,208,276,280,281,284,286,293,295,296,297,298,300,303,307,308,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[10,10,-67,-78,-77,-64,-60,-61,-35,-31,-65,10,-37,-59,-74,-69,-36,-58,10,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,10,-73,10,-76,-80,10,-39,-63,-90,-269,-89,-118,-117,-32,-107,-106,10,10,10,-51,-52,10,-40,-120,10,10,-41,10,-53,-91,-270,-108,-126,-125,10,-42,-44,-47,-43,-45,10,-49,-161,-160,-48,-162,-46,-93,-92,-110,-109,-121,-124,10,-180,-179,10,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'CASE':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,292,-270,-44,-47,-43,-45,292,-49,-161,-160,-48,-162,292,-46,-180,-179,-177,292,-163,-176,-164,292,-175,-178,-167,292,-165,292,-166,292,292,-171,-170,-168,292,292,-172,-169,292,-174,-173,]),'LAND':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,258,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,258,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,-217,-212,-214,-215,-203,-226,-234,-235,-220,-250,-243,-244,]),'REGISTER':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,61,62,63,64,65,68,80,82,84,89,91,92,93,169,171,173,174,175,178,180,195,201,202,208,276,280,281,284,286,293,295,296,297,298,300,303,307,308,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[17,17,-67,-78,-77,-64,-60,-61,-35,-31,-65,17,-37,-59,-74,-69,-36,-58,17,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,17,-73,17,-76,-80,17,-39,-63,-90,-269,-89,-118,-117,-32,-107,-106,17,17,17,-51,-52,17,-40,-120,17,17,-41,17,-53,-91,-270,-108,-126,-125,17,-42,-44,-47,-43,-45,17,-49,-161,-160,-48,-162,-46,-93,-92,-110,-109,-121,-124,17,-180,-179,17,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'MODEQUAL':([116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,395,396,397,403,434,438,447,],[-256,-260,212,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-226,-234,-235,-220,-250,-243,-244,]),'NE':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,250,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,250,-207,-205,-209,-213,-208,-204,-211,250,-202,-201,-210,250,-212,250,250,-203,-226,-234,-235,-220,-250,-243,-244,]),'SWITCH':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,294,-270,-44,-47,-43,-45,294,-49,-161,-160,-48,-162,294,-46,-180,-179,-177,294,-163,-176,-164,294,-175,-178,-167,294,-165,294,-166,294,294,-171,-170,-168,294,294,-172,-169,294,-174,-173,]),'INT_CONST_HEX':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,142,142,-51,-40,142,-28,-271,-130,-232,142,-230,142,-229,142,-228,142,142,-227,-231,-271,-228,142,142,142,-270,142,142,-228,142,142,-189,-192,-190,-186,-187,-191,-193,142,-195,-196,-188,-194,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,-12,142,142,-11,-228,-44,-47,-43,142,-45,142,142,-49,-161,-160,-48,-162,142,-46,142,142,142,-271,-144,-180,-179,142,-177,142,142,-163,142,-176,-164,142,142,142,142,-271,142,142,-11,-175,-178,142,-167,142,-165,142,142,-166,142,142,142,142,-271,142,-171,-170,-168,142,142,142,-172,-169,142,-174,-173,]),'_COMPLEX':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[28,28,-67,-78,-77,-64,-60,-61,-35,-31,-65,28,-37,-59,-74,-69,-36,-58,28,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,28,-73,28,-76,-80,28,-39,-63,-90,-269,-89,28,-118,-117,-32,-107,-106,28,28,28,-51,-52,28,-40,-120,28,28,28,28,-100,-96,28,28,28,28,-41,28,-53,28,28,-91,-97,-270,-108,-126,-125,28,28,28,28,28,-42,-44,-47,-43,-45,28,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,28,-180,-179,28,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'PPPRAGMASTR':([50,],[92,]),'PLUSEQUAL':([116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,395,396,397,403,434,438,447,],[-256,-260,215,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-226,-234,-235,-220,-250,-243,-244,]),'STRUCT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[35,35,-67,-78,-77,-64,-60,-61,-35,-31,-65,35,-37,-59,-74,-69,-36,-58,35,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,35,-73,35,-76,-80,35,-39,-63,-90,-269,-89,35,-118,-117,-32,-107,-106,35,35,35,-51,-52,35,-40,-120,35,35,35,35,-100,-96,35,35,35,35,-41,35,-53,35,35,-91,-97,-270,-108,-126,-125,35,35,35,35,35,-42,-44,-47,-43,-45,35,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,35,-180,-179,35,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'CONDOP':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,261,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,-218,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,-217,-212,-214,-215,-203,-226,-234,-235,-220,-250,-243,-244,]),'BREAK':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,299,-270,-44,-47,-43,-45,299,-49,-161,-160,-48,-162,299,-46,-180,-179,-177,299,-163,-176,-164,299,-175,-178,-167,299,-165,299,-166,299,299,-171,-170,-168,299,299,-172,-169,299,-174,-173,]),'VOLATILE':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,29,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,67,68,69,71,80,82,84,89,91,92,93,94,95,96,97,98,99,100,108,109,119,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[47,47,-67,-78,-77,-64,-60,-61,-35,-31,-65,47,-37,-59,-74,-69,-36,-58,47,-62,-183,-116,-72,47,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,47,-73,47,-76,-80,47,-39,-63,-90,-269,-89,47,-118,-117,-32,-107,-106,47,47,47,-129,47,47,-51,-52,47,-40,-120,47,47,47,47,-100,-96,47,47,47,-130,47,47,47,-41,47,-53,47,47,-91,-97,-270,-108,-126,-125,47,47,47,47,47,-42,-44,-47,-43,-45,47,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,47,-180,-179,47,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'PPPRAGMA':([0,11,12,15,21,23,32,37,39,50,57,63,84,92,173,174,180,276,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[50,-35,-31,-37,-36,50,-34,-33,-38,-39,-269,-32,-51,-40,-41,50,-270,-42,-44,-47,-43,-45,50,-49,-161,-160,-48,-162,50,-46,-180,-179,-177,50,-163,-176,-164,50,-175,-178,-167,50,-165,50,-166,50,50,-171,-170,-168,50,50,-172,-169,50,-174,-173,]),'INLINE':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,61,62,63,64,65,68,80,82,84,89,91,92,93,169,171,173,174,175,178,180,195,201,202,208,276,280,281,284,286,293,295,296,297,298,300,303,307,308,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[51,51,-67,-78,-77,-64,-60,-61,-35,-31,-65,51,-37,-59,-74,-69,-36,-58,51,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,51,-73,51,-76,-80,51,-39,-63,-90,-269,-89,-118,-117,-32,-107,-106,51,51,51,-51,-52,51,-40,-120,51,51,-41,51,-53,-91,-270,-108,-126,-125,51,-42,-44,-47,-43,-45,51,-49,-161,-160,-48,-162,-46,-93,-92,-110,-109,-121,-124,51,-180,-179,51,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'INT_CONST_BIN':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,122,122,-51,-40,122,-28,-271,-130,-232,122,-230,122,-229,122,-228,122,122,-227,-231,-271,-228,122,122,122,-270,122,122,-228,122,122,-189,-192,-190,-186,-187,-191,-193,122,-195,-196,-188,-194,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,122,-12,122,122,-11,-228,-44,-47,-43,122,-45,122,122,-49,-161,-160,-48,-162,122,-46,122,122,122,-271,-144,-180,-179,122,-177,122,122,-163,122,-176,-164,122,122,122,122,-271,122,122,-11,-175,-178,122,-167,122,-165,122,122,-166,122,122,122,122,-271,122,-171,-170,-168,122,122,122,-172,-169,122,-174,-173,]),'DO':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,302,-270,-44,-47,-43,-45,302,-49,-161,-160,-48,-162,302,-46,-180,-179,-177,302,-163,-176,-164,302,-175,-178,-167,302,-165,302,-166,302,302,-171,-170,-168,302,302,-172,-169,302,-174,-173,]),'LNOT':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,123,123,-51,-40,123,-28,-271,-130,-232,123,-230,123,-229,123,-228,123,123,-227,-231,-271,-228,123,123,123,-270,123,123,-228,123,123,-189,-192,-190,-186,-187,-191,-193,123,-195,-196,-188,-194,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,-12,123,123,-11,-228,-44,-47,-43,123,-45,123,123,-49,-161,-160,-48,-162,123,-46,123,123,123,-271,-144,-180,-179,123,-177,123,123,-163,123,-176,-164,123,123,123,123,-271,123,123,-11,-175,-178,123,-167,123,-165,123,123,-166,123,123,123,123,-271,123,-171,-170,-168,123,123,123,-172,-169,123,-174,-173,]),'CONST':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,29,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,67,68,69,71,80,82,84,89,91,92,93,94,95,96,97,98,99,100,108,109,119,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[3,3,-67,-78,-77,-64,-60,-61,-35,-31,-65,3,-37,-59,-74,-69,-36,-58,3,-62,-183,-116,-72,3,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,3,-73,3,-76,-80,3,-39,-63,-90,-269,-89,3,-118,-117,-32,-107,-106,3,3,3,-129,3,3,-51,-52,3,-40,-120,3,3,3,3,-100,-96,3,3,3,-130,3,3,3,-41,3,-53,3,3,-91,-97,-270,-108,-126,-125,3,3,3,3,3,-42,-44,-47,-43,-45,3,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,3,-180,-179,3,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'LOR':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,246,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,-218,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,-217,-212,-214,-215,-203,-226,-234,-235,-220,-250,-243,-244,]),'CHAR_CONST':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,126,126,-51,-40,126,-28,-271,-130,-232,126,-230,126,-229,126,-228,126,126,-227,-231,-271,-228,126,126,126,-270,126,126,-228,126,126,-189,-192,-190,-186,-187,-191,-193,126,-195,-196,-188,-194,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,-12,126,126,-11,-228,-44,-47,-43,126,-45,126,126,-49,-161,-160,-48,-162,126,-46,126,126,126,-271,-144,-180,-179,126,-177,126,126,-163,126,-176,-164,126,126,126,126,-271,126,126,-11,-175,-178,126,-167,126,-165,126,126,-166,126,126,126,126,-271,126,-171,-170,-168,126,126,126,-172,-169,126,-174,-173,]),'LSHIFT':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,247,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,247,-207,-205,247,247,247,-204,247,247,-202,-201,247,247,247,247,247,-203,-226,-234,-235,-220,-250,-243,-244,]),'RBRACE':([50,57,84,92,96,98,99,104,105,106,116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,155,159,160,174,176,177,179,180,192,193,194,222,224,225,226,228,235,236,238,244,265,269,272,280,281,284,286,293,295,296,297,298,300,301,303,304,310,312,313,317,318,326,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,364,367,368,375,376,379,384,386,388,395,396,397,403,409,410,411,414,419,424,425,426,430,434,437,438,441,442,444,447,455,456,458,459,],[-39,-269,-51,-40,180,-100,-96,-111,180,-114,-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,-198,-262,-258,-184,-271,-139,-271,180,180,-97,-270,180,180,-112,-268,-225,-266,-242,-241,-219,-224,-222,-223,180,-20,-19,-44,-47,-43,-45,-6,-49,-161,-160,-48,-162,-5,-46,180,-197,-98,-99,-113,-115,-185,-240,-239,-238,-237,-236,-249,-206,-218,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,-217,-212,-214,-215,-203,-140,180,-142,-180,-179,-177,-163,-176,-164,-226,-234,-235,-220,-141,-175,-178,-167,-165,180,-199,-143,-166,-250,180,-243,-171,-170,-168,-244,-172,-169,-174,-173,]),'_BOOL':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[13,13,-67,-78,-77,-64,-60,-61,-35,-31,-65,13,-37,-59,-74,-69,-36,-58,13,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,13,-73,13,-76,-80,13,-39,-63,-90,-269,-89,13,-118,-117,-32,-107,-106,13,13,13,-51,-52,13,-40,-120,13,13,13,13,-100,-96,13,13,13,13,-41,13,-53,13,13,-91,-97,-270,-108,-126,-125,13,13,13,13,13,-42,-44,-47,-43,-45,13,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,13,-180,-179,13,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'LE':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,249,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,249,-207,-205,-209,249,-208,-204,-211,249,-202,-201,-210,249,249,249,249,-203,-226,-234,-235,-220,-250,-243,-244,]),'SEMI':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,29,30,31,32,33,34,36,37,38,39,40,41,42,43,44,45,46,47,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,69,70,71,72,73,75,76,77,78,81,82,83,84,85,86,88,92,93,94,95,96,97,98,99,100,101,116,119,120,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,155,157,158,160,170,172,173,174,176,177,178,179,180,181,182,183,184,186,187,188,189,190,191,195,201,202,209,222,224,225,226,228,232,235,236,238,239,242,244,273,274,275,276,280,281,283,284,285,286,288,289,293,295,296,297,298,299,300,301,302,303,305,307,308,309,310,312,313,315,316,319,320,326,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,364,371,372,373,374,375,376,377,378,379,380,383,384,386,388,389,391,392,393,394,395,396,397,402,403,409,410,411,412,413,414,416,419,425,427,428,429,430,431,433,434,438,439,441,442,444,447,450,451,454,455,456,457,458,459,],[15,-271,-67,-78,-77,-64,-60,-61,-35,-31,-65,-271,-37,-59,-74,-69,-36,-58,15,-62,-183,-116,-72,-271,-75,-271,-34,-79,-119,-70,-33,-66,-38,-68,-71,84,-271,-73,-271,-76,-80,-39,-63,-56,-9,-10,-90,-269,-89,98,-55,-118,-117,-32,-107,-106,-28,-127,-129,-27,-18,-50,-150,-81,-17,-84,-85,-152,-51,-54,-57,-271,-40,-120,98,98,98,-271,-100,-96,-271,-271,-256,-130,-128,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,-198,-262,-258,-184,-151,-83,-139,-150,-85,-41,-271,98,98,-91,-97,-270,-23,-88,-24,-87,-26,312,-101,313,-25,-103,-108,-126,-125,-82,-268,-225,-266,-242,-241,-155,-219,-224,-222,-157,-181,-223,-159,-153,-86,-42,-44,-47,375,-43,376,-45,379,-14,-271,-49,-161,-160,-48,386,-162,-13,-271,-46,-256,-93,-92,-105,-197,-98,-99,-110,-109,-121,-124,-185,-240,-239,-238,-237,-236,-249,-206,-218,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,-217,-212,-214,-215,-203,-140,-154,-156,-158,410,-180,-179,411,-271,-177,-271,-13,-163,-176,-164,-271,-102,-104,-123,-122,-226,-234,-235,-182,-220,-141,-175,-178,427,-271,-167,-271,-165,-199,-271,440,-271,-166,-271,-271,-250,-243,448,-171,-170,-168,-244,455,-271,-271,-172,-169,-271,-174,-173,]),'LT':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,251,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,251,-207,-205,-209,251,-208,-204,-211,251,-202,-201,-210,251,251,251,251,-203,-226,-234,-235,-220,-250,-243,-244,]),'COMMA':([1,2,3,5,6,9,10,13,14,17,18,19,22,24,26,27,28,29,30,33,34,36,38,40,41,43,44,45,46,47,51,52,53,54,56,58,60,61,62,64,65,69,70,71,72,73,76,77,81,82,83,85,86,93,97,100,104,105,106,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,155,157,158,160,170,172,178,180,181,182,183,184,186,188,191,192,193,194,195,201,202,203,204,205,206,209,222,224,225,226,228,232,235,236,238,239,240,242,243,244,269,273,274,275,289,305,307,308,309,310,315,316,317,318,319,320,323,325,326,328,329,330,331,332,333,334,335,336,339,342,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,368,371,372,373,377,391,392,393,394,395,396,397,402,403,409,415,417,420,421,424,425,426,434,438,443,446,447,],[-271,-67,-78,-77,-64,-60,-61,-65,-271,-59,-74,-69,-58,-62,-183,-116,-72,-271,-75,-79,-119,-70,-66,-68,-71,-271,-73,-271,-76,-80,-63,-56,-9,-10,-90,-89,-55,-118,-117,-107,-106,-28,-127,-129,-27,121,-150,-81,-84,-85,-152,-54,-57,-120,-271,-271,-111,194,-114,-133,-271,207,-256,208,-137,-130,-128,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,-198,-262,-258,-184,-151,-83,-139,-150,-85,-91,-270,-23,-88,-24,-87,311,-101,-103,194,194,-112,-108,-126,-125,-136,-1,-2,-135,-82,-268,-225,-266,-242,-241,-155,-219,-224,-222,-157,340,-181,-271,-223,367,-159,-153,-86,340,-256,-93,-92,-105,-197,-110,-109,-113,-115,-121,-124,-138,-134,-185,-240,-239,-238,-237,340,-254,-236,398,399,-249,-149,-150,-206,-218,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,-217,-212,-214,340,-215,-203,-140,-142,-154,-156,-158,340,-102,-104,-123,-122,-226,-234,-235,-182,-220,-141,340,340,340,-255,437,-199,-143,-250,-243,340,340,-244,]),'OFFSETOF':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,137,137,-51,-40,137,-28,-271,-130,-232,137,-230,137,-229,137,-228,137,137,-227,-231,-271,-228,137,137,137,-270,137,137,-228,137,137,-189,-192,-190,-186,-187,-191,-193,137,-195,-196,-188,-194,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,-12,137,137,-11,-228,-44,-47,-43,137,-45,137,137,-49,-161,-160,-48,-162,137,-46,137,137,137,-271,-144,-180,-179,137,-177,137,137,-163,137,-176,-164,137,137,137,137,-271,137,137,-11,-175,-178,137,-167,137,-165,137,137,-166,137,137,137,137,-271,137,-171,-170,-168,137,137,137,-172,-169,137,-174,-173,]),'TYPEDEF':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,61,62,63,64,65,68,80,82,84,89,91,92,93,169,171,173,174,175,178,180,195,201,202,208,276,280,281,284,286,293,295,296,297,298,300,303,307,308,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[24,24,-67,-78,-77,-64,-60,-61,-35,-31,-65,24,-37,-59,-74,-69,-36,-58,24,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,24,-73,24,-76,-80,24,-39,-63,-90,-269,-89,-118,-117,-32,-107,-106,24,24,24,-51,-52,24,-40,-120,24,24,-41,24,-53,-91,-270,-108,-126,-125,24,-42,-44,-47,-43,-45,24,-49,-161,-160,-48,-162,-46,-93,-92,-110,-109,-121,-124,24,-180,-179,24,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'XOR':([116,122,124,125,126,127,128,129,130,133,134,136,142,144,147,149,150,151,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,395,396,397,403,434,438,447,],[-256,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,-200,-259,-233,-265,-257,-245,254,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-206,254,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,254,-212,-214,254,-203,-226,-234,-235,-220,-250,-243,-244,]),'AUTO':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,61,62,63,64,65,68,80,82,84,89,91,92,93,169,171,173,174,175,178,180,195,201,202,208,276,280,281,284,286,293,295,296,297,298,300,303,307,308,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[22,22,-67,-78,-77,-64,-60,-61,-35,-31,-65,22,-37,-59,-74,-69,-36,-58,22,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,22,-73,22,-76,-80,22,-39,-63,-90,-269,-89,-118,-117,-32,-107,-106,22,22,22,-51,-52,22,-40,-120,22,22,-41,22,-53,-91,-270,-108,-126,-125,22,-42,-44,-47,-43,-45,22,-49,-161,-160,-48,-162,-46,-93,-92,-110,-109,-121,-124,22,-180,-179,22,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'TIMES':([0,1,2,3,4,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,28,29,30,31,32,33,36,37,38,39,40,41,43,44,45,46,47,50,51,52,53,54,56,57,58,60,63,64,65,67,69,70,71,72,74,79,80,84,85,86,88,92,97,100,101,107,108,109,114,116,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,136,138,139,141,142,143,144,145,146,147,148,149,150,151,152,153,156,159,161,166,168,171,173,174,178,180,181,182,183,184,185,195,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,228,230,231,234,235,236,237,238,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,276,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,305,307,308,311,314,315,316,328,329,330,331,334,339,340,341,343,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,367,370,375,376,378,379,380,381,384,385,386,388,389,390,395,396,397,398,400,403,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,434,436,437,438,440,441,442,444,447,448,451,454,455,456,457,458,459,],[29,-271,-67,-78,29,-77,-64,-60,-61,-35,-31,-65,-271,-37,-59,-74,-69,-36,-58,29,-62,-183,-72,-271,-75,29,-34,-79,-70,-33,-66,-38,-68,-71,-271,-73,-271,-76,-80,-39,-63,-56,-9,-10,-90,-269,-89,-55,-32,-107,-106,-271,-28,29,-129,-27,143,161,29,-51,-54,-57,29,-40,-271,-271,29,198,-28,-271,29,-256,-130,29,-260,-232,-219,-248,-263,-267,-264,-261,-246,161,-230,-247,-221,-200,161,-229,161,-259,-228,-233,161,161,-265,-227,-257,-245,256,-262,-258,-231,-271,-228,161,278,29,-41,161,-91,-270,-23,-88,-24,-87,161,-108,161,-228,161,161,-189,-192,-190,-186,-187,-191,-193,161,-195,-196,-188,-194,-268,161,-225,-266,-242,-241,161,161,161,-219,-224,161,-222,29,-223,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,-12,161,161,-11,-42,-228,-44,-47,-43,161,-45,161,161,-49,-161,-160,-48,-162,161,-46,-256,-93,-92,29,161,-110,-109,-240,-239,-238,-237,-236,-249,161,161,29,256,256,256,256,256,256,256,256,256,256,-202,-201,256,256,256,256,256,-203,-271,-144,-180,-179,161,-177,161,161,-163,161,-176,-164,161,161,-226,-234,-235,161,161,-220,-271,161,161,-11,-175,-178,161,-167,161,-165,161,161,-166,161,161,161,-250,161,-271,-243,161,-171,-170,-168,-244,161,161,161,-172,-169,161,-174,-173,]),'LPAREN':([0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,17,18,19,21,22,23,24,26,27,28,29,30,31,32,33,34,36,37,38,39,40,41,43,44,45,46,47,50,51,52,53,54,56,57,58,60,62,63,64,65,67,69,70,71,72,74,76,79,80,83,84,85,86,88,92,93,97,100,101,107,108,109,114,116,119,120,121,122,123,125,126,127,128,129,130,131,132,133,134,137,138,139,141,142,143,144,145,146,147,148,149,150,152,153,156,157,159,161,166,168,170,171,173,174,178,180,181,182,183,184,185,195,196,198,199,200,201,202,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,228,230,231,232,234,237,239,243,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,273,274,276,278,280,281,284,285,286,287,291,292,293,294,295,296,297,298,300,302,303,305,306,307,308,311,314,315,316,319,320,328,329,330,331,334,339,340,341,343,344,367,370,371,372,373,375,376,378,379,380,381,384,385,386,388,389,390,393,394,396,397,398,400,404,405,407,408,410,411,413,414,416,418,419,427,429,430,431,432,433,434,436,437,438,440,441,442,444,447,448,451,454,455,456,457,458,459,],[4,-271,-67,-78,4,-77,-64,-60,-61,-35,-31,-65,-271,-37,4,-59,-74,-69,-36,-58,4,-62,-183,68,-72,-271,-75,80,-34,-79,-119,-70,-33,-66,-38,-68,-71,-271,-73,-271,-76,-80,-39,-63,-56,-9,-10,-90,-269,-89,-55,68,-32,-107,-106,-271,-28,-127,-129,-27,145,80,145,80,169,-51,-54,-57,171,-40,-120,-271,-271,171,145,-28,-271,80,-256,-130,-128,4,-260,-232,-248,-263,-267,-264,-261,-246,223,-230,-247,231,233,234,-229,237,-259,-228,-233,145,237,-265,-227,-257,-245,-262,-258,-231,169,-271,-228,145,145,171,171,-41,145,-91,-270,-23,-88,-24,-87,234,-108,234,-228,145,145,-126,-125,-189,-192,-190,-186,-187,-191,-193,145,-195,-196,-188,-194,-268,145,-266,-242,-241,145,145,-155,145,145,-157,343,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,234,145,234,234,-12,234,145,-11,-159,-153,-42,-228,-44,-47,-43,145,-45,378,381,234,145,385,-49,-161,-160,-48,-162,145,-46,-256,390,-93,-92,4,234,-110,-109,-121,-124,-240,-239,-238,-237,-236,-249,145,234,343,343,-271,-144,-154,-156,-158,-180,-179,145,-177,145,145,-163,145,-176,-164,145,145,-123,-122,-234,-235,145,234,-271,234,145,-11,-175,-178,145,-167,145,432,-165,145,145,-166,145,145,145,-250,145,-271,-243,145,-171,-170,-168,-244,145,145,145,-172,-169,145,-174,-173,]),'MINUSMINUS':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,116,119,122,123,125,126,127,128,129,130,131,132,133,134,138,139,141,142,143,144,145,146,147,148,149,150,152,153,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,222,223,225,226,228,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,305,314,328,329,330,331,334,339,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,396,397,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,434,436,437,438,440,441,442,444,447,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,146,146,-51,-40,146,-28,-271,-256,-130,-260,-232,-248,-263,-267,-264,-261,-246,146,-230,-247,226,146,-229,146,-259,-228,-233,146,146,-265,-227,-257,-245,-262,-258,-231,-271,-228,146,146,146,-270,146,146,-228,146,146,-189,-192,-190,-186,-187,-191,-193,146,-195,-196,-188,-194,-268,146,-266,-242,-241,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,146,-12,146,146,-11,-228,-44,-47,-43,146,-45,146,146,-49,-161,-160,-48,-162,146,-46,-256,146,-240,-239,-238,-237,-236,-249,146,146,-271,-144,-180,-179,146,-177,146,146,-163,146,-176,-164,146,146,-234,-235,146,146,-271,146,146,-11,-175,-178,146,-167,146,-165,146,146,-166,146,146,146,-250,146,-271,-243,146,-171,-170,-168,-244,146,146,146,-172,-169,146,-174,-173,]),'ID':([0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,35,36,37,38,39,40,41,43,44,45,46,47,50,51,52,53,54,56,57,58,60,63,64,65,66,67,68,69,70,71,72,74,76,79,80,84,85,86,88,92,97,100,101,102,103,107,108,109,114,119,120,121,123,131,132,138,139,141,143,145,146,148,156,159,161,166,168,170,171,173,174,178,180,181,182,183,184,185,194,195,196,198,199,200,207,210,211,212,213,214,215,216,217,218,219,220,221,223,227,229,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,267,268,270,272,276,278,280,281,282,284,285,286,292,293,295,296,297,298,300,302,303,307,308,311,314,315,316,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,399,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,435,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[34,-271,-67,-78,34,-77,-64,58,-60,-61,-35,-31,-65,-271,-37,34,-59,-74,-69,-95,-36,-58,34,-62,65,-183,-72,-271,-75,34,-34,-79,-94,-70,-33,-66,-38,-68,-71,-271,-73,-271,-76,-80,-39,-63,-56,-9,-10,-90,-269,-89,-55,-32,-107,-106,106,-271,116,-28,-127,-129,-27,116,34,116,34,-51,-54,-57,34,-40,-271,-271,34,106,106,116,-28,-271,34,-130,-128,34,-232,116,-230,116,-229,116,-228,116,116,-227,-231,-271,-228,116,116,34,34,-41,305,-91,-270,-23,-88,-24,-87,116,106,-108,116,-228,116,116,116,-189,-192,-190,-186,-187,-191,-193,116,-195,-196,-188,-194,116,329,331,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,116,-12,116,116,116,-11,-42,-228,-44,-47,374,-43,116,-45,116,305,-49,-161,-160,-48,-162,305,-46,-93,-92,34,116,-110,-109,116,116,-271,-144,-180,-179,116,-177,305,116,-163,116,-176,-164,305,116,116,116,116,-271,116,116,-11,-175,-178,116,-167,305,-165,116,305,-166,305,116,305,116,116,-271,116,-171,-170,-168,116,305,305,-172,-169,305,-174,-173,]),'IF':([50,57,84,92,174,180,280,281,284,286,293,295,296,297,298,300,302,303,375,376,379,380,384,386,388,389,410,411,414,416,419,429,430,431,433,441,442,444,451,454,455,456,457,458,459,],[-39,-269,-51,-40,306,-270,-44,-47,-43,-45,306,-49,-161,-160,-48,-162,306,-46,-180,-179,-177,306,-163,-176,-164,306,-175,-178,-167,306,-165,306,-166,306,306,-171,-170,-168,306,306,-172,-169,306,-174,-173,]),'STRING_LITERAL':([3,33,47,50,57,67,69,71,72,74,79,84,92,107,108,109,119,123,131,132,133,138,139,141,143,145,146,147,148,156,159,161,166,168,174,180,185,196,198,199,200,210,211,212,213,214,215,216,217,218,219,220,221,223,225,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,268,270,272,278,280,281,284,285,286,292,293,295,296,297,298,300,302,303,314,340,341,367,370,375,376,378,379,380,381,384,385,386,388,389,390,398,400,404,405,407,408,410,411,413,414,416,419,427,429,430,431,432,433,436,437,440,441,442,444,448,451,454,455,456,457,458,459,],[-78,-79,-80,-39,-269,-271,-28,-129,-27,147,147,-51,-40,147,-28,-271,-130,-232,147,-230,225,147,-229,147,-228,147,147,-265,-227,-231,-271,-228,147,147,147,-270,147,147,-228,147,147,-189,-192,-190,-186,-187,-191,-193,147,-195,-196,-188,-194,147,-266,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,147,-12,147,147,-11,-228,-44,-47,-43,147,-45,147,147,-49,-161,-160,-48,-162,147,-46,147,147,147,-271,-144,-180,-179,147,-177,147,147,-163,147,-176,-164,147,147,147,147,-271,147,147,-11,-175,-178,147,-167,147,-165,147,147,-166,147,147,147,147,-271,147,-171,-170,-168,147,147,147,-172,-169,147,-174,-173,]),'FLOAT':([0,1,2,3,5,6,9,10,11,12,13,14,15,17,18,19,21,22,23,24,26,27,28,30,32,33,34,36,37,38,39,40,41,43,44,45,46,47,49,50,51,56,57,58,59,61,62,63,64,65,68,80,82,84,89,91,92,93,94,95,96,97,98,99,100,145,169,171,173,174,175,176,177,178,179,180,195,201,202,208,223,233,234,237,276,280,281,284,286,293,295,296,297,298,300,303,307,308,312,313,315,316,319,320,343,375,376,378,379,384,386,388,393,394,410,411,414,419,430,441,442,444,455,456,458,459,],[36,36,-67,-78,-77,-64,-60,-61,-35,-31,-65,36,-37,-59,-74,-69,-36,-58,36,-62,-183,-116,-72,-75,-34,-79,-119,-70,-33,-66,-38,-68,-71,36,-73,36,-76,-80,36,-39,-63,-90,-269,-89,36,-118,-117,-32,-107,-106,36,36,36,-51,-52,36,-40,-120,36,36,36,36,-100,-96,36,36,36,36,-41,36,-53,36,36,-91,-97,-270,-108,-126,-125,36,36,36,36,36,-42,-44,-47,-43,-45,36,-49,-161,-160,-48,-162,-46,-93,-92,-98,-99,-110,-109,-121,-124,36,-180,-179,36,-177,-163,-176,-164,-123,-122,-175,-178,-167,-165,-166,-171,-170,-168,-172,-169,-174,-173,]),'XOREQUAL':([116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,395,396,397,403,434,438,447,],[-256,-260,214,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-226,-234,-235,-220,-250,-243,-244,]),'LSHIFTEQUAL':([116,122,124,125,126,127,128,129,130,133,134,142,144,147,149,150,152,153,180,222,224,225,226,228,235,236,238,244,305,328,329,330,331,334,339,395,396,397,403,434,438,447,],[-256,-260,216,-248,-263,-267,-264,-261,-246,-247,-221,-259,-233,-265,-257,-245,-262,-258,-270,-268,-225,-266,-242,-241,-219,-224,-222,-223,-256,-240,-239,-238,-237,-236,-249,-226,-234,-235,-220,-250,-243,-244,]),'RBRACKET':([3,33,47,67,71,72,74,107,108,116,119,122,124,125,126,127,128,129,130,133,134,135,136,140,142,143,144,147,149,150,151,152,153,154,155,168,180,197,198,222,224,225,226,228,235,236,238,242,244,277,278,310,321,322,326,328,329,330,331,332,334,339,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,362,363,366,395,396,397,402,403,425,434,438,446,447,],[-78,-79,-80,-271,-129,-27,-271,-271,-28,-256,-130,-260,-219,-248,-263,-267,-264,-261,-246,-247,-221,232,-200,-4,-259,239,-233,-265,-257,-245,-198,-262,-258,-3,-184,-271,-270,319,320,-268,-225,-266,-242,-241,-219,-224,-222,-181,-223,371,372,-197,393,394,-185,-240,-239,-238,-237,396,-236,-249,-206,-218,-207,-205,-209,-213,-208,-204,-211,-216,-202,-201,-210,-217,-212,-214,-215,-203,406,-226,-234,-235,-182,-220,-199,-250,-243,452,-244,]),}
      +
      11 
      +
      12 _lr_action = {}
      +
      13 for _k, _v in _lr_action_items.items():
      +
      14  for _x,_y in zip(_v[0],_v[1]):
      +
      15  if not _x in _lr_action: _lr_action[_x] = {}
      +
      16  _lr_action[_x][_k] = _y
      +
      17 del _lr_action_items
      +
      18 
      +
      19 _lr_goto_items = {'expression_statement':([174,293,302,380,389,416,429,431,433,451,454,457,],[280,280,280,280,280,280,280,280,280,280,280,280,]),'struct_or_union_specifier':([0,1,14,23,43,45,49,59,68,80,82,91,94,95,96,97,100,145,169,171,174,176,177,208,223,233,234,237,293,343,378,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,]),'init_declarator_list':([31,88,],[73,73,]),'init_declarator_list_opt':([31,88,],[75,75,]),'iteration_statement':([174,293,302,380,389,416,429,431,433,451,454,457,],[281,281,281,281,281,281,281,281,281,281,281,281,]),'unified_string_literal':([74,79,107,131,138,141,145,146,166,168,174,185,196,199,200,217,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,268,270,285,292,293,302,314,340,341,378,380,381,385,389,390,398,400,405,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,]),'assignment_expression_opt':([74,107,168,],[135,197,277,]),'brace_open':([7,25,56,58,64,65,79,90,166,167,174,270,293,302,341,380,389,395,400,401,407,416,429,431,433,451,454,457,],[59,66,94,95,102,103,159,174,159,174,174,159,174,174,404,174,174,404,404,404,159,174,174,174,174,174,174,174,]),'enumerator':([66,102,103,194,],[104,104,104,317,]),'type_qualifier_list_opt':([29,67,109,],[70,107,200,]),'expression_opt':([174,293,302,378,380,389,413,416,427,429,431,433,440,448,451,454,457,],[283,283,283,412,283,283,428,283,439,283,283,283,449,453,283,283,283,]),'parameter_list':([68,80,169,171,343,],[117,117,117,117,117,]),'designation':([159,367,404,437,],[264,264,264,264,]),'labeled_statement':([174,293,302,380,389,416,429,431,433,451,454,457,],[284,284,284,284,284,284,284,284,284,284,284,284,]),'abstract_declarator':([31,80,88,101,114,171,243,343,],[81,165,81,189,205,165,205,165,]),'init_declarator':([31,88,121,],[77,77,209,]),'direct_abstract_declarator':([31,76,80,88,101,114,170,171,243,343,344,],[83,157,83,83,83,83,157,83,83,83,157,]),'designator_list':([159,367,404,437,],[271,271,271,271,]),'identifier':([68,74,79,107,131,138,141,145,146,166,168,174,185,196,199,200,207,217,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,267,268,270,285,292,293,302,314,340,341,378,380,381,385,389,390,398,399,400,405,407,413,416,427,429,431,432,433,435,436,440,448,451,454,457,],[118,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,323,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,365,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,423,150,150,150,150,150,150,150,150,150,150,445,150,150,150,150,150,150,]),'offsetof_member_designator':([399,],[422,]),'unary_expression':([74,79,107,131,138,141,145,146,166,168,174,185,196,199,200,217,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,268,270,285,292,293,302,314,340,341,378,380,381,385,389,390,398,400,405,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[124,124,124,224,235,238,124,244,124,124,124,235,235,124,124,124,124,124,124,124,124,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,124,235,235,235,124,124,235,124,124,235,124,235,124,124,124,124,124,124,124,235,235,124,124,124,124,124,124,124,124,124,124,124,124,124,124,]),'abstract_declarator_opt':([114,243,],[203,342,]),'initializer':([79,166,270,407,],[158,275,368,426,]),'struct_declaration_list':([59,94,95,],[96,176,177,]),'pp_directive':([0,23,],[11,11,]),'declaration_list':([49,82,],[91,91,]),'type_specifier':([0,1,14,23,43,45,49,59,68,80,82,91,94,95,96,97,100,145,169,171,174,176,177,208,223,233,234,237,293,343,378,],[14,14,14,14,14,14,14,97,14,14,14,14,97,97,97,97,97,97,14,14,14,97,97,14,97,97,97,97,14,14,14,]),'compound_statement':([90,167,174,293,302,380,389,416,429,431,433,451,454,457,],[173,276,286,286,286,286,286,286,286,286,286,286,286,286,]),'pointer':([0,4,23,31,70,80,88,101,114,121,171,243,311,343,],[16,16,16,76,120,76,170,170,76,16,170,344,16,344,]),'translation_unit':([0,],[23,]),'direct_declarator':([0,4,16,23,31,76,80,88,101,114,121,170,171,311,],[27,27,62,27,27,62,27,27,27,27,27,62,27,27,]),'initializer_list':([159,404,],[269,424,]),'argument_expression_list':([231,],[335,]),'specifier_qualifier_list_opt':([97,100,],[182,184,]),'declarator':([0,4,23,31,80,88,101,114,121,171,311,],[49,55,49,82,55,172,191,206,172,55,191,]),'typedef_name':([0,1,14,23,43,45,49,59,68,80,82,91,94,95,96,97,100,145,169,171,174,176,177,208,223,233,234,237,293,343,378,],[30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,]),'parameter_type_list_opt':([80,169,171,343,],[164,279,164,164,]),'struct_declarator':([101,311,],[188,391,]),'type_qualifier':([0,1,14,23,29,43,45,49,59,67,68,69,80,82,91,94,95,96,97,100,108,109,145,169,171,174,176,177,208,223,233,234,237,293,343,378,],[43,43,43,43,71,43,43,43,100,71,43,119,43,43,43,100,100,100,100,100,119,71,100,43,43,43,100,100,43,100,100,100,100,43,43,43,]),'struct_declarator_list_opt':([101,],[187,]),'assignment_operator':([124,],[217,]),'expression':([145,174,223,230,234,237,261,285,293,302,378,380,381,385,389,390,413,416,427,429,431,432,433,436,440,448,451,454,457,],[240,289,240,332,240,240,361,377,289,289,289,289,415,417,289,420,289,289,289,289,289,443,289,446,289,289,289,289,289,]),'storage_class_specifier':([0,1,14,23,43,45,49,68,80,82,91,169,171,174,208,293,343,378,],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,]),'unified_wstring_literal':([74,79,107,131,138,141,145,146,166,168,174,185,196,199,200,217,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,268,270,285,292,293,302,314,340,341,378,380,381,385,389,390,398,400,405,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,]),'translation_unit_or_empty':([0,],[8,]),'initializer_list_opt':([159,],[265,]),'brace_close':([96,105,176,177,192,193,265,304,367,424,437,],[178,195,307,308,315,316,364,388,409,438,447,]),'declaration_specifiers_opt':([1,14,43,45,],[52,60,85,86,]),'external_declaration':([0,23,],[12,63,]),'type_name':([145,223,233,234,237,],[241,327,336,337,338,]),'block_item_list':([174,],[293,]),'pppragma_directive':([0,23,174,293,302,380,389,416,429,431,433,451,454,457,],[21,21,295,295,295,295,295,295,295,295,295,295,295,295,]),'statement':([174,293,302,380,389,416,429,431,433,451,454,457,],[296,296,387,414,419,430,441,442,444,456,458,459,]),'cast_expression':([74,79,107,138,145,166,168,174,185,196,199,200,217,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,268,270,285,292,293,302,314,340,341,378,380,381,385,389,390,398,400,405,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[136,136,136,236,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,403,136,136,136,136,136,136,136,403,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,]),'struct_declarator_list':([101,],[186,]),'constant_expression':([185,196,268,292,314,],[309,318,366,382,392,]),'parameter_declaration':([68,80,169,171,208,343,],[113,113,113,113,325,113,]),'primary_expression':([74,79,107,131,138,141,145,146,166,168,174,185,196,199,200,217,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,268,270,285,292,293,302,314,340,341,378,380,381,385,389,390,398,400,405,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,]),'declaration':([0,23,49,82,91,174,293,378,],[32,32,89,89,175,297,297,413,]),'jump_statement':([174,293,302,380,389,416,429,431,433,451,454,457,],[298,298,298,298,298,298,298,298,298,298,298,298,]),'enumerator_list':([66,102,103,],[105,192,193,]),'block_item':([174,293,],[300,384,]),'empty':([0,1,14,29,31,43,45,49,67,68,74,80,82,88,97,100,101,107,109,114,159,168,169,171,174,243,293,302,343,367,378,380,389,404,413,416,427,429,431,433,437,440,448,451,454,457,],[48,53,53,72,78,53,53,87,72,111,154,162,87,78,181,181,190,154,72,204,272,154,162,162,301,204,383,383,162,408,383,383,383,408,383,383,383,383,383,383,408,383,383,383,383,383,]),'identifier_list_opt':([68,],[110,]),'constant':([74,79,107,131,138,141,145,146,166,168,174,185,196,199,200,217,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,268,270,285,292,293,302,314,340,341,378,380,381,385,389,390,398,400,405,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,]),'struct_declaration':([59,94,95,96,176,177,],[99,99,99,179,179,179,]),'selection_statement':([174,293,302,380,389,416,429,431,433,451,454,457,],[303,303,303,303,303,303,303,303,303,303,303,303,]),'postfix_expression':([74,79,107,131,138,141,145,146,166,168,174,185,196,199,200,217,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,268,270,285,292,293,302,314,340,341,378,380,381,385,389,390,398,400,405,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,]),'unary_operator':([74,79,107,131,138,141,145,146,166,168,174,185,196,199,200,217,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,268,270,285,292,293,302,314,340,341,378,380,381,385,389,390,398,400,405,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,]),'struct_or_union':([0,1,14,23,43,45,49,59,68,80,82,91,94,95,96,97,100,145,169,171,174,176,177,208,223,233,234,237,293,343,378,],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,]),'block_item_list_opt':([174,],[304,]),'assignment_expression':([74,79,107,145,166,168,174,199,200,217,223,230,231,234,237,261,270,285,293,302,340,378,380,381,385,389,390,398,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[140,160,140,242,160,140,242,321,322,326,242,242,333,242,242,242,160,242,242,242,402,242,242,242,242,242,242,421,160,242,242,242,242,242,242,242,242,242,242,242,242,242,]),'designation_opt':([159,367,404,437,],[270,407,270,407,]),'parameter_type_list':([68,80,169,171,343,],[112,163,163,163,163,]),'type_qualifier_list':([29,67,109,],[69,108,69,]),'designator':([159,271,367,404,437,],[266,369,266,266,266,]),'declaration_specifiers':([0,1,14,23,43,45,49,68,80,82,91,169,171,174,208,293,343,378,],[31,54,54,31,54,54,88,114,114,88,88,114,114,88,114,88,114,88,]),'identifier_list':([68,],[115,]),'declaration_list_opt':([49,82,],[90,167,]),'function_definition':([0,23,],[37,37,]),'binary_expression':([74,79,107,145,166,168,174,185,196,199,200,217,223,230,231,234,237,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,268,270,285,292,293,302,314,340,378,380,381,385,389,390,398,405,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,151,362,363,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,]),'enum_specifier':([0,1,14,23,43,45,49,59,68,80,82,91,94,95,96,97,100,145,169,171,174,176,177,208,223,233,234,237,293,343,378,],[46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,]),'decl_body':([0,23,49,82,91,174,293,378,],[42,42,42,42,42,42,42,42,]),'function_specifier':([0,1,14,23,43,45,49,68,80,82,91,169,171,174,208,293,343,378,],[45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,]),'specifier_qualifier_list':([59,94,95,96,97,100,145,176,177,223,233,234,237,],[101,101,101,101,183,183,243,101,101,243,243,243,243,]),'conditional_expression':([74,79,107,145,166,168,174,185,196,199,200,217,223,230,231,234,237,261,268,270,285,292,293,302,314,340,378,380,381,385,389,390,398,405,407,413,416,427,429,431,432,433,436,440,448,451,454,457,],[155,155,155,155,155,155,155,310,310,155,155,155,155,155,155,155,155,155,310,155,155,310,155,155,310,155,155,155,155,155,155,155,155,425,155,155,155,155,155,155,155,155,155,155,155,155,155,155,]),}
      +
      20 
      +
      21 _lr_goto = {}
      +
      22 for _k, _v in _lr_goto_items.items():
      +
      23  for _x, _y in zip(_v[0], _v[1]):
      +
      24  if not _x in _lr_goto: _lr_goto[_x] = {}
      +
      25  _lr_goto[_x][_k] = _y
      +
      26 del _lr_goto_items
      +
      27 _lr_productions = [
      +
      28  ("S' -> translation_unit_or_empty","S'",1,None,None,None),
      +
      29  ('abstract_declarator_opt -> empty','abstract_declarator_opt',1,'p_abstract_declarator_opt','plyparser.py',42),
      +
      30  ('abstract_declarator_opt -> abstract_declarator','abstract_declarator_opt',1,'p_abstract_declarator_opt','plyparser.py',43),
      +
      31  ('assignment_expression_opt -> empty','assignment_expression_opt',1,'p_assignment_expression_opt','plyparser.py',42),
      +
      32  ('assignment_expression_opt -> assignment_expression','assignment_expression_opt',1,'p_assignment_expression_opt','plyparser.py',43),
      +
      33  ('block_item_list_opt -> empty','block_item_list_opt',1,'p_block_item_list_opt','plyparser.py',42),
      +
      34  ('block_item_list_opt -> block_item_list','block_item_list_opt',1,'p_block_item_list_opt','plyparser.py',43),
      +
      35  ('declaration_list_opt -> empty','declaration_list_opt',1,'p_declaration_list_opt','plyparser.py',42),
      +
      36  ('declaration_list_opt -> declaration_list','declaration_list_opt',1,'p_declaration_list_opt','plyparser.py',43),
      +
      37  ('declaration_specifiers_opt -> empty','declaration_specifiers_opt',1,'p_declaration_specifiers_opt','plyparser.py',42),
      +
      38  ('declaration_specifiers_opt -> declaration_specifiers','declaration_specifiers_opt',1,'p_declaration_specifiers_opt','plyparser.py',43),
      +
      39  ('designation_opt -> empty','designation_opt',1,'p_designation_opt','plyparser.py',42),
      +
      40  ('designation_opt -> designation','designation_opt',1,'p_designation_opt','plyparser.py',43),
      +
      41  ('expression_opt -> empty','expression_opt',1,'p_expression_opt','plyparser.py',42),
      +
      42  ('expression_opt -> expression','expression_opt',1,'p_expression_opt','plyparser.py',43),
      +
      43  ('identifier_list_opt -> empty','identifier_list_opt',1,'p_identifier_list_opt','plyparser.py',42),
      +
      44  ('identifier_list_opt -> identifier_list','identifier_list_opt',1,'p_identifier_list_opt','plyparser.py',43),
      +
      45  ('init_declarator_list_opt -> empty','init_declarator_list_opt',1,'p_init_declarator_list_opt','plyparser.py',42),
      +
      46  ('init_declarator_list_opt -> init_declarator_list','init_declarator_list_opt',1,'p_init_declarator_list_opt','plyparser.py',43),
      +
      47  ('initializer_list_opt -> empty','initializer_list_opt',1,'p_initializer_list_opt','plyparser.py',42),
      +
      48  ('initializer_list_opt -> initializer_list','initializer_list_opt',1,'p_initializer_list_opt','plyparser.py',43),
      +
      49  ('parameter_type_list_opt -> empty','parameter_type_list_opt',1,'p_parameter_type_list_opt','plyparser.py',42),
      +
      50  ('parameter_type_list_opt -> parameter_type_list','parameter_type_list_opt',1,'p_parameter_type_list_opt','plyparser.py',43),
      +
      51  ('specifier_qualifier_list_opt -> empty','specifier_qualifier_list_opt',1,'p_specifier_qualifier_list_opt','plyparser.py',42),
      +
      52  ('specifier_qualifier_list_opt -> specifier_qualifier_list','specifier_qualifier_list_opt',1,'p_specifier_qualifier_list_opt','plyparser.py',43),
      +
      53  ('struct_declarator_list_opt -> empty','struct_declarator_list_opt',1,'p_struct_declarator_list_opt','plyparser.py',42),
      +
      54  ('struct_declarator_list_opt -> struct_declarator_list','struct_declarator_list_opt',1,'p_struct_declarator_list_opt','plyparser.py',43),
      +
      55  ('type_qualifier_list_opt -> empty','type_qualifier_list_opt',1,'p_type_qualifier_list_opt','plyparser.py',42),
      +
      56  ('type_qualifier_list_opt -> type_qualifier_list','type_qualifier_list_opt',1,'p_type_qualifier_list_opt','plyparser.py',43),
      +
      57  ('translation_unit_or_empty -> translation_unit','translation_unit_or_empty',1,'p_translation_unit_or_empty','c_parser.py',506),
      +
      58  ('translation_unit_or_empty -> empty','translation_unit_or_empty',1,'p_translation_unit_or_empty','c_parser.py',507),
      +
      59  ('translation_unit -> external_declaration','translation_unit',1,'p_translation_unit_1','c_parser.py',515),
      +
      60  ('translation_unit -> translation_unit external_declaration','translation_unit',2,'p_translation_unit_2','c_parser.py',522),
      +
      61  ('external_declaration -> function_definition','external_declaration',1,'p_external_declaration_1','c_parser.py',534),
      +
      62  ('external_declaration -> declaration','external_declaration',1,'p_external_declaration_2','c_parser.py',539),
      +
      63  ('external_declaration -> pp_directive','external_declaration',1,'p_external_declaration_3','c_parser.py',544),
      +
      64  ('external_declaration -> pppragma_directive','external_declaration',1,'p_external_declaration_3','c_parser.py',545),
      +
      65  ('external_declaration -> SEMI','external_declaration',1,'p_external_declaration_4','c_parser.py',550),
      +
      66  ('pp_directive -> PPHASH','pp_directive',1,'p_pp_directive','c_parser.py',555),
      +
      67  ('pppragma_directive -> PPPRAGMA','pppragma_directive',1,'p_pppragma_directive','c_parser.py',561),
      +
      68  ('pppragma_directive -> PPPRAGMA PPPRAGMASTR','pppragma_directive',2,'p_pppragma_directive','c_parser.py',562),
      +
      69  ('function_definition -> declarator declaration_list_opt compound_statement','function_definition',3,'p_function_definition_1','c_parser.py',573),
      +
      70  ('function_definition -> declaration_specifiers declarator declaration_list_opt compound_statement','function_definition',4,'p_function_definition_2','c_parser.py',590),
      +
      71  ('statement -> labeled_statement','statement',1,'p_statement','c_parser.py',601),
      +
      72  ('statement -> expression_statement','statement',1,'p_statement','c_parser.py',602),
      +
      73  ('statement -> compound_statement','statement',1,'p_statement','c_parser.py',603),
      +
      74  ('statement -> selection_statement','statement',1,'p_statement','c_parser.py',604),
      +
      75  ('statement -> iteration_statement','statement',1,'p_statement','c_parser.py',605),
      +
      76  ('statement -> jump_statement','statement',1,'p_statement','c_parser.py',606),
      +
      77  ('statement -> pppragma_directive','statement',1,'p_statement','c_parser.py',607),
      +
      78  ('decl_body -> declaration_specifiers init_declarator_list_opt','decl_body',2,'p_decl_body','c_parser.py',621),
      +
      79  ('declaration -> decl_body SEMI','declaration',2,'p_declaration','c_parser.py',680),
      +
      80  ('declaration_list -> declaration','declaration_list',1,'p_declaration_list','c_parser.py',689),
      +
      81  ('declaration_list -> declaration_list declaration','declaration_list',2,'p_declaration_list','c_parser.py',690),
      +
      82  ('declaration_specifiers -> type_qualifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_1','c_parser.py',695),
      +
      83  ('declaration_specifiers -> type_specifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_2','c_parser.py',700),
      +
      84  ('declaration_specifiers -> storage_class_specifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_3','c_parser.py',705),
      +
      85  ('declaration_specifiers -> function_specifier declaration_specifiers_opt','declaration_specifiers',2,'p_declaration_specifiers_4','c_parser.py',710),
      +
      86  ('storage_class_specifier -> AUTO','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',715),
      +
      87  ('storage_class_specifier -> REGISTER','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',716),
      +
      88  ('storage_class_specifier -> STATIC','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',717),
      +
      89  ('storage_class_specifier -> EXTERN','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',718),
      +
      90  ('storage_class_specifier -> TYPEDEF','storage_class_specifier',1,'p_storage_class_specifier','c_parser.py',719),
      +
      91  ('function_specifier -> INLINE','function_specifier',1,'p_function_specifier','c_parser.py',724),
      +
      92  ('type_specifier -> VOID','type_specifier',1,'p_type_specifier_1','c_parser.py',729),
      +
      93  ('type_specifier -> _BOOL','type_specifier',1,'p_type_specifier_1','c_parser.py',730),
      +
      94  ('type_specifier -> CHAR','type_specifier',1,'p_type_specifier_1','c_parser.py',731),
      +
      95  ('type_specifier -> SHORT','type_specifier',1,'p_type_specifier_1','c_parser.py',732),
      +
      96  ('type_specifier -> INT','type_specifier',1,'p_type_specifier_1','c_parser.py',733),
      +
      97  ('type_specifier -> LONG','type_specifier',1,'p_type_specifier_1','c_parser.py',734),
      +
      98  ('type_specifier -> FLOAT','type_specifier',1,'p_type_specifier_1','c_parser.py',735),
      +
      99  ('type_specifier -> DOUBLE','type_specifier',1,'p_type_specifier_1','c_parser.py',736),
      +
      100  ('type_specifier -> _COMPLEX','type_specifier',1,'p_type_specifier_1','c_parser.py',737),
      +
      101  ('type_specifier -> SIGNED','type_specifier',1,'p_type_specifier_1','c_parser.py',738),
      +
      102  ('type_specifier -> UNSIGNED','type_specifier',1,'p_type_specifier_1','c_parser.py',739),
      +
      103  ('type_specifier -> typedef_name','type_specifier',1,'p_type_specifier_2','c_parser.py',744),
      +
      104  ('type_specifier -> enum_specifier','type_specifier',1,'p_type_specifier_2','c_parser.py',745),
      +
      105  ('type_specifier -> struct_or_union_specifier','type_specifier',1,'p_type_specifier_2','c_parser.py',746),
      +
      106  ('type_qualifier -> CONST','type_qualifier',1,'p_type_qualifier','c_parser.py',751),
      +
      107  ('type_qualifier -> RESTRICT','type_qualifier',1,'p_type_qualifier','c_parser.py',752),
      +
      108  ('type_qualifier -> VOLATILE','type_qualifier',1,'p_type_qualifier','c_parser.py',753),
      +
      109  ('init_declarator_list -> init_declarator','init_declarator_list',1,'p_init_declarator_list_1','c_parser.py',758),
      +
      110  ('init_declarator_list -> init_declarator_list COMMA init_declarator','init_declarator_list',3,'p_init_declarator_list_1','c_parser.py',759),
      +
      111  ('init_declarator_list -> EQUALS initializer','init_declarator_list',2,'p_init_declarator_list_2','c_parser.py',769),
      +
      112  ('init_declarator_list -> abstract_declarator','init_declarator_list',1,'p_init_declarator_list_3','c_parser.py',777),
      +
      113  ('init_declarator -> declarator','init_declarator',1,'p_init_declarator','c_parser.py',785),
      +
      114  ('init_declarator -> declarator EQUALS initializer','init_declarator',3,'p_init_declarator','c_parser.py',786),
      +
      115  ('specifier_qualifier_list -> type_qualifier specifier_qualifier_list_opt','specifier_qualifier_list',2,'p_specifier_qualifier_list_1','c_parser.py',791),
      +
      116  ('specifier_qualifier_list -> type_specifier specifier_qualifier_list_opt','specifier_qualifier_list',2,'p_specifier_qualifier_list_2','c_parser.py',796),
      +
      117  ('struct_or_union_specifier -> struct_or_union ID','struct_or_union_specifier',2,'p_struct_or_union_specifier_1','c_parser.py',804),
      +
      118  ('struct_or_union_specifier -> struct_or_union TYPEID','struct_or_union_specifier',2,'p_struct_or_union_specifier_1','c_parser.py',805),
      +
      119  ('struct_or_union_specifier -> struct_or_union brace_open struct_declaration_list brace_close','struct_or_union_specifier',4,'p_struct_or_union_specifier_2','c_parser.py',814),
      +
      120  ('struct_or_union_specifier -> struct_or_union ID brace_open struct_declaration_list brace_close','struct_or_union_specifier',5,'p_struct_or_union_specifier_3','c_parser.py',823),
      +
      121  ('struct_or_union_specifier -> struct_or_union TYPEID brace_open struct_declaration_list brace_close','struct_or_union_specifier',5,'p_struct_or_union_specifier_3','c_parser.py',824),
      +
      122  ('struct_or_union -> STRUCT','struct_or_union',1,'p_struct_or_union','c_parser.py',833),
      +
      123  ('struct_or_union -> UNION','struct_or_union',1,'p_struct_or_union','c_parser.py',834),
      +
      124  ('struct_declaration_list -> struct_declaration','struct_declaration_list',1,'p_struct_declaration_list','c_parser.py',841),
      +
      125  ('struct_declaration_list -> struct_declaration_list struct_declaration','struct_declaration_list',2,'p_struct_declaration_list','c_parser.py',842),
      +
      126  ('struct_declaration -> specifier_qualifier_list struct_declarator_list_opt SEMI','struct_declaration',3,'p_struct_declaration_1','c_parser.py',850),
      +
      127  ('struct_declaration -> specifier_qualifier_list abstract_declarator SEMI','struct_declaration',3,'p_struct_declaration_2','c_parser.py',888),
      +
      128  ('struct_declaration -> SEMI','struct_declaration',1,'p_struct_declaration_3','c_parser.py',902),
      +
      129  ('struct_declarator_list -> struct_declarator','struct_declarator_list',1,'p_struct_declarator_list','c_parser.py',907),
      +
      130  ('struct_declarator_list -> struct_declarator_list COMMA struct_declarator','struct_declarator_list',3,'p_struct_declarator_list','c_parser.py',908),
      +
      131  ('struct_declarator -> declarator','struct_declarator',1,'p_struct_declarator_1','c_parser.py',916),
      +
      132  ('struct_declarator -> declarator COLON constant_expression','struct_declarator',3,'p_struct_declarator_2','c_parser.py',921),
      +
      133  ('struct_declarator -> COLON constant_expression','struct_declarator',2,'p_struct_declarator_2','c_parser.py',922),
      +
      134  ('enum_specifier -> ENUM ID','enum_specifier',2,'p_enum_specifier_1','c_parser.py',930),
      +
      135  ('enum_specifier -> ENUM TYPEID','enum_specifier',2,'p_enum_specifier_1','c_parser.py',931),
      +
      136  ('enum_specifier -> ENUM brace_open enumerator_list brace_close','enum_specifier',4,'p_enum_specifier_2','c_parser.py',936),
      +
      137  ('enum_specifier -> ENUM ID brace_open enumerator_list brace_close','enum_specifier',5,'p_enum_specifier_3','c_parser.py',941),
      +
      138  ('enum_specifier -> ENUM TYPEID brace_open enumerator_list brace_close','enum_specifier',5,'p_enum_specifier_3','c_parser.py',942),
      +
      139  ('enumerator_list -> enumerator','enumerator_list',1,'p_enumerator_list','c_parser.py',947),
      +
      140  ('enumerator_list -> enumerator_list COMMA','enumerator_list',2,'p_enumerator_list','c_parser.py',948),
      +
      141  ('enumerator_list -> enumerator_list COMMA enumerator','enumerator_list',3,'p_enumerator_list','c_parser.py',949),
      +
      142  ('enumerator -> ID','enumerator',1,'p_enumerator','c_parser.py',960),
      +
      143  ('enumerator -> ID EQUALS constant_expression','enumerator',3,'p_enumerator','c_parser.py',961),
      +
      144  ('declarator -> direct_declarator','declarator',1,'p_declarator_1','c_parser.py',976),
      +
      145  ('declarator -> pointer direct_declarator','declarator',2,'p_declarator_2','c_parser.py',981),
      +
      146  ('declarator -> pointer TYPEID','declarator',2,'p_declarator_3','c_parser.py',990),
      +
      147  ('direct_declarator -> ID','direct_declarator',1,'p_direct_declarator_1','c_parser.py',1001),
      +
      148  ('direct_declarator -> LPAREN declarator RPAREN','direct_declarator',3,'p_direct_declarator_2','c_parser.py',1010),
      +
      149  ('direct_declarator -> direct_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET','direct_declarator',5,'p_direct_declarator_3','c_parser.py',1015),
      +
      150  ('direct_declarator -> direct_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET','direct_declarator',6,'p_direct_declarator_4','c_parser.py',1029),
      +
      151  ('direct_declarator -> direct_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET','direct_declarator',6,'p_direct_declarator_4','c_parser.py',1030),
      +
      152  ('direct_declarator -> direct_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET','direct_declarator',5,'p_direct_declarator_5','c_parser.py',1050),
      +
      153  ('direct_declarator -> direct_declarator LPAREN parameter_type_list RPAREN','direct_declarator',4,'p_direct_declarator_6','c_parser.py',1061),
      +
      154  ('direct_declarator -> direct_declarator LPAREN identifier_list_opt RPAREN','direct_declarator',4,'p_direct_declarator_6','c_parser.py',1062),
      +
      155  ('pointer -> TIMES type_qualifier_list_opt','pointer',2,'p_pointer','c_parser.py',1089),
      +
      156  ('pointer -> TIMES type_qualifier_list_opt pointer','pointer',3,'p_pointer','c_parser.py',1090),
      +
      157  ('type_qualifier_list -> type_qualifier','type_qualifier_list',1,'p_type_qualifier_list','c_parser.py',1119),
      +
      158  ('type_qualifier_list -> type_qualifier_list type_qualifier','type_qualifier_list',2,'p_type_qualifier_list','c_parser.py',1120),
      +
      159  ('parameter_type_list -> parameter_list','parameter_type_list',1,'p_parameter_type_list','c_parser.py',1125),
      +
      160  ('parameter_type_list -> parameter_list COMMA ELLIPSIS','parameter_type_list',3,'p_parameter_type_list','c_parser.py',1126),
      +
      161  ('parameter_list -> parameter_declaration','parameter_list',1,'p_parameter_list','c_parser.py',1134),
      +
      162  ('parameter_list -> parameter_list COMMA parameter_declaration','parameter_list',3,'p_parameter_list','c_parser.py',1135),
      +
      163  ('parameter_declaration -> declaration_specifiers declarator','parameter_declaration',2,'p_parameter_declaration_1','c_parser.py',1144),
      +
      164  ('parameter_declaration -> declaration_specifiers abstract_declarator_opt','parameter_declaration',2,'p_parameter_declaration_2','c_parser.py',1155),
      +
      165  ('identifier_list -> identifier','identifier_list',1,'p_identifier_list','c_parser.py',1186),
      +
      166  ('identifier_list -> identifier_list COMMA identifier','identifier_list',3,'p_identifier_list','c_parser.py',1187),
      +
      167  ('initializer -> assignment_expression','initializer',1,'p_initializer_1','c_parser.py',1196),
      +
      168  ('initializer -> brace_open initializer_list_opt brace_close','initializer',3,'p_initializer_2','c_parser.py',1201),
      +
      169  ('initializer -> brace_open initializer_list COMMA brace_close','initializer',4,'p_initializer_2','c_parser.py',1202),
      +
      170  ('initializer_list -> designation_opt initializer','initializer_list',2,'p_initializer_list','c_parser.py',1210),
      +
      171  ('initializer_list -> initializer_list COMMA designation_opt initializer','initializer_list',4,'p_initializer_list','c_parser.py',1211),
      +
      172  ('designation -> designator_list EQUALS','designation',2,'p_designation','c_parser.py',1222),
      +
      173  ('designator_list -> designator','designator_list',1,'p_designator_list','c_parser.py',1230),
      +
      174  ('designator_list -> designator_list designator','designator_list',2,'p_designator_list','c_parser.py',1231),
      +
      175  ('designator -> LBRACKET constant_expression RBRACKET','designator',3,'p_designator','c_parser.py',1236),
      +
      176  ('designator -> PERIOD identifier','designator',2,'p_designator','c_parser.py',1237),
      +
      177  ('type_name -> specifier_qualifier_list abstract_declarator_opt','type_name',2,'p_type_name','c_parser.py',1242),
      +
      178  ('abstract_declarator -> pointer','abstract_declarator',1,'p_abstract_declarator_1','c_parser.py',1259),
      +
      179  ('abstract_declarator -> pointer direct_abstract_declarator','abstract_declarator',2,'p_abstract_declarator_2','c_parser.py',1267),
      +
      180  ('abstract_declarator -> direct_abstract_declarator','abstract_declarator',1,'p_abstract_declarator_3','c_parser.py',1272),
      +
      181  ('direct_abstract_declarator -> LPAREN abstract_declarator RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator_1','c_parser.py',1282),
      +
      182  ('direct_abstract_declarator -> direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_2','c_parser.py',1286),
      +
      183  ('direct_abstract_declarator -> LBRACKET assignment_expression_opt RBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator_3','c_parser.py',1297),
      +
      184  ('direct_abstract_declarator -> direct_abstract_declarator LBRACKET TIMES RBRACKET','direct_abstract_declarator',4,'p_direct_abstract_declarator_4','c_parser.py',1306),
      +
      185  ('direct_abstract_declarator -> LBRACKET TIMES RBRACKET','direct_abstract_declarator',3,'p_direct_abstract_declarator_5','c_parser.py',1317),
      +
      186  ('direct_abstract_declarator -> direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN','direct_abstract_declarator',4,'p_direct_abstract_declarator_6','c_parser.py',1326),
      +
      187  ('direct_abstract_declarator -> LPAREN parameter_type_list_opt RPAREN','direct_abstract_declarator',3,'p_direct_abstract_declarator_7','c_parser.py',1336),
      +
      188  ('block_item -> declaration','block_item',1,'p_block_item','c_parser.py',1347),
      +
      189  ('block_item -> statement','block_item',1,'p_block_item','c_parser.py',1348),
      +
      190  ('block_item_list -> block_item','block_item_list',1,'p_block_item_list','c_parser.py',1355),
      +
      191  ('block_item_list -> block_item_list block_item','block_item_list',2,'p_block_item_list','c_parser.py',1356),
      +
      192  ('compound_statement -> brace_open block_item_list_opt brace_close','compound_statement',3,'p_compound_statement_1','c_parser.py',1362),
      +
      193  ('labeled_statement -> ID COLON statement','labeled_statement',3,'p_labeled_statement_1','c_parser.py',1368),
      +
      194  ('labeled_statement -> CASE constant_expression COLON statement','labeled_statement',4,'p_labeled_statement_2','c_parser.py',1372),
      +
      195  ('labeled_statement -> DEFAULT COLON statement','labeled_statement',3,'p_labeled_statement_3','c_parser.py',1376),
      +
      196  ('selection_statement -> IF LPAREN expression RPAREN statement','selection_statement',5,'p_selection_statement_1','c_parser.py',1380),
      +
      197  ('selection_statement -> IF LPAREN expression RPAREN statement ELSE statement','selection_statement',7,'p_selection_statement_2','c_parser.py',1384),
      +
      198  ('selection_statement -> SWITCH LPAREN expression RPAREN statement','selection_statement',5,'p_selection_statement_3','c_parser.py',1388),
      +
      199  ('iteration_statement -> WHILE LPAREN expression RPAREN statement','iteration_statement',5,'p_iteration_statement_1','c_parser.py',1393),
      +
      200  ('iteration_statement -> DO statement WHILE LPAREN expression RPAREN SEMI','iteration_statement',7,'p_iteration_statement_2','c_parser.py',1397),
      +
      201  ('iteration_statement -> FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN statement','iteration_statement',9,'p_iteration_statement_3','c_parser.py',1401),
      +
      202  ('iteration_statement -> FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN statement','iteration_statement',8,'p_iteration_statement_4','c_parser.py',1405),
      +
      203  ('jump_statement -> GOTO ID SEMI','jump_statement',3,'p_jump_statement_1','c_parser.py',1410),
      +
      204  ('jump_statement -> BREAK SEMI','jump_statement',2,'p_jump_statement_2','c_parser.py',1414),
      +
      205  ('jump_statement -> CONTINUE SEMI','jump_statement',2,'p_jump_statement_3','c_parser.py',1418),
      +
      206  ('jump_statement -> RETURN expression SEMI','jump_statement',3,'p_jump_statement_4','c_parser.py',1422),
      +
      207  ('jump_statement -> RETURN SEMI','jump_statement',2,'p_jump_statement_4','c_parser.py',1423),
      +
      208  ('expression_statement -> expression_opt SEMI','expression_statement',2,'p_expression_statement','c_parser.py',1428),
      +
      209  ('expression -> assignment_expression','expression',1,'p_expression','c_parser.py',1435),
      +
      210  ('expression -> expression COMMA assignment_expression','expression',3,'p_expression','c_parser.py',1436),
      +
      211  ('typedef_name -> TYPEID','typedef_name',1,'p_typedef_name','c_parser.py',1448),
      +
      212  ('assignment_expression -> conditional_expression','assignment_expression',1,'p_assignment_expression','c_parser.py',1452),
      +
      213  ('assignment_expression -> unary_expression assignment_operator assignment_expression','assignment_expression',3,'p_assignment_expression','c_parser.py',1453),
      +
      214  ('assignment_operator -> EQUALS','assignment_operator',1,'p_assignment_operator','c_parser.py',1466),
      +
      215  ('assignment_operator -> XOREQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1467),
      +
      216  ('assignment_operator -> TIMESEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1468),
      +
      217  ('assignment_operator -> DIVEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1469),
      +
      218  ('assignment_operator -> MODEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1470),
      +
      219  ('assignment_operator -> PLUSEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1471),
      +
      220  ('assignment_operator -> MINUSEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1472),
      +
      221  ('assignment_operator -> LSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1473),
      +
      222  ('assignment_operator -> RSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1474),
      +
      223  ('assignment_operator -> ANDEQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1475),
      +
      224  ('assignment_operator -> OREQUAL','assignment_operator',1,'p_assignment_operator','c_parser.py',1476),
      +
      225  ('constant_expression -> conditional_expression','constant_expression',1,'p_constant_expression','c_parser.py',1481),
      +
      226  ('conditional_expression -> binary_expression','conditional_expression',1,'p_conditional_expression','c_parser.py',1485),
      +
      227  ('conditional_expression -> binary_expression CONDOP expression COLON conditional_expression','conditional_expression',5,'p_conditional_expression','c_parser.py',1486),
      +
      228  ('binary_expression -> cast_expression','binary_expression',1,'p_binary_expression','c_parser.py',1494),
      +
      229  ('binary_expression -> binary_expression TIMES binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1495),
      +
      230  ('binary_expression -> binary_expression DIVIDE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1496),
      +
      231  ('binary_expression -> binary_expression MOD binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1497),
      +
      232  ('binary_expression -> binary_expression PLUS binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1498),
      +
      233  ('binary_expression -> binary_expression MINUS binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1499),
      +
      234  ('binary_expression -> binary_expression RSHIFT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1500),
      +
      235  ('binary_expression -> binary_expression LSHIFT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1501),
      +
      236  ('binary_expression -> binary_expression LT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1502),
      +
      237  ('binary_expression -> binary_expression LE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1503),
      +
      238  ('binary_expression -> binary_expression GE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1504),
      +
      239  ('binary_expression -> binary_expression GT binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1505),
      +
      240  ('binary_expression -> binary_expression EQ binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1506),
      +
      241  ('binary_expression -> binary_expression NE binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1507),
      +
      242  ('binary_expression -> binary_expression AND binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1508),
      +
      243  ('binary_expression -> binary_expression OR binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1509),
      +
      244  ('binary_expression -> binary_expression XOR binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1510),
      +
      245  ('binary_expression -> binary_expression LAND binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1511),
      +
      246  ('binary_expression -> binary_expression LOR binary_expression','binary_expression',3,'p_binary_expression','c_parser.py',1512),
      +
      247  ('cast_expression -> unary_expression','cast_expression',1,'p_cast_expression_1','c_parser.py',1520),
      +
      248  ('cast_expression -> LPAREN type_name RPAREN cast_expression','cast_expression',4,'p_cast_expression_2','c_parser.py',1524),
      +
      249  ('unary_expression -> postfix_expression','unary_expression',1,'p_unary_expression_1','c_parser.py',1528),
      +
      250  ('unary_expression -> PLUSPLUS unary_expression','unary_expression',2,'p_unary_expression_2','c_parser.py',1532),
      +
      251  ('unary_expression -> MINUSMINUS unary_expression','unary_expression',2,'p_unary_expression_2','c_parser.py',1533),
      +
      252  ('unary_expression -> unary_operator cast_expression','unary_expression',2,'p_unary_expression_2','c_parser.py',1534),
      +
      253  ('unary_expression -> SIZEOF unary_expression','unary_expression',2,'p_unary_expression_3','c_parser.py',1539),
      +
      254  ('unary_expression -> SIZEOF LPAREN type_name RPAREN','unary_expression',4,'p_unary_expression_3','c_parser.py',1540),
      +
      255  ('unary_operator -> AND','unary_operator',1,'p_unary_operator','c_parser.py',1548),
      +
      256  ('unary_operator -> TIMES','unary_operator',1,'p_unary_operator','c_parser.py',1549),
      +
      257  ('unary_operator -> PLUS','unary_operator',1,'p_unary_operator','c_parser.py',1550),
      +
      258  ('unary_operator -> MINUS','unary_operator',1,'p_unary_operator','c_parser.py',1551),
      +
      259  ('unary_operator -> NOT','unary_operator',1,'p_unary_operator','c_parser.py',1552),
      +
      260  ('unary_operator -> LNOT','unary_operator',1,'p_unary_operator','c_parser.py',1553),
      +
      261  ('postfix_expression -> primary_expression','postfix_expression',1,'p_postfix_expression_1','c_parser.py',1558),
      +
      262  ('postfix_expression -> postfix_expression LBRACKET expression RBRACKET','postfix_expression',4,'p_postfix_expression_2','c_parser.py',1562),
      +
      263  ('postfix_expression -> postfix_expression LPAREN argument_expression_list RPAREN','postfix_expression',4,'p_postfix_expression_3','c_parser.py',1566),
      +
      264  ('postfix_expression -> postfix_expression LPAREN RPAREN','postfix_expression',3,'p_postfix_expression_3','c_parser.py',1567),
      +
      265  ('postfix_expression -> postfix_expression PERIOD ID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1572),
      +
      266  ('postfix_expression -> postfix_expression PERIOD TYPEID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1573),
      +
      267  ('postfix_expression -> postfix_expression ARROW ID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1574),
      +
      268  ('postfix_expression -> postfix_expression ARROW TYPEID','postfix_expression',3,'p_postfix_expression_4','c_parser.py',1575),
      +
      269  ('postfix_expression -> postfix_expression PLUSPLUS','postfix_expression',2,'p_postfix_expression_5','c_parser.py',1581),
      +
      270  ('postfix_expression -> postfix_expression MINUSMINUS','postfix_expression',2,'p_postfix_expression_5','c_parser.py',1582),
      +
      271  ('postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list brace_close','postfix_expression',6,'p_postfix_expression_6','c_parser.py',1587),
      +
      272  ('postfix_expression -> LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close','postfix_expression',7,'p_postfix_expression_6','c_parser.py',1588),
      +
      273  ('primary_expression -> identifier','primary_expression',1,'p_primary_expression_1','c_parser.py',1593),
      +
      274  ('primary_expression -> constant','primary_expression',1,'p_primary_expression_2','c_parser.py',1597),
      +
      275  ('primary_expression -> unified_string_literal','primary_expression',1,'p_primary_expression_3','c_parser.py',1601),
      +
      276  ('primary_expression -> unified_wstring_literal','primary_expression',1,'p_primary_expression_3','c_parser.py',1602),
      +
      277  ('primary_expression -> LPAREN expression RPAREN','primary_expression',3,'p_primary_expression_4','c_parser.py',1607),
      +
      278  ('primary_expression -> OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN','primary_expression',6,'p_primary_expression_5','c_parser.py',1611),
      +
      279  ('offsetof_member_designator -> identifier','offsetof_member_designator',1,'p_offsetof_member_designator','c_parser.py',1619),
      +
      280  ('offsetof_member_designator -> offsetof_member_designator PERIOD identifier','offsetof_member_designator',3,'p_offsetof_member_designator','c_parser.py',1620),
      +
      281  ('offsetof_member_designator -> offsetof_member_designator LBRACKET expression RBRACKET','offsetof_member_designator',4,'p_offsetof_member_designator','c_parser.py',1621),
      +
      282  ('argument_expression_list -> assignment_expression','argument_expression_list',1,'p_argument_expression_list','c_parser.py',1634),
      +
      283  ('argument_expression_list -> argument_expression_list COMMA assignment_expression','argument_expression_list',3,'p_argument_expression_list','c_parser.py',1635),
      +
      284  ('identifier -> ID','identifier',1,'p_identifier','c_parser.py',1644),
      +
      285  ('constant -> INT_CONST_DEC','constant',1,'p_constant_1','c_parser.py',1648),
      +
      286  ('constant -> INT_CONST_OCT','constant',1,'p_constant_1','c_parser.py',1649),
      +
      287  ('constant -> INT_CONST_HEX','constant',1,'p_constant_1','c_parser.py',1650),
      +
      288  ('constant -> INT_CONST_BIN','constant',1,'p_constant_1','c_parser.py',1651),
      +
      289  ('constant -> FLOAT_CONST','constant',1,'p_constant_2','c_parser.py',1657),
      +
      290  ('constant -> HEX_FLOAT_CONST','constant',1,'p_constant_2','c_parser.py',1658),
      +
      291  ('constant -> CHAR_CONST','constant',1,'p_constant_3','c_parser.py',1664),
      +
      292  ('constant -> WCHAR_CONST','constant',1,'p_constant_3','c_parser.py',1665),
      +
      293  ('unified_string_literal -> STRING_LITERAL','unified_string_literal',1,'p_unified_string_literal','c_parser.py',1676),
      +
      294  ('unified_string_literal -> unified_string_literal STRING_LITERAL','unified_string_literal',2,'p_unified_string_literal','c_parser.py',1677),
      +
      295  ('unified_wstring_literal -> WSTRING_LITERAL','unified_wstring_literal',1,'p_unified_wstring_literal','c_parser.py',1687),
      +
      296  ('unified_wstring_literal -> unified_wstring_literal WSTRING_LITERAL','unified_wstring_literal',2,'p_unified_wstring_literal','c_parser.py',1688),
      +
      297  ('brace_open -> LBRACE','brace_open',1,'p_brace_open','c_parser.py',1698),
      +
      298  ('brace_close -> RBRACE','brace_close',1,'p_brace_close','c_parser.py',1704),
      +
      299  ('empty -> <empty>','empty',0,'p_empty','c_parser.py',1710),
      +
      300 ]
      +
      +
      + + + + diff --git a/Documentation/latex/adc10__a_8c.tex b/Documentation/latex/adc10__a_8c.tex new file mode 100644 index 0000000..6531199 --- /dev/null +++ b/Documentation/latex/adc10__a_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{adc10__a_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/adc10\+\_\+a.c File Reference} +\label{adc10__a_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/adc10\_a.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/adc10\_a.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/adc10__a_8h.tex b/Documentation/latex/adc10__a_8h.tex new file mode 100644 index 0000000..5ff8e31 --- /dev/null +++ b/Documentation/latex/adc10__a_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{adc10__a_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/adc10\+\_\+a.h File Reference} +\label{adc10__a_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/adc10\_a.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/adc10\_a.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/adc12__a_8c.tex b/Documentation/latex/adc12__a_8c.tex new file mode 100644 index 0000000..be684ba --- /dev/null +++ b/Documentation/latex/adc12__a_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{adc12__a_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/adc12\+\_\+a.c File Reference} +\label{adc12__a_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/adc12\_a.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/adc12\_a.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/adc12__a_8h.tex b/Documentation/latex/adc12__a_8h.tex new file mode 100644 index 0000000..e7218a6 --- /dev/null +++ b/Documentation/latex/adc12__a_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{adc12__a_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/adc12\+\_\+a.h File Reference} +\label{adc12__a_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/adc12\_a.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/adc12\_a.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/aes_8c.tex b/Documentation/latex/aes_8c.tex new file mode 100644 index 0000000..a16cf55 --- /dev/null +++ b/Documentation/latex/aes_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{aes_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/aes.c File Reference} +\label{aes_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/aes.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/aes.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/aes_8h.tex b/Documentation/latex/aes_8h.tex new file mode 100644 index 0000000..71e6cb1 --- /dev/null +++ b/Documentation/latex/aes_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{aes_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/aes.h File Reference} +\label{aes_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/aes.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/aes.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/battbak_8c.tex b/Documentation/latex/battbak_8c.tex new file mode 100644 index 0000000..6a80e54 --- /dev/null +++ b/Documentation/latex/battbak_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{battbak_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/battbak.c File Reference} +\label{battbak_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/battbak.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/battbak.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/battbak_8h.tex b/Documentation/latex/battbak_8h.tex new file mode 100644 index 0000000..16c9b65 --- /dev/null +++ b/Documentation/latex/battbak_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{battbak_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/battbak.h File Reference} +\label{battbak_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/battbak.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/battbak.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/comp__b_8c.tex b/Documentation/latex/comp__b_8c.tex new file mode 100644 index 0000000..e16fb22 --- /dev/null +++ b/Documentation/latex/comp__b_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{comp__b_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/comp\+\_\+b.c File Reference} +\label{comp__b_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/comp\_b.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/comp\_b.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/comp__b_8h.tex b/Documentation/latex/comp__b_8h.tex new file mode 100644 index 0000000..fb1c0e3 --- /dev/null +++ b/Documentation/latex/comp__b_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{comp__b_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/comp\+\_\+b.h File Reference} +\label{comp__b_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/comp\_b.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/comp\_b.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/crc_8c.tex b/Documentation/latex/crc_8c.tex new file mode 100644 index 0000000..9abb8c8 --- /dev/null +++ b/Documentation/latex/crc_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{crc_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/crc.c File Reference} +\label{crc_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/crc.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/crc.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/crc_8h.tex b/Documentation/latex/crc_8h.tex new file mode 100644 index 0000000..6c1db07 --- /dev/null +++ b/Documentation/latex/crc_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{crc_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/crc.h File Reference} +\label{crc_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/crc.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/crc.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/ctsd16_8c.tex b/Documentation/latex/ctsd16_8c.tex new file mode 100644 index 0000000..2a9e62d --- /dev/null +++ b/Documentation/latex/ctsd16_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{ctsd16_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/ctsd16.c File Reference} +\label{ctsd16_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ctsd16.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ctsd16.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/ctsd16_8h.tex b/Documentation/latex/ctsd16_8h.tex new file mode 100644 index 0000000..7122383 --- /dev/null +++ b/Documentation/latex/ctsd16_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{ctsd16_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/ctsd16.h File Reference} +\label{ctsd16_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ctsd16.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ctsd16.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/dac12__a_8c.tex b/Documentation/latex/dac12__a_8c.tex new file mode 100644 index 0000000..c2d17ec --- /dev/null +++ b/Documentation/latex/dac12__a_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{dac12__a_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/dac12\+\_\+a.c File Reference} +\label{dac12__a_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/dac12\_a.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/dac12\_a.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/dac12__a_8h.tex b/Documentation/latex/dac12__a_8h.tex new file mode 100644 index 0000000..735d921 --- /dev/null +++ b/Documentation/latex/dac12__a_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{dac12__a_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/dac12\+\_\+a.h File Reference} +\label{dac12__a_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/dac12\_a.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/dac12\_a.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/dir_0201fb0a75bfb001181cd762468718da.tex b/Documentation/latex/dir_0201fb0a75bfb001181cd762468718da.tex new file mode 100644 index 0000000..c75d25d --- /dev/null +++ b/Documentation/latex/dir_0201fb0a75bfb001181cd762468718da.tex @@ -0,0 +1,7 @@ +\hypertarget{dir_0201fb0a75bfb001181cd762468718da}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries Directory Reference} +\label{dir_0201fb0a75bfb001181cd762468718da}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries Directory Reference@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries Directory Reference}} +\doxysubsection*{Directories} +\begin{DoxyCompactItemize} +\item +directory \mbox{\hyperlink{dir_c161f571c8319861135bb5a2c903edf9}{driverlib}} +\end{DoxyCompactItemize} diff --git a/Documentation/latex/dir_45fca41ab41fdacd455cd61e009e74cc.tex b/Documentation/latex/dir_45fca41ab41fdacd455cd61e009e74cc.tex new file mode 100644 index 0000000..90a03af --- /dev/null +++ b/Documentation/latex/dir_45fca41ab41fdacd455cd61e009e74cc.tex @@ -0,0 +1,9 @@ +\hypertarget{dir_45fca41ab41fdacd455cd61e009e74cc}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/inc Directory Reference} +\label{dir_45fca41ab41fdacd455cd61e009e74cc}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/inc Directory Reference@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/inc Directory Reference}} +\doxysubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{hw__memmap_8h}{hw\+\_\+memmap.\+h}} +\item +file \mbox{\hyperlink{version_8h}{version.\+h}} +\end{DoxyCompactItemize} diff --git a/Documentation/latex/dir_46b95d24c0abe1f4457728e63ee00541.tex b/Documentation/latex/dir_46b95d24c0abe1f4457728e63ee00541.tex new file mode 100644 index 0000000..9e9a00a --- /dev/null +++ b/Documentation/latex/dir_46b95d24c0abe1f4457728e63ee00541.tex @@ -0,0 +1,180 @@ +\hypertarget{dir_46b95d24c0abe1f4457728e63ee00541}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx Directory Reference} +\label{dir_46b95d24c0abe1f4457728e63ee00541}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx Directory Reference@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx Directory Reference}} +\doxysubsection*{Directories} +\begin{DoxyCompactItemize} +\item +directory \mbox{\hyperlink{dir_45fca41ab41fdacd455cd61e009e74cc}{inc}} +\end{DoxyCompactItemize} +\doxysubsection*{Files} +\begin{DoxyCompactItemize} +\item +file \mbox{\hyperlink{adc10__a_8c}{adc10\+\_\+a.\+c}} +\item +file \mbox{\hyperlink{adc10__a_8h}{adc10\+\_\+a.\+h}} +\item +file \mbox{\hyperlink{adc12__a_8c}{adc12\+\_\+a.\+c}} +\item +file \mbox{\hyperlink{adc12__a_8h}{adc12\+\_\+a.\+h}} +\item +file \mbox{\hyperlink{aes_8c}{aes.\+c}} +\item +file \mbox{\hyperlink{aes_8h}{aes.\+h}} +\item +file \mbox{\hyperlink{battbak_8c}{battbak.\+c}} +\item +file \mbox{\hyperlink{battbak_8h}{battbak.\+h}} +\item +file \mbox{\hyperlink{comp__b_8c}{comp\+\_\+b.\+c}} +\item +file \mbox{\hyperlink{comp__b_8h}{comp\+\_\+b.\+h}} +\item +file \mbox{\hyperlink{crc_8c}{crc.\+c}} +\item +file \mbox{\hyperlink{crc_8h}{crc.\+h}} +\item +file \mbox{\hyperlink{ctsd16_8c}{ctsd16.\+c}} +\item +file \mbox{\hyperlink{ctsd16_8h}{ctsd16.\+h}} +\item +file \mbox{\hyperlink{dac12__a_8c}{dac12\+\_\+a.\+c}} +\item +file \mbox{\hyperlink{dac12__a_8h}{dac12\+\_\+a.\+h}} +\item +file \mbox{\hyperlink{dma_8c}{dma.\+c}} +\item +file \mbox{\hyperlink{dma_8h}{dma.\+h}} +\item +file \mbox{\hyperlink{driverlib_8h}{driverlib.\+h}} +\item +file \mbox{\hyperlink{eusci__a__spi_8c}{eusci\+\_\+a\+\_\+spi.\+c}} +\item +file \mbox{\hyperlink{eusci__a__spi_8h}{eusci\+\_\+a\+\_\+spi.\+h}} +\item +file \mbox{\hyperlink{eusci__a__uart_8c}{eusci\+\_\+a\+\_\+uart.\+c}} +\item +file \mbox{\hyperlink{eusci__a__uart_8h}{eusci\+\_\+a\+\_\+uart.\+h}} +\item +file \mbox{\hyperlink{eusci__b__i2c_8c}{eusci\+\_\+b\+\_\+i2c.\+c}} +\item +file \mbox{\hyperlink{eusci__b__i2c_8h}{eusci\+\_\+b\+\_\+i2c.\+h}} +\item +file \mbox{\hyperlink{eusci__b__spi_8c}{eusci\+\_\+b\+\_\+spi.\+c}} +\item +file \mbox{\hyperlink{eusci__b__spi_8h}{eusci\+\_\+b\+\_\+spi.\+h}} +\item +file \mbox{\hyperlink{flashctl_8c}{flashctl.\+c}} +\item +file \mbox{\hyperlink{flashctl_8h}{flashctl.\+h}} +\item +file \mbox{\hyperlink{gpio_8c}{gpio.\+c}} +\item +file \mbox{\hyperlink{gpio_8h}{gpio.\+h}} +\item +file \mbox{\hyperlink{lcd__b_8c}{lcd\+\_\+b.\+c}} +\item +file \mbox{\hyperlink{lcd__b_8h}{lcd\+\_\+b.\+h}} +\item +file \mbox{\hyperlink{lcd__c_8c}{lcd\+\_\+c.\+c}} +\item +file \mbox{\hyperlink{lcd__c_8h}{lcd\+\_\+c.\+h}} +\item +file \mbox{\hyperlink{ldopwr_8c}{ldopwr.\+c}} +\item +file \mbox{\hyperlink{ldopwr_8h}{ldopwr.\+h}} +\item +file \mbox{\hyperlink{lextab_8py}{lextab.\+py}} +\item +file \mbox{\hyperlink{mpy32_8c}{mpy32.\+c}} +\item +file \mbox{\hyperlink{mpy32_8h}{mpy32.\+h}} +\item +file \mbox{\hyperlink{oa_8c}{oa.\+c}} +\item +file \mbox{\hyperlink{oa_8h}{oa.\+h}} +\item +file \mbox{\hyperlink{pmap_8c}{pmap.\+c}} +\item +file \mbox{\hyperlink{pmap_8h}{pmap.\+h}} +\item +file \mbox{\hyperlink{pmm_8c}{pmm.\+c}} +\item +file \mbox{\hyperlink{pmm_8h}{pmm.\+h}} +\item +file \mbox{\hyperlink{ram_8c}{ram.\+c}} +\item +file \mbox{\hyperlink{ram_8h}{ram.\+h}} +\item +file \mbox{\hyperlink{ref_8c}{ref.\+c}} +\item +file \mbox{\hyperlink{ref_8h}{ref.\+h}} +\item +file \mbox{\hyperlink{rtc__a_8c}{rtc\+\_\+a.\+c}} +\item +file \mbox{\hyperlink{rtc__a_8h}{rtc\+\_\+a.\+h}} +\item +file \mbox{\hyperlink{rtc__b_8c}{rtc\+\_\+b.\+c}} +\item +file \mbox{\hyperlink{rtc__b_8h}{rtc\+\_\+b.\+h}} +\item +file \mbox{\hyperlink{rtc__c_8c}{rtc\+\_\+c.\+c}} +\item +file \mbox{\hyperlink{rtc__c_8h}{rtc\+\_\+c.\+h}} +\item +file \mbox{\hyperlink{sd24__b_8c}{sd24\+\_\+b.\+c}} +\item +file \mbox{\hyperlink{sd24__b_8h}{sd24\+\_\+b.\+h}} +\item +file \mbox{\hyperlink{sfr_8c}{sfr.\+c}} +\item +file \mbox{\hyperlink{sfr_8h}{sfr.\+h}} +\item +file \mbox{\hyperlink{sysctl_8c}{sysctl.\+c}} +\item +file \mbox{\hyperlink{sysctl_8h}{sysctl.\+h}} +\item +file \mbox{\hyperlink{tec_8c}{tec.\+c}} +\item +file \mbox{\hyperlink{tec_8h}{tec.\+h}} +\item +file \mbox{\hyperlink{timer__a_8c}{timer\+\_\+a.\+c}} +\item +file \mbox{\hyperlink{timer__a_8h}{timer\+\_\+a.\+h}} +\item +file \mbox{\hyperlink{timer__b_8c}{timer\+\_\+b.\+c}} +\item +file \mbox{\hyperlink{timer__b_8h}{timer\+\_\+b.\+h}} +\item +file \mbox{\hyperlink{timer__d_8c}{timer\+\_\+d.\+c}} +\item +file \mbox{\hyperlink{timer__d_8h}{timer\+\_\+d.\+h}} +\item +file \mbox{\hyperlink{tlv_8c}{tlv.\+c}} +\item +file \mbox{\hyperlink{tlv_8h}{tlv.\+h}} +\item +file \mbox{\hyperlink{ucs_8c}{ucs.\+c}} +\item +file \mbox{\hyperlink{ucs_8h}{ucs.\+h}} +\item +file \mbox{\hyperlink{usci__a__spi_8c}{usci\+\_\+a\+\_\+spi.\+c}} +\item +file \mbox{\hyperlink{usci__a__spi_8h}{usci\+\_\+a\+\_\+spi.\+h}} +\item +file \mbox{\hyperlink{usci__a__uart_8c}{usci\+\_\+a\+\_\+uart.\+c}} +\item +file \mbox{\hyperlink{usci__a__uart_8h}{usci\+\_\+a\+\_\+uart.\+h}} +\item +file \mbox{\hyperlink{usci__b__i2c_8c}{usci\+\_\+b\+\_\+i2c.\+c}} +\item +file \mbox{\hyperlink{usci__b__i2c_8h}{usci\+\_\+b\+\_\+i2c.\+h}} +\item +file \mbox{\hyperlink{usci__b__spi_8c}{usci\+\_\+b\+\_\+spi.\+c}} +\item +file \mbox{\hyperlink{usci__b__spi_8h}{usci\+\_\+b\+\_\+spi.\+h}} +\item +file \mbox{\hyperlink{wdt__a_8c}{wdt\+\_\+a.\+c}} +\item +file \mbox{\hyperlink{wdt__a_8h}{wdt\+\_\+a.\+h}} +\item +file \mbox{\hyperlink{yacctab_8py}{yacctab.\+py}} +\end{DoxyCompactItemize} diff --git a/Documentation/latex/dir_c161f571c8319861135bb5a2c903edf9.tex b/Documentation/latex/dir_c161f571c8319861135bb5a2c903edf9.tex new file mode 100644 index 0000000..58c6c1d --- /dev/null +++ b/Documentation/latex/dir_c161f571c8319861135bb5a2c903edf9.tex @@ -0,0 +1,7 @@ +\hypertarget{dir_c161f571c8319861135bb5a2c903edf9}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib Directory Reference} +\label{dir_c161f571c8319861135bb5a2c903edf9}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib Directory Reference@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib Directory Reference}} +\doxysubsection*{Directories} +\begin{DoxyCompactItemize} +\item +directory \mbox{\hyperlink{dir_46b95d24c0abe1f4457728e63ee00541}{MSP430\+F5xx\+\_\+6xx}} +\end{DoxyCompactItemize} diff --git a/Documentation/latex/dir_ef94255a62432ae865475b379d8bd501.tex b/Documentation/latex/dir_ef94255a62432ae865475b379d8bd501.tex index dcfae4f..55dae7a 100644 --- a/Documentation/latex/dir_ef94255a62432ae865475b379d8bd501.tex +++ b/Documentation/latex/dir_ef94255a62432ae865475b379d8bd501.tex @@ -1,5 +1,10 @@ \hypertarget{dir_ef94255a62432ae865475b379d8bd501}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System Directory Reference} \label{dir_ef94255a62432ae865475b379d8bd501}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem Directory Reference@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem Directory Reference}} +\doxysubsection*{Directories} +\begin{DoxyCompactItemize} +\item +directory \mbox{\hyperlink{dir_0201fb0a75bfb001181cd762468718da}{Libraries}} +\end{DoxyCompactItemize} \doxysubsection*{Files} \begin{DoxyCompactItemize} \item diff --git a/Documentation/latex/dma_8c.tex b/Documentation/latex/dma_8c.tex new file mode 100644 index 0000000..31dcc13 --- /dev/null +++ b/Documentation/latex/dma_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{dma_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/dma.c File Reference} +\label{dma_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/dma.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/dma.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/dma_8h.tex b/Documentation/latex/dma_8h.tex new file mode 100644 index 0000000..d442fda --- /dev/null +++ b/Documentation/latex/dma_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{dma_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/dma.h File Reference} +\label{dma_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/dma.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/dma.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/documentation_guide.tex b/Documentation/latex/documentation_guide.tex index 14582a0..283cdd5 100644 --- a/Documentation/latex/documentation_guide.tex +++ b/Documentation/latex/documentation_guide.tex @@ -1,23 +1,23 @@ -\hypertarget{documentation_guide_autotoc_md19}{}\doxysection{Doxygen}\label{documentation_guide_autotoc_md19} +\hypertarget{documentation_guide_autotoc_md20}{}\doxysection{Doxygen}\label{documentation_guide_autotoc_md20} The program called \char`\"{}doxygen\char`\"{} (\href{https://github.com/doxygen/doxygen}{\texttt{ Git\+Hub Page}} and \href{https://www.doxygen.nl/}{\texttt{ Website}}) is what we\textquotesingle{}re using to document our project and try to make things a bit simpler/easier not only for us, but also future projects or people looking at what we\textquotesingle{}ve done. It simply uses a small configuration file at the root of the project {\ttfamily /\+Doxyfile} to store some settings, and the rest is through mainly Markdown files ({\ttfamily .md} or {\ttfamily .markdown}) and source code files. -It is setup (as of writing this) that someone can simply open the {\ttfamily /\+Doxyfile} in the GUI Wizard, click on the \char`\"{}\+Run\char`\"{} tab, then \char`\"{}\+Run doxygen\char`\"{}, and everything will be updated... that\textquotesingle{}s it.\hypertarget{documentation_guide_autotoc_md20}{}\doxysection{Updating Documentation}\label{documentation_guide_autotoc_md20} -You need to have installed the program from either the Git\+Hub page or website, then simply open the {\ttfamily /\+Doxyfile} within the GUI frontend or \char`\"{}\+Wizard\char`\"{}.\hypertarget{documentation_guide_autotoc_md21}{}\doxysection{Important Notes}\label{documentation_guide_autotoc_md21} +It is setup (as of writing this) that someone can simply open the {\ttfamily /\+Doxyfile} in the GUI Wizard, click on the \char`\"{}\+Run\char`\"{} tab, then \char`\"{}\+Run doxygen\char`\"{}, and everything will be updated... that\textquotesingle{}s it.\hypertarget{documentation_guide_autotoc_md21}{}\doxysection{Updating Documentation}\label{documentation_guide_autotoc_md21} +You need to have installed the program from either the Git\+Hub page or website, then simply open the {\ttfamily /\+Doxyfile} within the GUI frontend or \char`\"{}\+Wizard\char`\"{}.\hypertarget{documentation_guide_autotoc_md22}{}\doxysection{Important Notes}\label{documentation_guide_autotoc_md22} \begin{DoxyItemize} \item Make sure that the {\ttfamily /\+Doxyfile} stays where it\textquotesingle{}s at! It should be kept at the root directory (just to keep things simple) \item Make sure you use RELATIVE paths when changing configurations, or else when someone else tries running the {\ttfamily /\+Doxyfile}, they\textquotesingle{}ll have to re-\/do all of them in order for it to start functioning again. \item {\bfseries{DO NOT}} put any files into the {\ttfamily /\+Documentation} folder manually, as they {\bfseries{WILL BE DELETED}} when doxygen is run. -\end{DoxyItemize}\hypertarget{documentation_guide_autotoc_md22}{}\doxysubsection{For Consistency}\label{documentation_guide_autotoc_md22} +\end{DoxyItemize}\hypertarget{documentation_guide_autotoc_md23}{}\doxysubsection{For Consistency}\label{documentation_guide_autotoc_md23} \begin{DoxyItemize} \item Please make sure the internal names (\char`\"{}tags\char`\"{}) of files are using \char`\"{}camel\+Case\char`\"{} \begin{DoxyItemize} \item Example\+: for \char`\"{}@page documentation\+Guide Documentation Guide\char`\"{} \char`\"{}documentation\+Guide\char`\"{} is the name/tag used internally by doxygen. \char`\"{}\+Documentation Guide\char`\"{} is what shows up on the output documentation. \end{DoxyItemize} -\end{DoxyItemize}\hypertarget{documentation_guide_autotoc_md23}{}\doxysubsection{Adding Images}\label{documentation_guide_autotoc_md23} +\end{DoxyItemize}\hypertarget{documentation_guide_autotoc_md24}{}\doxysubsection{Adding Images}\label{documentation_guide_autotoc_md24} Use this pattern/format\+: \begin{DoxyCode}{0} \DoxyCodeLine{@image html "{}Documentation Guide.assets/Funny-\/Cat-\/Hidden.jpg"{}} diff --git a/Documentation/latex/driverlib_8h.tex b/Documentation/latex/driverlib_8h.tex new file mode 100644 index 0000000..f1ca48d --- /dev/null +++ b/Documentation/latex/driverlib_8h.tex @@ -0,0 +1,44 @@ +\hypertarget{driverlib_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/driverlib.h File Reference} +\label{driverlib_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/driverlib.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/driverlib.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}eusci\+\_\+b\+\_\+i2c.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}ctsd16.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}battbak.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}timer\+\_\+b.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}timer\+\_\+d.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}eusci\+\_\+a\+\_\+spi.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}eusci\+\_\+a\+\_\+uart.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}comp\+\_\+b.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}tlv.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}dac12\+\_\+a.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}timer\+\_\+a.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}usci\+\_\+a\+\_\+uart.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}pmm.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}sysctl.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}adc10\+\_\+a.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}sfr.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}mpy32.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}wdt\+\_\+a.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}ucs.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}pmap.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}rtc\+\_\+a.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}usci\+\_\+b\+\_\+i2c.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}usci\+\_\+b\+\_\+spi.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}ldopwr.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}lcd\+\_\+c.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}tec.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}rtc\+\_\+c.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}gpio.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}adc12\+\_\+a.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}aes.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}oa.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}rtc\+\_\+b.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}sd24\+\_\+b.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}ram.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}dma.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}ref.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}eusci\+\_\+b\+\_\+spi.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}usci\+\_\+a\+\_\+spi.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}lcd\+\_\+b.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}flashctl.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}crc.\+h\char`\"{}}\newline diff --git a/Documentation/latex/eusci__a__spi_8c.tex b/Documentation/latex/eusci__a__spi_8c.tex new file mode 100644 index 0000000..91b1b25 --- /dev/null +++ b/Documentation/latex/eusci__a__spi_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{eusci__a__spi_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/eusci\+\_\+a\+\_\+spi.c File Reference} +\label{eusci__a__spi_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_a\_spi.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_a\_spi.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/eusci__a__spi_8h.tex b/Documentation/latex/eusci__a__spi_8h.tex new file mode 100644 index 0000000..c4fe547 --- /dev/null +++ b/Documentation/latex/eusci__a__spi_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{eusci__a__spi_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/eusci\+\_\+a\+\_\+spi.h File Reference} +\label{eusci__a__spi_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_a\_spi.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_a\_spi.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/eusci__a__uart_8c.tex b/Documentation/latex/eusci__a__uart_8c.tex new file mode 100644 index 0000000..b758efc --- /dev/null +++ b/Documentation/latex/eusci__a__uart_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{eusci__a__uart_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/eusci\+\_\+a\+\_\+uart.c File Reference} +\label{eusci__a__uart_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_a\_uart.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_a\_uart.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/eusci__a__uart_8h.tex b/Documentation/latex/eusci__a__uart_8h.tex new file mode 100644 index 0000000..b66dc32 --- /dev/null +++ b/Documentation/latex/eusci__a__uart_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{eusci__a__uart_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/eusci\+\_\+a\+\_\+uart.h File Reference} +\label{eusci__a__uart_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_a\_uart.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_a\_uart.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/eusci__b__i2c_8c.tex b/Documentation/latex/eusci__b__i2c_8c.tex new file mode 100644 index 0000000..a951a76 --- /dev/null +++ b/Documentation/latex/eusci__b__i2c_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{eusci__b__i2c_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/eusci\+\_\+b\+\_\+i2c.c File Reference} +\label{eusci__b__i2c_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_b\_i2c.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_b\_i2c.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/eusci__b__i2c_8h.tex b/Documentation/latex/eusci__b__i2c_8h.tex new file mode 100644 index 0000000..f140304 --- /dev/null +++ b/Documentation/latex/eusci__b__i2c_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{eusci__b__i2c_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/eusci\+\_\+b\+\_\+i2c.h File Reference} +\label{eusci__b__i2c_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_b\_i2c.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_b\_i2c.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/eusci__b__spi_8c.tex b/Documentation/latex/eusci__b__spi_8c.tex new file mode 100644 index 0000000..129c899 --- /dev/null +++ b/Documentation/latex/eusci__b__spi_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{eusci__b__spi_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/eusci\+\_\+b\+\_\+spi.c File Reference} +\label{eusci__b__spi_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_b\_spi.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_b\_spi.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/eusci__b__spi_8h.tex b/Documentation/latex/eusci__b__spi_8h.tex new file mode 100644 index 0000000..8351b72 --- /dev/null +++ b/Documentation/latex/eusci__b__spi_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{eusci__b__spi_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/eusci\+\_\+b\+\_\+spi.h File Reference} +\label{eusci__b__spi_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_b\_spi.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/eusci\_b\_spi.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/files.tex b/Documentation/latex/files.tex index d92d158..cd437e1 100644 --- a/Documentation/latex/files.tex +++ b/Documentation/latex/files.tex @@ -1,4 +1,91 @@ \doxysection{File List} Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList} \item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\mbox{\hyperlink{main_8c}{main.\+c}} }{\pageref{main_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{adc10__a_8c}{adc10\+\_\+a.\+c}} }{\pageref{adc10__a_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{adc10__a_8h}{adc10\+\_\+a.\+h}} }{\pageref{adc10__a_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{adc12__a_8c}{adc12\+\_\+a.\+c}} }{\pageref{adc12__a_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{adc12__a_8h}{adc12\+\_\+a.\+h}} }{\pageref{adc12__a_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{aes_8c}{aes.\+c}} }{\pageref{aes_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{aes_8h}{aes.\+h}} }{\pageref{aes_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{battbak_8c}{battbak.\+c}} }{\pageref{battbak_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{battbak_8h}{battbak.\+h}} }{\pageref{battbak_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{comp__b_8c}{comp\+\_\+b.\+c}} }{\pageref{comp__b_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{comp__b_8h}{comp\+\_\+b.\+h}} }{\pageref{comp__b_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{crc_8c}{crc.\+c}} }{\pageref{crc_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{crc_8h}{crc.\+h}} }{\pageref{crc_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{ctsd16_8c}{ctsd16.\+c}} }{\pageref{ctsd16_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{ctsd16_8h}{ctsd16.\+h}} }{\pageref{ctsd16_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{dac12__a_8c}{dac12\+\_\+a.\+c}} }{\pageref{dac12__a_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{dac12__a_8h}{dac12\+\_\+a.\+h}} }{\pageref{dac12__a_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{dma_8c}{dma.\+c}} }{\pageref{dma_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{dma_8h}{dma.\+h}} }{\pageref{dma_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{driverlib_8h}{driverlib.\+h}} }{\pageref{driverlib_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{eusci__a__spi_8c}{eusci\+\_\+a\+\_\+spi.\+c}} }{\pageref{eusci__a__spi_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{eusci__a__spi_8h}{eusci\+\_\+a\+\_\+spi.\+h}} }{\pageref{eusci__a__spi_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{eusci__a__uart_8c}{eusci\+\_\+a\+\_\+uart.\+c}} }{\pageref{eusci__a__uart_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{eusci__a__uart_8h}{eusci\+\_\+a\+\_\+uart.\+h}} }{\pageref{eusci__a__uart_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{eusci__b__i2c_8c}{eusci\+\_\+b\+\_\+i2c.\+c}} }{\pageref{eusci__b__i2c_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{eusci__b__i2c_8h}{eusci\+\_\+b\+\_\+i2c.\+h}} }{\pageref{eusci__b__i2c_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{eusci__b__spi_8c}{eusci\+\_\+b\+\_\+spi.\+c}} }{\pageref{eusci__b__spi_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{eusci__b__spi_8h}{eusci\+\_\+b\+\_\+spi.\+h}} }{\pageref{eusci__b__spi_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{flashctl_8c}{flashctl.\+c}} }{\pageref{flashctl_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{flashctl_8h}{flashctl.\+h}} }{\pageref{flashctl_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{gpio_8c}{gpio.\+c}} }{\pageref{gpio_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{gpio_8h}{gpio.\+h}} }{\pageref{gpio_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{lcd__b_8c}{lcd\+\_\+b.\+c}} }{\pageref{lcd__b_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{lcd__b_8h}{lcd\+\_\+b.\+h}} }{\pageref{lcd__b_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{lcd__c_8c}{lcd\+\_\+c.\+c}} }{\pageref{lcd__c_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{lcd__c_8h}{lcd\+\_\+c.\+h}} }{\pageref{lcd__c_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{ldopwr_8c}{ldopwr.\+c}} }{\pageref{ldopwr_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{ldopwr_8h}{ldopwr.\+h}} }{\pageref{ldopwr_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{lextab_8py}{lextab.\+py}} }{\pageref{lextab_8py}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{mpy32_8c}{mpy32.\+c}} }{\pageref{mpy32_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{mpy32_8h}{mpy32.\+h}} }{\pageref{mpy32_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{oa_8c}{oa.\+c}} }{\pageref{oa_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{oa_8h}{oa.\+h}} }{\pageref{oa_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{pmap_8c}{pmap.\+c}} }{\pageref{pmap_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{pmap_8h}{pmap.\+h}} }{\pageref{pmap_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{pmm_8c}{pmm.\+c}} }{\pageref{pmm_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{pmm_8h}{pmm.\+h}} }{\pageref{pmm_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{ram_8c}{ram.\+c}} }{\pageref{ram_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{ram_8h}{ram.\+h}} }{\pageref{ram_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{ref_8c}{ref.\+c}} }{\pageref{ref_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{ref_8h}{ref.\+h}} }{\pageref{ref_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{rtc__a_8c}{rtc\+\_\+a.\+c}} }{\pageref{rtc__a_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{rtc__a_8h}{rtc\+\_\+a.\+h}} }{\pageref{rtc__a_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{rtc__b_8c}{rtc\+\_\+b.\+c}} }{\pageref{rtc__b_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{rtc__b_8h}{rtc\+\_\+b.\+h}} }{\pageref{rtc__b_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{rtc__c_8c}{rtc\+\_\+c.\+c}} }{\pageref{rtc__c_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{rtc__c_8h}{rtc\+\_\+c.\+h}} }{\pageref{rtc__c_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{sd24__b_8c}{sd24\+\_\+b.\+c}} }{\pageref{sd24__b_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{sd24__b_8h}{sd24\+\_\+b.\+h}} }{\pageref{sd24__b_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{sfr_8c}{sfr.\+c}} }{\pageref{sfr_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{sfr_8h}{sfr.\+h}} }{\pageref{sfr_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{sysctl_8c}{sysctl.\+c}} }{\pageref{sysctl_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{sysctl_8h}{sysctl.\+h}} }{\pageref{sysctl_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{tec_8c}{tec.\+c}} }{\pageref{tec_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{tec_8h}{tec.\+h}} }{\pageref{tec_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{timer__a_8c}{timer\+\_\+a.\+c}} }{\pageref{timer__a_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{timer__a_8h}{timer\+\_\+a.\+h}} }{\pageref{timer__a_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{timer__b_8c}{timer\+\_\+b.\+c}} }{\pageref{timer__b_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{timer__b_8h}{timer\+\_\+b.\+h}} }{\pageref{timer__b_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{timer__d_8c}{timer\+\_\+d.\+c}} }{\pageref{timer__d_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{timer__d_8h}{timer\+\_\+d.\+h}} }{\pageref{timer__d_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{tlv_8c}{tlv.\+c}} }{\pageref{tlv_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{tlv_8h}{tlv.\+h}} }{\pageref{tlv_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{ucs_8c}{ucs.\+c}} }{\pageref{ucs_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{ucs_8h}{ucs.\+h}} }{\pageref{ucs_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{usci__a__spi_8c}{usci\+\_\+a\+\_\+spi.\+c}} }{\pageref{usci__a__spi_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{usci__a__spi_8h}{usci\+\_\+a\+\_\+spi.\+h}} }{\pageref{usci__a__spi_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{usci__a__uart_8c}{usci\+\_\+a\+\_\+uart.\+c}} }{\pageref{usci__a__uart_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{usci__a__uart_8h}{usci\+\_\+a\+\_\+uart.\+h}} }{\pageref{usci__a__uart_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{usci__b__i2c_8c}{usci\+\_\+b\+\_\+i2c.\+c}} }{\pageref{usci__b__i2c_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{usci__b__i2c_8h}{usci\+\_\+b\+\_\+i2c.\+h}} }{\pageref{usci__b__i2c_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{usci__b__spi_8c}{usci\+\_\+b\+\_\+spi.\+c}} }{\pageref{usci__b__spi_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{usci__b__spi_8h}{usci\+\_\+b\+\_\+spi.\+h}} }{\pageref{usci__b__spi_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{wdt__a_8c}{wdt\+\_\+a.\+c}} }{\pageref{wdt__a_8c}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{wdt__a_8h}{wdt\+\_\+a.\+h}} }{\pageref{wdt__a_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/\mbox{\hyperlink{yacctab_8py}{yacctab.\+py}} }{\pageref{yacctab_8py}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/inc/\mbox{\hyperlink{hw__memmap_8h}{hw\+\_\+memmap.\+h}} }{\pageref{hw__memmap_8h}}{} +\item\contentsline{section}{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/inc/\mbox{\hyperlink{version_8h}{version.\+h}} }{\pageref{version_8h}}{} \end{DoxyCompactList} diff --git a/Documentation/latex/flashctl_8c.tex b/Documentation/latex/flashctl_8c.tex new file mode 100644 index 0000000..1bab7d9 --- /dev/null +++ b/Documentation/latex/flashctl_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{flashctl_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/flashctl.c File Reference} +\label{flashctl_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/flashctl.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/flashctl.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/flashctl_8h.tex b/Documentation/latex/flashctl_8h.tex new file mode 100644 index 0000000..19031ec --- /dev/null +++ b/Documentation/latex/flashctl_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{flashctl_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/flashctl.h File Reference} +\label{flashctl_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/flashctl.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/flashctl.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/gpio_8c.tex b/Documentation/latex/gpio_8c.tex new file mode 100644 index 0000000..ae617e8 --- /dev/null +++ b/Documentation/latex/gpio_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{gpio_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/gpio.c File Reference} +\label{gpio_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/gpio.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/gpio.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/gpio_8h.tex b/Documentation/latex/gpio_8h.tex new file mode 100644 index 0000000..1785ecf --- /dev/null +++ b/Documentation/latex/gpio_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{gpio_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/gpio.h File Reference} +\label{gpio_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/gpio.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/gpio.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/group__adc10__a__api.tex b/Documentation/latex/group__adc10__a__api.tex new file mode 100644 index 0000000..aae995f --- /dev/null +++ b/Documentation/latex/group__adc10__a__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__adc10__a__api}{}\doxysection{adc10\+\_\+a} +\label{group__adc10__a__api}\index{adc10\_a@{adc10\_a}} diff --git a/Documentation/latex/group__adc12__a__api.tex b/Documentation/latex/group__adc12__a__api.tex new file mode 100644 index 0000000..e8abe49 --- /dev/null +++ b/Documentation/latex/group__adc12__a__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__adc12__a__api}{}\doxysection{adc12\+\_\+a} +\label{group__adc12__a__api}\index{adc12\_a@{adc12\_a}} diff --git a/Documentation/latex/group__aes__api.tex b/Documentation/latex/group__aes__api.tex new file mode 100644 index 0000000..4d970f7 --- /dev/null +++ b/Documentation/latex/group__aes__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__aes__api}{}\doxysection{aes} +\label{group__aes__api}\index{aes@{aes}} diff --git a/Documentation/latex/group__battbak__api.tex b/Documentation/latex/group__battbak__api.tex new file mode 100644 index 0000000..7279763 --- /dev/null +++ b/Documentation/latex/group__battbak__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__battbak__api}{}\doxysection{battbak} +\label{group__battbak__api}\index{battbak@{battbak}} diff --git a/Documentation/latex/group__comp__b__api.tex b/Documentation/latex/group__comp__b__api.tex new file mode 100644 index 0000000..a0de6dd --- /dev/null +++ b/Documentation/latex/group__comp__b__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__comp__b__api}{}\doxysection{comp\+\_\+b} +\label{group__comp__b__api}\index{comp\_b@{comp\_b}} diff --git a/Documentation/latex/group__crc__api.tex b/Documentation/latex/group__crc__api.tex new file mode 100644 index 0000000..eba9fac --- /dev/null +++ b/Documentation/latex/group__crc__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__crc__api}{}\doxysection{crc} +\label{group__crc__api}\index{crc@{crc}} diff --git a/Documentation/latex/group__ctsd16__api.tex b/Documentation/latex/group__ctsd16__api.tex new file mode 100644 index 0000000..eb7afd4 --- /dev/null +++ b/Documentation/latex/group__ctsd16__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__ctsd16__api}{}\doxysection{ctsd16} +\label{group__ctsd16__api}\index{ctsd16@{ctsd16}} diff --git a/Documentation/latex/group__dac12__a__api.tex b/Documentation/latex/group__dac12__a__api.tex new file mode 100644 index 0000000..10d935d --- /dev/null +++ b/Documentation/latex/group__dac12__a__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__dac12__a__api}{}\doxysection{dac12\+\_\+a} +\label{group__dac12__a__api}\index{dac12\_a@{dac12\_a}} diff --git a/Documentation/latex/group__dma__api.tex b/Documentation/latex/group__dma__api.tex new file mode 100644 index 0000000..095034e --- /dev/null +++ b/Documentation/latex/group__dma__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__dma__api}{}\doxysection{dma} +\label{group__dma__api}\index{dma@{dma}} diff --git a/Documentation/latex/group__eusci__a__spi__api.tex b/Documentation/latex/group__eusci__a__spi__api.tex new file mode 100644 index 0000000..c3d0558 --- /dev/null +++ b/Documentation/latex/group__eusci__a__spi__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__eusci__a__spi__api}{}\doxysection{eusci\+\_\+a\+\_\+spi} +\label{group__eusci__a__spi__api}\index{eusci\_a\_spi@{eusci\_a\_spi}} diff --git a/Documentation/latex/group__eusci__a__uart__api.tex b/Documentation/latex/group__eusci__a__uart__api.tex new file mode 100644 index 0000000..93dcf0b --- /dev/null +++ b/Documentation/latex/group__eusci__a__uart__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__eusci__a__uart__api}{}\doxysection{eusci\+\_\+a\+\_\+uart} +\label{group__eusci__a__uart__api}\index{eusci\_a\_uart@{eusci\_a\_uart}} diff --git a/Documentation/latex/group__eusci__b__i2c__api.tex b/Documentation/latex/group__eusci__b__i2c__api.tex new file mode 100644 index 0000000..e78e539 --- /dev/null +++ b/Documentation/latex/group__eusci__b__i2c__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__eusci__b__i2c__api}{}\doxysection{eusci\+\_\+b\+\_\+i2c} +\label{group__eusci__b__i2c__api}\index{eusci\_b\_i2c@{eusci\_b\_i2c}} diff --git a/Documentation/latex/group__eusci__b__spi__api.tex b/Documentation/latex/group__eusci__b__spi__api.tex new file mode 100644 index 0000000..b88e67f --- /dev/null +++ b/Documentation/latex/group__eusci__b__spi__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__eusci__b__spi__api}{}\doxysection{eusci\+\_\+b\+\_\+spi} +\label{group__eusci__b__spi__api}\index{eusci\_b\_spi@{eusci\_b\_spi}} diff --git a/Documentation/latex/group__flashctl__api.tex b/Documentation/latex/group__flashctl__api.tex new file mode 100644 index 0000000..e1873d0 --- /dev/null +++ b/Documentation/latex/group__flashctl__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__flashctl__api}{}\doxysection{flashctl} +\label{group__flashctl__api}\index{flashctl@{flashctl}} diff --git a/Documentation/latex/group__gpio__api.tex b/Documentation/latex/group__gpio__api.tex new file mode 100644 index 0000000..938acb6 --- /dev/null +++ b/Documentation/latex/group__gpio__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__gpio__api}{}\doxysection{gpio} +\label{group__gpio__api}\index{gpio@{gpio}} diff --git a/Documentation/latex/group__lcd__b__api.tex b/Documentation/latex/group__lcd__b__api.tex new file mode 100644 index 0000000..432bec9 --- /dev/null +++ b/Documentation/latex/group__lcd__b__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__lcd__b__api}{}\doxysection{lcd\+\_\+b} +\label{group__lcd__b__api}\index{lcd\_b@{lcd\_b}} diff --git a/Documentation/latex/group__lcd__c__api.tex b/Documentation/latex/group__lcd__c__api.tex new file mode 100644 index 0000000..08adef9 --- /dev/null +++ b/Documentation/latex/group__lcd__c__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__lcd__c__api}{}\doxysection{lcd\+\_\+c} +\label{group__lcd__c__api}\index{lcd\_c@{lcd\_c}} diff --git a/Documentation/latex/group__ldopwr__api.tex b/Documentation/latex/group__ldopwr__api.tex new file mode 100644 index 0000000..6bf96f4 --- /dev/null +++ b/Documentation/latex/group__ldopwr__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__ldopwr__api}{}\doxysection{ldopwr} +\label{group__ldopwr__api}\index{ldopwr@{ldopwr}} diff --git a/Documentation/latex/group__mpy32__api.tex b/Documentation/latex/group__mpy32__api.tex new file mode 100644 index 0000000..059cf7f --- /dev/null +++ b/Documentation/latex/group__mpy32__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__mpy32__api}{}\doxysection{mpy32} +\label{group__mpy32__api}\index{mpy32@{mpy32}} diff --git a/Documentation/latex/group__oa__api.tex b/Documentation/latex/group__oa__api.tex new file mode 100644 index 0000000..99d4e73 --- /dev/null +++ b/Documentation/latex/group__oa__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__oa__api}{}\doxysection{oa} +\label{group__oa__api}\index{oa@{oa}} diff --git a/Documentation/latex/group__pmap__api.tex b/Documentation/latex/group__pmap__api.tex new file mode 100644 index 0000000..55fe59d --- /dev/null +++ b/Documentation/latex/group__pmap__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__pmap__api}{}\doxysection{pmap} +\label{group__pmap__api}\index{pmap@{pmap}} diff --git a/Documentation/latex/group__pmm__api.tex b/Documentation/latex/group__pmm__api.tex new file mode 100644 index 0000000..44c1009 --- /dev/null +++ b/Documentation/latex/group__pmm__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__pmm__api}{}\doxysection{pmm} +\label{group__pmm__api}\index{pmm@{pmm}} diff --git a/Documentation/latex/group__ram__api.tex b/Documentation/latex/group__ram__api.tex new file mode 100644 index 0000000..30936e1 --- /dev/null +++ b/Documentation/latex/group__ram__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__ram__api}{}\doxysection{ram} +\label{group__ram__api}\index{ram@{ram}} diff --git a/Documentation/latex/group__ref__api.tex b/Documentation/latex/group__ref__api.tex new file mode 100644 index 0000000..5624469 --- /dev/null +++ b/Documentation/latex/group__ref__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__ref__api}{}\doxysection{ref} +\label{group__ref__api}\index{ref@{ref}} diff --git a/Documentation/latex/group__rtc__a__api.tex b/Documentation/latex/group__rtc__a__api.tex new file mode 100644 index 0000000..b3c8a2a --- /dev/null +++ b/Documentation/latex/group__rtc__a__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__rtc__a__api}{}\doxysection{rtc\+\_\+a} +\label{group__rtc__a__api}\index{rtc\_a@{rtc\_a}} diff --git a/Documentation/latex/group__rtc__b__api.tex b/Documentation/latex/group__rtc__b__api.tex new file mode 100644 index 0000000..67f3c27 --- /dev/null +++ b/Documentation/latex/group__rtc__b__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__rtc__b__api}{}\doxysection{rtc\+\_\+b} +\label{group__rtc__b__api}\index{rtc\_b@{rtc\_b}} diff --git a/Documentation/latex/group__rtc__c__api.tex b/Documentation/latex/group__rtc__c__api.tex new file mode 100644 index 0000000..66146f5 --- /dev/null +++ b/Documentation/latex/group__rtc__c__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__rtc__c__api}{}\doxysection{rtc\+\_\+c} +\label{group__rtc__c__api}\index{rtc\_c@{rtc\_c}} diff --git a/Documentation/latex/group__sd24__b__api.tex b/Documentation/latex/group__sd24__b__api.tex new file mode 100644 index 0000000..f1c8314 --- /dev/null +++ b/Documentation/latex/group__sd24__b__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__sd24__b__api}{}\doxysection{sd24\+\_\+b} +\label{group__sd24__b__api}\index{sd24\_b@{sd24\_b}} diff --git a/Documentation/latex/group__sfr__api.tex b/Documentation/latex/group__sfr__api.tex new file mode 100644 index 0000000..b2c57f7 --- /dev/null +++ b/Documentation/latex/group__sfr__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__sfr__api}{}\doxysection{sfr} +\label{group__sfr__api}\index{sfr@{sfr}} diff --git a/Documentation/latex/group__sysctl__api.tex b/Documentation/latex/group__sysctl__api.tex new file mode 100644 index 0000000..aa11092 --- /dev/null +++ b/Documentation/latex/group__sysctl__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__sysctl__api}{}\doxysection{sysctl} +\label{group__sysctl__api}\index{sysctl@{sysctl}} diff --git a/Documentation/latex/group__tec__api.tex b/Documentation/latex/group__tec__api.tex new file mode 100644 index 0000000..d5874de --- /dev/null +++ b/Documentation/latex/group__tec__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__tec__api}{}\doxysection{tec} +\label{group__tec__api}\index{tec@{tec}} diff --git a/Documentation/latex/group__timer__a__api.tex b/Documentation/latex/group__timer__a__api.tex new file mode 100644 index 0000000..2df4e63 --- /dev/null +++ b/Documentation/latex/group__timer__a__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__timer__a__api}{}\doxysection{timer\+\_\+a} +\label{group__timer__a__api}\index{timer\_a@{timer\_a}} diff --git a/Documentation/latex/group__timer__b__api.tex b/Documentation/latex/group__timer__b__api.tex new file mode 100644 index 0000000..74c36d7 --- /dev/null +++ b/Documentation/latex/group__timer__b__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__timer__b__api}{}\doxysection{timer\+\_\+b} +\label{group__timer__b__api}\index{timer\_b@{timer\_b}} diff --git a/Documentation/latex/group__timer__d__api.tex b/Documentation/latex/group__timer__d__api.tex new file mode 100644 index 0000000..9e6f07b --- /dev/null +++ b/Documentation/latex/group__timer__d__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__timer__d__api}{}\doxysection{timer\+\_\+d} +\label{group__timer__d__api}\index{timer\_d@{timer\_d}} diff --git a/Documentation/latex/group__tlv__api.tex b/Documentation/latex/group__tlv__api.tex new file mode 100644 index 0000000..46a6495 --- /dev/null +++ b/Documentation/latex/group__tlv__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__tlv__api}{}\doxysection{tlv} +\label{group__tlv__api}\index{tlv@{tlv}} diff --git a/Documentation/latex/group__ucs__api.tex b/Documentation/latex/group__ucs__api.tex new file mode 100644 index 0000000..579e7b2 --- /dev/null +++ b/Documentation/latex/group__ucs__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__ucs__api}{}\doxysection{ucs} +\label{group__ucs__api}\index{ucs@{ucs}} diff --git a/Documentation/latex/group__usci__a__spi__api.tex b/Documentation/latex/group__usci__a__spi__api.tex new file mode 100644 index 0000000..1af174f --- /dev/null +++ b/Documentation/latex/group__usci__a__spi__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__usci__a__spi__api}{}\doxysection{usci\+\_\+a\+\_\+spi} +\label{group__usci__a__spi__api}\index{usci\_a\_spi@{usci\_a\_spi}} diff --git a/Documentation/latex/group__usci__a__uart__api.tex b/Documentation/latex/group__usci__a__uart__api.tex new file mode 100644 index 0000000..0c29324 --- /dev/null +++ b/Documentation/latex/group__usci__a__uart__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__usci__a__uart__api}{}\doxysection{usci\+\_\+a\+\_\+uart} +\label{group__usci__a__uart__api}\index{usci\_a\_uart@{usci\_a\_uart}} diff --git a/Documentation/latex/group__usci__b__i2c__api.tex b/Documentation/latex/group__usci__b__i2c__api.tex new file mode 100644 index 0000000..f60089d --- /dev/null +++ b/Documentation/latex/group__usci__b__i2c__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__usci__b__i2c__api}{}\doxysection{usci\+\_\+b\+\_\+i2c} +\label{group__usci__b__i2c__api}\index{usci\_b\_i2c@{usci\_b\_i2c}} diff --git a/Documentation/latex/group__usci__b__spi__api.tex b/Documentation/latex/group__usci__b__spi__api.tex new file mode 100644 index 0000000..0a2c9c8 --- /dev/null +++ b/Documentation/latex/group__usci__b__spi__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__usci__b__spi__api}{}\doxysection{usci\+\_\+b\+\_\+spi} +\label{group__usci__b__spi__api}\index{usci\_b\_spi@{usci\_b\_spi}} diff --git a/Documentation/latex/group__wdt__a__api.tex b/Documentation/latex/group__wdt__a__api.tex new file mode 100644 index 0000000..b3705c9 --- /dev/null +++ b/Documentation/latex/group__wdt__a__api.tex @@ -0,0 +1,2 @@ +\hypertarget{group__wdt__a__api}{}\doxysection{wdt\+\_\+a} +\label{group__wdt__a__api}\index{wdt\_a@{wdt\_a}} diff --git a/Documentation/latex/hardware.tex b/Documentation/latex/hardware.tex index 916e2c5..81d00a1 100644 --- a/Documentation/latex/hardware.tex +++ b/Documentation/latex/hardware.tex @@ -22,10 +22,21 @@ \end{DoxyItemize} \end{DoxyItemize}\hypertarget{designChoices}{}\doxysection{Design Choices}\label{designChoices} \hypertarget{design_choices_autotoc_md2}{}\doxysubsection{JTAG Interface}\label{design_choices_autotoc_md2} -When connecting the MCU to the programmer via the JTAG interface, it is possible for a local power supply connected to the MCU to be used or for power from the debugging/programming adapter to be used. Since having power supplied to the MCU from the debugging/programming adapter can be useful for use outside of the Sunseeker vehicle, we chose to use that.\hypertarget{design_choices_autotoc_md3}{}\doxysubsection{Microcontroller Peripheral Connections}\label{design_choices_autotoc_md3} -Universal Serial Communication Interfaces (USCIs)\+: +When connecting the MCU to the programmer via the JTAG interface, it is possible for a local power supply connected to the MCU to be used or for power from the debugging/programming adapter to be used. Since having power supplied to the MCU from the debugging/programming adapter can be useful for use outside of the Sunseeker vehicle, we chose to use that.\hypertarget{design_choices_autotoc_md3}{}\doxysubsection{Microcontroller Connections}\label{design_choices_autotoc_md3} +The board is going to be organized to the best of our abilities to be organized as such\+: +\begin{DoxyItemize} +\item Left Side\+: +\begin{DoxyItemize} +\item Peripherals for communicating with/controlling the Sunseeker vehicle +\end{DoxyItemize} +\item Right Side\+: +\begin{DoxyItemize} +\item Peripherals for communicating with users +\end{DoxyItemize} +\end{DoxyItemize}\hypertarget{design_choices_autotoc_md4}{}\doxysubparagraph{Universal Serial Communication Interfaces (\+USCIs)\+:}\label{design_choices_autotoc_md4} + \begin{DoxyItemize} \item A -\/ Supporting up to four total of UART and/or SPI \begin{DoxyItemize} @@ -37,11 +48,11 @@ Universal Serial Communication Interfaces (USCIs)\+: \item A1\+: \item A2 \mbox{[}UART\mbox{]}\+: \begin{DoxyItemize} -\item RS-\/232 Transceiver (STMicroelectronics ST232\+CDR) +\item USB to UART Bridge (Future Technology Devices International FT230\+XS-\/R) \end{DoxyItemize} \item A3 \mbox{[}UART\mbox{]}\+: \begin{DoxyItemize} -\item USB to UART Bridge (Future Technology Devices International FT230\+XS-\/R) +\item RS-\/232 Transceiver (STMicroelectronics ST232\+CDR) \end{DoxyItemize} \end{DoxyItemize} \item B -\/ Supporting up to four total of I2C and/or SPI @@ -49,22 +60,23 @@ Universal Serial Communication Interfaces (USCIs)\+: \item B0 \mbox{[}SPI\mbox{]}\+: \begin{DoxyItemize} \item SD Card -\item GPS Receiver (Maxim Integrated ‎\+MAX2771\+ETI+T) +\item GPS Receiver (U-\/\+Blox NEO-\/\+M8\+Q-\/01A) \end{DoxyItemize} -\item B1 \mbox{[}SPI\mbox{]}\+: +\item B1 \mbox{[}I2C\mbox{]}\+: +\begin{DoxyItemize} +\item Inertial Measurement Unit (TDK Inven\+Sense ICM-\/20948) +\item Real-\/\+Time Clock/\+Calendar (Microchip Technology ‎\+MCP7940\+MT-\/\+I/\+SN) +\end{DoxyItemize} +\item B2\+: +\item B3 \mbox{[}SPI\mbox{]}\+: \begin{DoxyItemize} \item Bluetooth/\+Wi-\/\+Fi (Espressif Systems ESP32-\/\+WROVER-\/\+IE (8MB)) \end{DoxyItemize} -\item B2 \mbox{[}I2C\mbox{]}\+: -\begin{DoxyItemize} -\item Inertial Measurement Unit (TDK Inven\+Sense ICM-\/20600) -\item Real-\/\+Time Clock/\+Calendar (Microchip Technology ‎\+MCP7940\+MT-\/\+I/\+SN) -\end{DoxyItemize} \end{DoxyItemize} \end{DoxyItemize} -The thinking behind this so far, is to try and balance the load between the modules with SPI protocol being used in more high data-\/rate peripherals and I2C used with lower or less-\/used peripherals. \hypertarget{deviceSpecifications}{}\doxysection{Device Specifications}\label{deviceSpecifications} -\hypertarget{device_specifications_autotoc_md4}{}\doxysubsubsection{Microcontroller\+: Texas Instruments MSP430\+F5438\+AIPZR}\label{device_specifications_autotoc_md4} +In addition to trying to keep the MCU and PCB organized with the left-\/side being to do with the Sunseeker vehicle and the right side to be peripherals interacting with users, we tried to also load-\/balance the USCI modules, as well as have the SPI protocol be used in more high data-\/rate peripherals and I2C used with lower or less-\/used peripherals. In Texas Instruments SLAS655G Document \mbox{[}Page 7\mbox{]} has a pin diagram showing the physical location of where each pin is physically located. \hypertarget{deviceSpecifications}{}\doxysection{Device Specifications}\label{deviceSpecifications} +\hypertarget{device_specifications_autotoc_md5}{}\doxysubsubsection{Microcontroller\+: Texas Instruments MSP430\+F5438\+AIPZR}\label{device_specifications_autotoc_md5} \begin{DoxyItemize} \item 1.\+8 V to 3.\+6 V Supply Voltage @@ -88,7 +100,7 @@ The thinking behind this so far, is to try and balance the load between the modu \item 14 external channels \end{DoxyItemize} \end{DoxyItemize} -\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md5}{}\doxysubsubsection{Real-\/\+Time Clock/\+Calendar\+: Microchip Technology ‎\+MCP7940\+MT-\/\+I/\+SN}\label{device_specifications_autotoc_md5} +\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md6}{}\doxysubsubsection{Real-\/\+Time Clock/\+Calendar\+: Microchip Technology ‎\+MCP7940\+MT-\/\+I/\+SN}\label{device_specifications_autotoc_md6} \begin{DoxyItemize} \item 1.\+8 V to 5.\+5 V Supply Voltage @@ -100,7 +112,7 @@ The thinking behind this so far, is to try and balance the load between the modu \item Clock rate up to 400 k\+Hz \end{DoxyItemize} \end{DoxyItemize} -\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md6}{}\doxysubsubsection{Bluetooth/\+Wi-\/\+Fi\+: Espressif Systems ESP32-\/\+WROVER-\/\+IE (8\+MB)}\label{device_specifications_autotoc_md6} +\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md7}{}\doxysubsubsection{Bluetooth/\+Wi-\/\+Fi\+: Espressif Systems ESP32-\/\+WROVER-\/\+IE (8\+MB)}\label{device_specifications_autotoc_md7} \begin{DoxyItemize} \item 3.\+0 V to 3.\+6 V Supply Voltage @@ -125,19 +137,25 @@ The thinking behind this so far, is to try and balance the load between the modu \item Up to 5 Mbps \end{DoxyItemize} \end{DoxyItemize} -\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md7}{}\doxysubsubsection{GPS Receiver\+: Maxim Integrated ‎\+MAX2771\+ETI+T}\label{device_specifications_autotoc_md7} +\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md8}{}\doxysubsubsection{GPS Receiver\+: U-\/\+Blox NEO-\/\+M8\+Q-\/01A}\label{device_specifications_autotoc_md8} \begin{DoxyItemize} -\item 2.\+7 V to 3.\+3 V Supply Voltage +\item 2.\+7 V to 3.\+6 V \item Notable Peripherals\+: \begin{DoxyItemize} \item SPI \begin{DoxyItemize} -\item Slave only -\item Need to calculate frequency +\item Slave Only +\item 5.\+5 MHz +\end{DoxyItemize} +\item UART +\item I2C (Also called Display Data Channel (DDC)) +\begin{DoxyItemize} +\item Slave Only +\item 400 k\+Hz \end{DoxyItemize} \end{DoxyItemize} -\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md8}{}\doxysubsubsection{CANbus Controller\+: Microchip Technology MCP2515\+T-\/\+I/\+SO}\label{device_specifications_autotoc_md8} +\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md9}{}\doxysubsubsection{CANbus Controller\+: Microchip Technology MCP2515\+T-\/\+I/\+SO}\label{device_specifications_autotoc_md9} \begin{DoxyItemize} \item 2.\+7 V to 5.\+5 V Supply Voltage @@ -149,12 +167,12 @@ The thinking behind this so far, is to try and balance the load between the modu \item 10 MHz \end{DoxyItemize} \end{DoxyItemize} -\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md9}{}\doxysubsubsection{CANbus Transceiver\+: ‎\+Microchip Technology MCP2542\+FD-\/\+H/\+SN}\label{device_specifications_autotoc_md9} +\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md10}{}\doxysubsubsection{CANbus Transceiver\+: ‎\+Microchip Technology MCP2542\+FD-\/\+H/\+SN}\label{device_specifications_autotoc_md10} \begin{DoxyItemize} \item 4.\+5 V to 5.\+5 V Supply Voltage \item Used directly with CANbus Controller -\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md10}{}\doxysubsubsection{SD Card (\+Generic)}\label{device_specifications_autotoc_md10} +\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md11}{}\doxysubsubsection{SD Card (\+Generic)}\label{device_specifications_autotoc_md11} \begin{DoxyItemize} \item 2.\+7 V to 3.\+6 V Supply Voltage @@ -162,7 +180,7 @@ The thinking behind this so far, is to try and balance the load between the modu \begin{DoxyItemize} \item SPI \end{DoxyItemize} -\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md11}{}\doxysubsubsection{USB to UART Bridge\+: Future Technology Devices International FT230\+XS-\/R}\label{device_specifications_autotoc_md11} +\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md12}{}\doxysubsubsection{USB to UART Bridge\+: Future Technology Devices International FT230\+XS-\/R}\label{device_specifications_autotoc_md12} \begin{DoxyItemize} \item 3 V to 5 V Supply Voltage @@ -170,15 +188,16 @@ The thinking behind this so far, is to try and balance the load between the modu \begin{DoxyItemize} \item UART \end{DoxyItemize} -\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md12}{}\doxysubsubsection{RS-\/232 Transceiver\+: STMicroelectronics ST232\+CDR}\label{device_specifications_autotoc_md12} +\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md13}{}\doxysubsubsection{RS-\/232 Transceiver\+: STMicroelectronics ST232\+CDR}\label{device_specifications_autotoc_md13} \begin{DoxyItemize} \item 4.\+5 V to 5.\+5 V Supply Voltage \item Will use UART from the MCU -\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md13}{}\doxysubsubsection{Inertial Measurement Unit\+: TDK Inven\+Sense ICM-\/20600}\label{device_specifications_autotoc_md13} +\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md14}{}\doxysubsubsection{Inertial Measurement Unit\+: TDK Inven\+Sense ICM-\/20948}\label{device_specifications_autotoc_md14} \begin{DoxyItemize} -\item 1.\+71 V to 3.\+45 V Supply Voltage +\item 1.\+71 V to 3.\+6 V Supply Voltage +\item VDDIO Voltage input also needed from 1.\+71 V to 1.\+95 V \item Notable Peripherals\+: \begin{DoxyItemize} \item I2C @@ -189,7 +208,7 @@ The thinking behind this so far, is to try and balance the load between the modu \item SPI \begin{DoxyItemize} \item Slave only -\item 10 MHz +\item 7 MHz \end{DoxyItemize} \end{DoxyItemize} \end{DoxyItemize} \ No newline at end of file diff --git a/Documentation/latex/hw__memmap_8h.tex b/Documentation/latex/hw__memmap_8h.tex new file mode 100644 index 0000000..c959449 --- /dev/null +++ b/Documentation/latex/hw__memmap_8h.tex @@ -0,0 +1,96 @@ +\hypertarget{hw__memmap_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/inc/hw\+\_\+memmap.h File Reference} +\label{hw__memmap_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/inc/hw\_memmap.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/inc/hw\_memmap.h}} +{\ttfamily \#include $<$msp430.\+h$>$}\newline +{\ttfamily \#include \char`\"{}msp430f5xx\+\_\+6xxgeneric.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}stdint.\+h\char`\"{}}\newline +{\ttfamily \#include \char`\"{}stdbool.\+h\char`\"{}}\newline +\doxysubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{hw__memmap_8h_a97af2b5e31182f676ac18b271c0edebf}{\+\_\+\+\_\+\+DRIVERLIB\+\_\+\+MSP430\+F5\+XX\+\_\+6\+XX\+\_\+\+FAMILY\+\_\+\+\_\+}} +\item +\#define \mbox{\hyperlink{hw__memmap_8h_ae56fdb340b23940f7a64ed2e37c1774a}{STATUS\+\_\+\+SUCCESS}}~0x01 +\item +\#define \mbox{\hyperlink{hw__memmap_8h_a9024ed05f7df784637ef7b44ca8caf97}{STATUS\+\_\+\+FAIL}}~0x00 +\item +\#define \mbox{\hyperlink{hw__memmap_8h_a8de3ed741dadc9c979a4ff17c0a9116e}{NDEBUG}} +\item +\#define \mbox{\hyperlink{hw__memmap_8h_a005bc3d0bebdd1031a77f1fba8947998}{HWREG32}}(x)~ ($\ast$((volatile uint32\+\_\+t $\ast$)((uint16\+\_\+t)x))) +\item +\#define \mbox{\hyperlink{hw__memmap_8h_a7bb830016238e9f911612eddc5e58143}{HWREG16}}(x)~ ($\ast$((volatile uint16\+\_\+t $\ast$)((uint16\+\_\+t)x))) +\item +\#define \mbox{\hyperlink{hw__memmap_8h_a437bba8c6aaa7542f8d7522146157b42}{HWREG8}}(x)~ ($\ast$((volatile uint8\+\_\+t $\ast$)((uint16\+\_\+t)x))) +\end{DoxyCompactItemize} + + +\doxysubsection{Macro Definition Documentation} +\mbox{\Hypertarget{hw__memmap_8h_a97af2b5e31182f676ac18b271c0edebf}\label{hw__memmap_8h_a97af2b5e31182f676ac18b271c0edebf}} +\index{hw\_memmap.h@{hw\_memmap.h}!\_\_DRIVERLIB\_MSP430F5XX\_6XX\_FAMILY\_\_@{\_\_DRIVERLIB\_MSP430F5XX\_6XX\_FAMILY\_\_}} +\index{\_\_DRIVERLIB\_MSP430F5XX\_6XX\_FAMILY\_\_@{\_\_DRIVERLIB\_MSP430F5XX\_6XX\_FAMILY\_\_}!hw\_memmap.h@{hw\_memmap.h}} +\doxysubsubsection{\texorpdfstring{\_\_DRIVERLIB\_MSP430F5XX\_6XX\_FAMILY\_\_}{\_\_DRIVERLIB\_MSP430F5XX\_6XX\_FAMILY\_\_}} +{\footnotesize\ttfamily \#define \+\_\+\+\_\+\+DRIVERLIB\+\_\+\+MSP430\+F5\+XX\+\_\+6\+XX\+\_\+\+FAMILY\+\_\+\+\_\+} + + + +Definition at line 4 of file hw\+\_\+memmap.\+h. + +\mbox{\Hypertarget{hw__memmap_8h_a7bb830016238e9f911612eddc5e58143}\label{hw__memmap_8h_a7bb830016238e9f911612eddc5e58143}} +\index{hw\_memmap.h@{hw\_memmap.h}!HWREG16@{HWREG16}} +\index{HWREG16@{HWREG16}!hw\_memmap.h@{hw\_memmap.h}} +\doxysubsubsection{\texorpdfstring{HWREG16}{HWREG16}} +{\footnotesize\ttfamily \#define HWREG16(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~ ($\ast$((volatile uint16\+\_\+t $\ast$)((uint16\+\_\+t)x)))} + + + +Definition at line 39 of file hw\+\_\+memmap.\+h. + +\mbox{\Hypertarget{hw__memmap_8h_a005bc3d0bebdd1031a77f1fba8947998}\label{hw__memmap_8h_a005bc3d0bebdd1031a77f1fba8947998}} +\index{hw\_memmap.h@{hw\_memmap.h}!HWREG32@{HWREG32}} +\index{HWREG32@{HWREG32}!hw\_memmap.h@{hw\_memmap.h}} +\doxysubsubsection{\texorpdfstring{HWREG32}{HWREG32}} +{\footnotesize\ttfamily \#define HWREG32(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~ ($\ast$((volatile uint32\+\_\+t $\ast$)((uint16\+\_\+t)x)))} + + + +Definition at line 37 of file hw\+\_\+memmap.\+h. + +\mbox{\Hypertarget{hw__memmap_8h_a437bba8c6aaa7542f8d7522146157b42}\label{hw__memmap_8h_a437bba8c6aaa7542f8d7522146157b42}} +\index{hw\_memmap.h@{hw\_memmap.h}!HWREG8@{HWREG8}} +\index{HWREG8@{HWREG8}!hw\_memmap.h@{hw\_memmap.h}} +\doxysubsubsection{\texorpdfstring{HWREG8}{HWREG8}} +{\footnotesize\ttfamily \#define HWREG8(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~ ($\ast$((volatile uint8\+\_\+t $\ast$)((uint16\+\_\+t)x)))} + + + +Definition at line 41 of file hw\+\_\+memmap.\+h. + +\mbox{\Hypertarget{hw__memmap_8h_a8de3ed741dadc9c979a4ff17c0a9116e}\label{hw__memmap_8h_a8de3ed741dadc9c979a4ff17c0a9116e}} +\index{hw\_memmap.h@{hw\_memmap.h}!NDEBUG@{NDEBUG}} +\index{NDEBUG@{NDEBUG}!hw\_memmap.h@{hw\_memmap.h}} +\doxysubsubsection{\texorpdfstring{NDEBUG}{NDEBUG}} +{\footnotesize\ttfamily \#define NDEBUG} + + + +Definition at line 30 of file hw\+\_\+memmap.\+h. + +\mbox{\Hypertarget{hw__memmap_8h_a9024ed05f7df784637ef7b44ca8caf97}\label{hw__memmap_8h_a9024ed05f7df784637ef7b44ca8caf97}} +\index{hw\_memmap.h@{hw\_memmap.h}!STATUS\_FAIL@{STATUS\_FAIL}} +\index{STATUS\_FAIL@{STATUS\_FAIL}!hw\_memmap.h@{hw\_memmap.h}} +\doxysubsubsection{\texorpdfstring{STATUS\_FAIL}{STATUS\_FAIL}} +{\footnotesize\ttfamily \#define STATUS\+\_\+\+FAIL~0x00} + + + +Definition at line 23 of file hw\+\_\+memmap.\+h. + +\mbox{\Hypertarget{hw__memmap_8h_ae56fdb340b23940f7a64ed2e37c1774a}\label{hw__memmap_8h_ae56fdb340b23940f7a64ed2e37c1774a}} +\index{hw\_memmap.h@{hw\_memmap.h}!STATUS\_SUCCESS@{STATUS\_SUCCESS}} +\index{STATUS\_SUCCESS@{STATUS\_SUCCESS}!hw\_memmap.h@{hw\_memmap.h}} +\doxysubsubsection{\texorpdfstring{STATUS\_SUCCESS}{STATUS\_SUCCESS}} +{\footnotesize\ttfamily \#define STATUS\+\_\+\+SUCCESS~0x01} + + + +Definition at line 22 of file hw\+\_\+memmap.\+h. + diff --git a/Documentation/latex/index.tex b/Documentation/latex/index.tex index a69da1a..76a0d16 100644 --- a/Documentation/latex/index.tex +++ b/Documentation/latex/index.tex @@ -1,8 +1,8 @@ -\hypertarget{index_autotoc_md14}{}\doxysection{About}\label{index_autotoc_md14} -What this project is about (TODO)\hypertarget{index_autotoc_md15}{}\doxysection{Documentation}\label{index_autotoc_md15} +\hypertarget{index_autotoc_md15}{}\doxysection{About}\label{index_autotoc_md15} +What this project is about (TODO)\hypertarget{index_autotoc_md16}{}\doxysection{Documentation}\label{index_autotoc_md16} For Documentation, we will use \char`\"{}doxygen\char`\"{} to easily create documentation pages for the project. This will be accessible in a variety of means, but primarily through HTML pages accessible through a browser, covering all aspects of the project. -More information here\+: \mbox{\hyperlink{documentation_guide}{Documentation Guide}}\hypertarget{index_autotoc_md16}{}\doxysubsection{Tips from Dr. Bazuin}\label{index_autotoc_md16} +More information here\+: \mbox{\hyperlink{documentation_guide}{Documentation Guide}}\hypertarget{index_autotoc_md17}{}\doxysubsection{Tips from Dr. Bazuin}\label{index_autotoc_md17} \begin{DoxyItemize} \item Make sub-\/circuits/sub-\/designs for schematics to keep things organized and modular/copy-\/able @@ -21,13 +21,13 @@ More information here\+: \mbox{\hyperlink{documentation_guide}{Documentation Gui \item Free samples for parts from manufacturers \item Make peripherals like output on one side and inputs on the other \item Use SPI Chip Select as a separate command (Use 3-\/pin SPI and then just use GPIO for Chip Select) -\end{DoxyItemize}\hypertarget{index_autotoc_md17}{}\doxysubsection{Tips from Dr. Gomez}\label{index_autotoc_md17} +\end{DoxyItemize}\hypertarget{index_autotoc_md18}{}\doxysubsection{Tips from Dr. Gomez}\label{index_autotoc_md18} \begin{DoxyItemize} \item Our requirements/specifications should be made to be more measurable \item Need to design to safety standards, which need to be researched online \item He said that he is available himself for anything power-\/related to help out with if needed -\end{DoxyItemize}\hypertarget{index_autotoc_md18}{}\doxysection{TODO List}\label{index_autotoc_md18} +\end{DoxyItemize}\hypertarget{index_autotoc_md19}{}\doxysection{TODO List}\label{index_autotoc_md19} \begin{DoxyItemize} \item \mbox{[} \mbox{]} Make battery circuitry for Real-\/\+Time Clock/\+Calendar for when the vehicle is off. diff --git a/Documentation/latex/lcd__b_8c.tex b/Documentation/latex/lcd__b_8c.tex new file mode 100644 index 0000000..aeb53b4 --- /dev/null +++ b/Documentation/latex/lcd__b_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{lcd__b_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/lcd\+\_\+b.c File Reference} +\label{lcd__b_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/lcd\_b.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/lcd\_b.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/lcd__b_8h.tex b/Documentation/latex/lcd__b_8h.tex new file mode 100644 index 0000000..5ee4544 --- /dev/null +++ b/Documentation/latex/lcd__b_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{lcd__b_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/lcd\+\_\+b.h File Reference} +\label{lcd__b_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/lcd\_b.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/lcd\_b.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/lcd__c_8c.tex b/Documentation/latex/lcd__c_8c.tex new file mode 100644 index 0000000..2621a22 --- /dev/null +++ b/Documentation/latex/lcd__c_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{lcd__c_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/lcd\+\_\+c.c File Reference} +\label{lcd__c_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/lcd\_c.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/lcd\_c.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/lcd__c_8h.tex b/Documentation/latex/lcd__c_8h.tex new file mode 100644 index 0000000..6b7e9b4 --- /dev/null +++ b/Documentation/latex/lcd__c_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{lcd__c_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/lcd\+\_\+c.h File Reference} +\label{lcd__c_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/lcd\_c.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/lcd\_c.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/ldopwr_8c.tex b/Documentation/latex/ldopwr_8c.tex new file mode 100644 index 0000000..deff444 --- /dev/null +++ b/Documentation/latex/ldopwr_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{ldopwr_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/ldopwr.c File Reference} +\label{ldopwr_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ldopwr.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ldopwr.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/ldopwr_8h.tex b/Documentation/latex/ldopwr_8h.tex new file mode 100644 index 0000000..f605710 --- /dev/null +++ b/Documentation/latex/ldopwr_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{ldopwr_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/ldopwr.h File Reference} +\label{ldopwr_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ldopwr.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ldopwr.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/lextab_8py.tex b/Documentation/latex/lextab_8py.tex new file mode 100644 index 0000000..0ab403e --- /dev/null +++ b/Documentation/latex/lextab_8py.tex @@ -0,0 +1,7 @@ +\hypertarget{lextab_8py}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/lextab.py File Reference} +\label{lextab_8py}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/lextab.py@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/lextab.py}} +\doxysubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item + \mbox{\hyperlink{namespacelextab}{lextab}} +\end{DoxyCompactItemize} diff --git a/Documentation/latex/modules.tex b/Documentation/latex/modules.tex new file mode 100644 index 0000000..41df912 --- /dev/null +++ b/Documentation/latex/modules.tex @@ -0,0 +1,44 @@ +\doxysection{Modules} +Here is a list of all modules\+:\begin{DoxyCompactList} +\item \contentsline{section}{adc10\+\_\+a}{\pageref{group__adc10__a__api}}{} +\item \contentsline{section}{adc12\+\_\+a}{\pageref{group__adc12__a__api}}{} +\item \contentsline{section}{aes}{\pageref{group__aes__api}}{} +\item \contentsline{section}{battbak}{\pageref{group__battbak__api}}{} +\item \contentsline{section}{comp\+\_\+b}{\pageref{group__comp__b__api}}{} +\item \contentsline{section}{crc}{\pageref{group__crc__api}}{} +\item \contentsline{section}{ctsd16}{\pageref{group__ctsd16__api}}{} +\item \contentsline{section}{dac12\+\_\+a}{\pageref{group__dac12__a__api}}{} +\item \contentsline{section}{dma}{\pageref{group__dma__api}}{} +\item \contentsline{section}{eusci\+\_\+a\+\_\+spi}{\pageref{group__eusci__a__spi__api}}{} +\item \contentsline{section}{eusci\+\_\+a\+\_\+uart}{\pageref{group__eusci__a__uart__api}}{} +\item \contentsline{section}{eusci\+\_\+b\+\_\+i2c}{\pageref{group__eusci__b__i2c__api}}{} +\item \contentsline{section}{eusci\+\_\+b\+\_\+spi}{\pageref{group__eusci__b__spi__api}}{} +\item \contentsline{section}{flashctl}{\pageref{group__flashctl__api}}{} +\item \contentsline{section}{gpio}{\pageref{group__gpio__api}}{} +\item \contentsline{section}{lcd\+\_\+b}{\pageref{group__lcd__b__api}}{} +\item \contentsline{section}{lcd\+\_\+c}{\pageref{group__lcd__c__api}}{} +\item \contentsline{section}{ldopwr}{\pageref{group__ldopwr__api}}{} +\item \contentsline{section}{mpy32}{\pageref{group__mpy32__api}}{} +\item \contentsline{section}{oa}{\pageref{group__oa__api}}{} +\item \contentsline{section}{pmap}{\pageref{group__pmap__api}}{} +\item \contentsline{section}{pmm}{\pageref{group__pmm__api}}{} +\item \contentsline{section}{ram}{\pageref{group__ram__api}}{} +\item \contentsline{section}{ref}{\pageref{group__ref__api}}{} +\item \contentsline{section}{rtc\+\_\+a}{\pageref{group__rtc__a__api}}{} +\item \contentsline{section}{rtc\+\_\+b}{\pageref{group__rtc__b__api}}{} +\item \contentsline{section}{rtc\+\_\+c}{\pageref{group__rtc__c__api}}{} +\item \contentsline{section}{sd24\+\_\+b}{\pageref{group__sd24__b__api}}{} +\item \contentsline{section}{sfr}{\pageref{group__sfr__api}}{} +\item \contentsline{section}{sysctl}{\pageref{group__sysctl__api}}{} +\item \contentsline{section}{tec}{\pageref{group__tec__api}}{} +\item \contentsline{section}{timer\+\_\+a}{\pageref{group__timer__a__api}}{} +\item \contentsline{section}{timer\+\_\+b}{\pageref{group__timer__b__api}}{} +\item \contentsline{section}{timer\+\_\+d}{\pageref{group__timer__d__api}}{} +\item \contentsline{section}{tlv}{\pageref{group__tlv__api}}{} +\item \contentsline{section}{ucs}{\pageref{group__ucs__api}}{} +\item \contentsline{section}{usci\+\_\+a\+\_\+spi}{\pageref{group__usci__a__spi__api}}{} +\item \contentsline{section}{usci\+\_\+a\+\_\+uart}{\pageref{group__usci__a__uart__api}}{} +\item \contentsline{section}{usci\+\_\+b\+\_\+i2c}{\pageref{group__usci__b__i2c__api}}{} +\item \contentsline{section}{usci\+\_\+b\+\_\+spi}{\pageref{group__usci__b__spi__api}}{} +\item \contentsline{section}{wdt\+\_\+a}{\pageref{group__wdt__a__api}}{} +\end{DoxyCompactList} diff --git a/Documentation/latex/mpy32_8c.tex b/Documentation/latex/mpy32_8c.tex new file mode 100644 index 0000000..d7093cb --- /dev/null +++ b/Documentation/latex/mpy32_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{mpy32_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/mpy32.c File Reference} +\label{mpy32_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/mpy32.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/mpy32.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/mpy32_8h.tex b/Documentation/latex/mpy32_8h.tex new file mode 100644 index 0000000..c973231 --- /dev/null +++ b/Documentation/latex/mpy32_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{mpy32_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/mpy32.h File Reference} +\label{mpy32_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/mpy32.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/mpy32.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/namespacelextab.tex b/Documentation/latex/namespacelextab.tex new file mode 100644 index 0000000..711b877 --- /dev/null +++ b/Documentation/latex/namespacelextab.tex @@ -0,0 +1,2 @@ +\hypertarget{namespacelextab}{}\doxysection{lextab Namespace Reference} +\label{namespacelextab}\index{lextab@{lextab}} diff --git a/Documentation/latex/namespaces.tex b/Documentation/latex/namespaces.tex new file mode 100644 index 0000000..baa5305 --- /dev/null +++ b/Documentation/latex/namespaces.tex @@ -0,0 +1,5 @@ +\doxysection{Namespace List} +Here is a list of all namespaces with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{\mbox{\hyperlink{namespacelextab}{lextab}} }{\pageref{namespacelextab}}{} +\item\contentsline{section}{\mbox{\hyperlink{namespaceyacctab}{yacctab}} }{\pageref{namespaceyacctab}}{} +\end{DoxyCompactList} diff --git a/Documentation/latex/namespaceyacctab.tex b/Documentation/latex/namespaceyacctab.tex new file mode 100644 index 0000000..4e0e7ec --- /dev/null +++ b/Documentation/latex/namespaceyacctab.tex @@ -0,0 +1,2 @@ +\hypertarget{namespaceyacctab}{}\doxysection{yacctab Namespace Reference} +\label{namespaceyacctab}\index{yacctab@{yacctab}} diff --git a/Documentation/latex/oa_8c.tex b/Documentation/latex/oa_8c.tex new file mode 100644 index 0000000..a7d7b79 --- /dev/null +++ b/Documentation/latex/oa_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{oa_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/oa.c File Reference} +\label{oa_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/oa.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/oa.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/oa_8h.tex b/Documentation/latex/oa_8h.tex new file mode 100644 index 0000000..7c65d91 --- /dev/null +++ b/Documentation/latex/oa_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{oa_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/oa.h File Reference} +\label{oa_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/oa.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/oa.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/pmap_8c.tex b/Documentation/latex/pmap_8c.tex new file mode 100644 index 0000000..460e9fb --- /dev/null +++ b/Documentation/latex/pmap_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{pmap_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/pmap.c File Reference} +\label{pmap_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/pmap.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/pmap.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/pmap_8h.tex b/Documentation/latex/pmap_8h.tex new file mode 100644 index 0000000..067614f --- /dev/null +++ b/Documentation/latex/pmap_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{pmap_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/pmap.h File Reference} +\label{pmap_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/pmap.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/pmap.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/pmm_8c.tex b/Documentation/latex/pmm_8c.tex new file mode 100644 index 0000000..898f292 --- /dev/null +++ b/Documentation/latex/pmm_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{pmm_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/pmm.c File Reference} +\label{pmm_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/pmm.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/pmm.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/pmm_8h.tex b/Documentation/latex/pmm_8h.tex new file mode 100644 index 0000000..89c8b50 --- /dev/null +++ b/Documentation/latex/pmm_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{pmm_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/pmm.h File Reference} +\label{pmm_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/pmm.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/pmm.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/ram_8c.tex b/Documentation/latex/ram_8c.tex new file mode 100644 index 0000000..0f6ddae --- /dev/null +++ b/Documentation/latex/ram_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{ram_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/ram.c File Reference} +\label{ram_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ram.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ram.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/ram_8h.tex b/Documentation/latex/ram_8h.tex new file mode 100644 index 0000000..b54cd72 --- /dev/null +++ b/Documentation/latex/ram_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{ram_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/ram.h File Reference} +\label{ram_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ram.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ram.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/ref_8c.tex b/Documentation/latex/ref_8c.tex new file mode 100644 index 0000000..99b7f2f --- /dev/null +++ b/Documentation/latex/ref_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{ref_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/ref.c File Reference} +\label{ref_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ref.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ref.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/ref_8h.tex b/Documentation/latex/ref_8h.tex new file mode 100644 index 0000000..67c6a9e --- /dev/null +++ b/Documentation/latex/ref_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{ref_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/ref.h File Reference} +\label{ref_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ref.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ref.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/refman.tex b/Documentation/latex/refman.tex index 4e16df1..d0e7926 100644 --- a/Documentation/latex/refman.tex +++ b/Documentation/latex/refman.tex @@ -185,8 +185,57 @@ \label{documentation_guide} \Hypertarget{documentation_guide} \input{documentation_guide} +\chapter{Module Index} +\input{modules} +\chapter{Namespace Index} +\input{namespaces} \chapter{File Index} \input{files} +\chapter{Module Documentation} +\input{group__adc10__a__api} +\input{group__adc12__a__api} +\input{group__aes__api} +\input{group__battbak__api} +\input{group__comp__b__api} +\input{group__crc__api} +\input{group__ctsd16__api} +\input{group__dac12__a__api} +\input{group__dma__api} +\input{group__eusci__a__spi__api} +\input{group__eusci__a__uart__api} +\input{group__eusci__b__i2c__api} +\input{group__eusci__b__spi__api} +\input{group__flashctl__api} +\input{group__gpio__api} +\input{group__lcd__b__api} +\input{group__lcd__c__api} +\input{group__ldopwr__api} +\input{group__mpy32__api} +\input{group__oa__api} +\input{group__pmap__api} +\input{group__pmm__api} +\input{group__ram__api} +\input{group__ref__api} +\input{group__rtc__a__api} +\input{group__rtc__b__api} +\input{group__rtc__c__api} +\input{group__sd24__b__api} +\input{group__sfr__api} +\input{group__sysctl__api} +\input{group__tec__api} +\input{group__timer__a__api} +\input{group__timer__b__api} +\input{group__timer__d__api} +\input{group__tlv__api} +\input{group__ucs__api} +\input{group__usci__a__spi__api} +\input{group__usci__a__uart__api} +\input{group__usci__b__i2c__api} +\input{group__usci__b__spi__api} +\input{group__wdt__a__api} +\chapter{Namespace Documentation} +\input{namespacelextab} +\input{namespaceyacctab} \chapter{File Documentation} \input{_9_hardware_8markdown} \input{_design_01_choices_8markdown} @@ -194,6 +243,93 @@ \input{_documentation_01_guide_8markdown} \input{_r_e_a_d_m_e_8markdown} \input{_9_software_8markdown} +\input{adc10__a_8c} +\input{adc10__a_8h} +\input{adc12__a_8c} +\input{adc12__a_8h} +\input{aes_8c} +\input{aes_8h} +\input{battbak_8c} +\input{battbak_8h} +\input{comp__b_8c} +\input{comp__b_8h} +\input{crc_8c} +\input{crc_8h} +\input{ctsd16_8c} +\input{ctsd16_8h} +\input{dac12__a_8c} +\input{dac12__a_8h} +\input{dma_8c} +\input{dma_8h} +\input{driverlib_8h} +\input{eusci__a__spi_8c} +\input{eusci__a__spi_8h} +\input{eusci__a__uart_8c} +\input{eusci__a__uart_8h} +\input{eusci__b__i2c_8c} +\input{eusci__b__i2c_8h} +\input{eusci__b__spi_8c} +\input{eusci__b__spi_8h} +\input{flashctl_8c} +\input{flashctl_8h} +\input{gpio_8c} +\input{gpio_8h} +\input{hw__memmap_8h} +\input{version_8h} +\input{lcd__b_8c} +\input{lcd__b_8h} +\input{lcd__c_8c} +\input{lcd__c_8h} +\input{ldopwr_8c} +\input{ldopwr_8h} +\input{lextab_8py} +\input{mpy32_8c} +\input{mpy32_8h} +\input{oa_8c} +\input{oa_8h} +\input{pmap_8c} +\input{pmap_8h} +\input{pmm_8c} +\input{pmm_8h} +\input{ram_8c} +\input{ram_8h} +\input{ref_8c} +\input{ref_8h} +\input{rtc__a_8c} +\input{rtc__a_8h} +\input{rtc__b_8c} +\input{rtc__b_8h} +\input{rtc__c_8c} +\input{rtc__c_8h} +\input{sd24__b_8c} +\input{sd24__b_8h} +\input{sfr_8c} +\input{sfr_8h} +\input{sysctl_8c} +\input{sysctl_8h} +\input{tec_8c} +\input{tec_8h} +\input{timer__a_8c} +\input{timer__a_8h} +\input{timer__b_8c} +\input{timer__b_8h} +\input{timer__d_8c} +\input{timer__d_8h} +\input{tlv_8c} +\input{tlv_8h} +\input{ucs_8c} +\input{ucs_8h} +\input{usci__a__spi_8c} +\input{usci__a__spi_8h} +\input{usci__a__uart_8c} +\input{usci__a__uart_8h} +\input{usci__b__i2c_8c} +\input{usci__b__i2c_8h} +\input{usci__b__spi_8c} +\input{usci__b__spi_8h} +\input{wdt__a_8c} +\input{wdt__a_8h} +\input{yacctab_8py} \input{main_8c} %--- End generated contents --- diff --git a/Documentation/latex/rtc__a_8c.tex b/Documentation/latex/rtc__a_8c.tex new file mode 100644 index 0000000..baffb57 --- /dev/null +++ b/Documentation/latex/rtc__a_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{rtc__a_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/rtc\+\_\+a.c File Reference} +\label{rtc__a_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_a.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_a.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/rtc__a_8h.tex b/Documentation/latex/rtc__a_8h.tex new file mode 100644 index 0000000..dd90c63 --- /dev/null +++ b/Documentation/latex/rtc__a_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{rtc__a_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/rtc\+\_\+a.h File Reference} +\label{rtc__a_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_a.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_a.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/rtc__b_8c.tex b/Documentation/latex/rtc__b_8c.tex new file mode 100644 index 0000000..f95d907 --- /dev/null +++ b/Documentation/latex/rtc__b_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{rtc__b_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/rtc\+\_\+b.c File Reference} +\label{rtc__b_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_b.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_b.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/rtc__b_8h.tex b/Documentation/latex/rtc__b_8h.tex new file mode 100644 index 0000000..1a07bb8 --- /dev/null +++ b/Documentation/latex/rtc__b_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{rtc__b_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/rtc\+\_\+b.h File Reference} +\label{rtc__b_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_b.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_b.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/rtc__c_8c.tex b/Documentation/latex/rtc__c_8c.tex new file mode 100644 index 0000000..2de3093 --- /dev/null +++ b/Documentation/latex/rtc__c_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{rtc__c_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/rtc\+\_\+c.c File Reference} +\label{rtc__c_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_c.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_c.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/rtc__c_8h.tex b/Documentation/latex/rtc__c_8h.tex new file mode 100644 index 0000000..c94518e --- /dev/null +++ b/Documentation/latex/rtc__c_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{rtc__c_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/rtc\+\_\+c.h File Reference} +\label{rtc__c_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_c.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/rtc\_c.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/sd24__b_8c.tex b/Documentation/latex/sd24__b_8c.tex new file mode 100644 index 0000000..aef6b6c --- /dev/null +++ b/Documentation/latex/sd24__b_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{sd24__b_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/sd24\+\_\+b.c File Reference} +\label{sd24__b_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sd24\_b.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sd24\_b.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/sd24__b_8h.tex b/Documentation/latex/sd24__b_8h.tex new file mode 100644 index 0000000..5577f99 --- /dev/null +++ b/Documentation/latex/sd24__b_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{sd24__b_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/sd24\+\_\+b.h File Reference} +\label{sd24__b_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sd24\_b.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sd24\_b.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/sfr_8c.tex b/Documentation/latex/sfr_8c.tex new file mode 100644 index 0000000..a7bc164 --- /dev/null +++ b/Documentation/latex/sfr_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{sfr_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/sfr.c File Reference} +\label{sfr_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sfr.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sfr.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/sfr_8h.tex b/Documentation/latex/sfr_8h.tex new file mode 100644 index 0000000..2e3ccc3 --- /dev/null +++ b/Documentation/latex/sfr_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{sfr_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/sfr.h File Reference} +\label{sfr_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sfr.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sfr.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/sysctl_8c.tex b/Documentation/latex/sysctl_8c.tex new file mode 100644 index 0000000..a299e8d --- /dev/null +++ b/Documentation/latex/sysctl_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{sysctl_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/sysctl.c File Reference} +\label{sysctl_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sysctl.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sysctl.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/sysctl_8h.tex b/Documentation/latex/sysctl_8h.tex new file mode 100644 index 0000000..013ef60 --- /dev/null +++ b/Documentation/latex/sysctl_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{sysctl_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/sysctl.h File Reference} +\label{sysctl_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sysctl.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/sysctl.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/tec_8c.tex b/Documentation/latex/tec_8c.tex new file mode 100644 index 0000000..cd15884 --- /dev/null +++ b/Documentation/latex/tec_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{tec_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/tec.c File Reference} +\label{tec_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/tec.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/tec.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/tec_8h.tex b/Documentation/latex/tec_8h.tex new file mode 100644 index 0000000..387a679 --- /dev/null +++ b/Documentation/latex/tec_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{tec_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/tec.h File Reference} +\label{tec_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/tec.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/tec.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/timer__a_8c.tex b/Documentation/latex/timer__a_8c.tex new file mode 100644 index 0000000..d91dcb1 --- /dev/null +++ b/Documentation/latex/timer__a_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{timer__a_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/timer\+\_\+a.c File Reference} +\label{timer__a_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_a.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_a.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/timer__a_8h.tex b/Documentation/latex/timer__a_8h.tex new file mode 100644 index 0000000..7a1145d --- /dev/null +++ b/Documentation/latex/timer__a_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{timer__a_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/timer\+\_\+a.h File Reference} +\label{timer__a_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_a.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_a.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/timer__b_8c.tex b/Documentation/latex/timer__b_8c.tex new file mode 100644 index 0000000..4f4fb06 --- /dev/null +++ b/Documentation/latex/timer__b_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{timer__b_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/timer\+\_\+b.c File Reference} +\label{timer__b_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_b.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_b.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/timer__b_8h.tex b/Documentation/latex/timer__b_8h.tex new file mode 100644 index 0000000..9d98ba2 --- /dev/null +++ b/Documentation/latex/timer__b_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{timer__b_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/timer\+\_\+b.h File Reference} +\label{timer__b_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_b.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_b.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/timer__d_8c.tex b/Documentation/latex/timer__d_8c.tex new file mode 100644 index 0000000..00bbd46 --- /dev/null +++ b/Documentation/latex/timer__d_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{timer__d_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/timer\+\_\+d.c File Reference} +\label{timer__d_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_d.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_d.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/timer__d_8h.tex b/Documentation/latex/timer__d_8h.tex new file mode 100644 index 0000000..c1932e4 --- /dev/null +++ b/Documentation/latex/timer__d_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{timer__d_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/timer\+\_\+d.h File Reference} +\label{timer__d_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_d.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/timer\_d.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/tlv_8c.tex b/Documentation/latex/tlv_8c.tex new file mode 100644 index 0000000..e9589e2 --- /dev/null +++ b/Documentation/latex/tlv_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{tlv_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/tlv.c File Reference} +\label{tlv_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/tlv.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/tlv.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/tlv_8h.tex b/Documentation/latex/tlv_8h.tex new file mode 100644 index 0000000..45c17e1 --- /dev/null +++ b/Documentation/latex/tlv_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{tlv_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/tlv.h File Reference} +\label{tlv_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/tlv.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/tlv.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/ucs_8c.tex b/Documentation/latex/ucs_8c.tex new file mode 100644 index 0000000..d903dae --- /dev/null +++ b/Documentation/latex/ucs_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{ucs_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/ucs.c File Reference} +\label{ucs_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ucs.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ucs.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/ucs_8h.tex b/Documentation/latex/ucs_8h.tex new file mode 100644 index 0000000..b8adead --- /dev/null +++ b/Documentation/latex/ucs_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{ucs_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/ucs.h File Reference} +\label{ucs_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ucs.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/ucs.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/usci__a__spi_8c.tex b/Documentation/latex/usci__a__spi_8c.tex new file mode 100644 index 0000000..988caad --- /dev/null +++ b/Documentation/latex/usci__a__spi_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{usci__a__spi_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/usci\+\_\+a\+\_\+spi.c File Reference} +\label{usci__a__spi_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_a\_spi.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_a\_spi.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/usci__a__spi_8h.tex b/Documentation/latex/usci__a__spi_8h.tex new file mode 100644 index 0000000..9dc1e4f --- /dev/null +++ b/Documentation/latex/usci__a__spi_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{usci__a__spi_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/usci\+\_\+a\+\_\+spi.h File Reference} +\label{usci__a__spi_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_a\_spi.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_a\_spi.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/usci__a__uart_8c.tex b/Documentation/latex/usci__a__uart_8c.tex new file mode 100644 index 0000000..1db30f8 --- /dev/null +++ b/Documentation/latex/usci__a__uart_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{usci__a__uart_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/usci\+\_\+a\+\_\+uart.c File Reference} +\label{usci__a__uart_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_a\_uart.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_a\_uart.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/usci__a__uart_8h.tex b/Documentation/latex/usci__a__uart_8h.tex new file mode 100644 index 0000000..b86274d --- /dev/null +++ b/Documentation/latex/usci__a__uart_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{usci__a__uart_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/usci\+\_\+a\+\_\+uart.h File Reference} +\label{usci__a__uart_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_a\_uart.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_a\_uart.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/usci__b__i2c_8c.tex b/Documentation/latex/usci__b__i2c_8c.tex new file mode 100644 index 0000000..3d65662 --- /dev/null +++ b/Documentation/latex/usci__b__i2c_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{usci__b__i2c_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/usci\+\_\+b\+\_\+i2c.c File Reference} +\label{usci__b__i2c_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_b\_i2c.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_b\_i2c.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/usci__b__i2c_8h.tex b/Documentation/latex/usci__b__i2c_8h.tex new file mode 100644 index 0000000..3f0f91a --- /dev/null +++ b/Documentation/latex/usci__b__i2c_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{usci__b__i2c_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/usci\+\_\+b\+\_\+i2c.h File Reference} +\label{usci__b__i2c_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_b\_i2c.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_b\_i2c.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/usci__b__spi_8c.tex b/Documentation/latex/usci__b__spi_8c.tex new file mode 100644 index 0000000..3c75c83 --- /dev/null +++ b/Documentation/latex/usci__b__spi_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{usci__b__spi_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/usci\+\_\+b\+\_\+spi.c File Reference} +\label{usci__b__spi_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_b\_spi.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_b\_spi.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/usci__b__spi_8h.tex b/Documentation/latex/usci__b__spi_8h.tex new file mode 100644 index 0000000..1550ca0 --- /dev/null +++ b/Documentation/latex/usci__b__spi_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{usci__b__spi_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/usci\+\_\+b\+\_\+spi.h File Reference} +\label{usci__b__spi_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_b\_spi.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/usci\_b\_spi.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/version_8h.tex b/Documentation/latex/version_8h.tex new file mode 100644 index 0000000..33eb364 --- /dev/null +++ b/Documentation/latex/version_8h.tex @@ -0,0 +1,76 @@ +\hypertarget{version_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/inc/version.h File Reference} +\label{version_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/inc/version.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/inc/version.h}} +\doxysubsection*{Macros} +\begin{DoxyCompactItemize} +\item +\#define \mbox{\hyperlink{version_8h_a5b358dd777e834ae2515d237d4ddef2c}{DRIVERLIB\+\_\+\+VER\+\_\+\+MAJOR}}~2 +\item +\#define \mbox{\hyperlink{version_8h_a3209c4c14367996e38b92df68f4d0c33}{DRIVERLIB\+\_\+\+VER\+\_\+\+MINOR}}~91 +\item +\#define \mbox{\hyperlink{version_8h_a7ca458fc4f49f0b05e6fcb64a77f93c9}{DRIVERLIB\+\_\+\+VER\+\_\+\+PATCH}}~13 +\item +\#define \mbox{\hyperlink{version_8h_a182ff263124bd08c6ade62fbc681789a}{DRIVERLIB\+\_\+\+VER\+\_\+\+BUILD}}~01 +\item +\#define \mbox{\hyperlink{version_8h_ab51e84a6281c4c257274af566f2b3ce6}{get\+Version}}() +\end{DoxyCompactItemize} + + +\doxysubsection{Macro Definition Documentation} +\mbox{\Hypertarget{version_8h_a182ff263124bd08c6ade62fbc681789a}\label{version_8h_a182ff263124bd08c6ade62fbc681789a}} +\index{version.h@{version.h}!DRIVERLIB\_VER\_BUILD@{DRIVERLIB\_VER\_BUILD}} +\index{DRIVERLIB\_VER\_BUILD@{DRIVERLIB\_VER\_BUILD}!version.h@{version.h}} +\doxysubsubsection{\texorpdfstring{DRIVERLIB\_VER\_BUILD}{DRIVERLIB\_VER\_BUILD}} +{\footnotesize\ttfamily \#define DRIVERLIB\+\_\+\+VER\+\_\+\+BUILD~01} + + + +Definition at line 5 of file version.\+h. + +\mbox{\Hypertarget{version_8h_a5b358dd777e834ae2515d237d4ddef2c}\label{version_8h_a5b358dd777e834ae2515d237d4ddef2c}} +\index{version.h@{version.h}!DRIVERLIB\_VER\_MAJOR@{DRIVERLIB\_VER\_MAJOR}} +\index{DRIVERLIB\_VER\_MAJOR@{DRIVERLIB\_VER\_MAJOR}!version.h@{version.h}} +\doxysubsubsection{\texorpdfstring{DRIVERLIB\_VER\_MAJOR}{DRIVERLIB\_VER\_MAJOR}} +{\footnotesize\ttfamily \#define DRIVERLIB\+\_\+\+VER\+\_\+\+MAJOR~2} + + + +Definition at line 2 of file version.\+h. + +\mbox{\Hypertarget{version_8h_a3209c4c14367996e38b92df68f4d0c33}\label{version_8h_a3209c4c14367996e38b92df68f4d0c33}} +\index{version.h@{version.h}!DRIVERLIB\_VER\_MINOR@{DRIVERLIB\_VER\_MINOR}} +\index{DRIVERLIB\_VER\_MINOR@{DRIVERLIB\_VER\_MINOR}!version.h@{version.h}} +\doxysubsubsection{\texorpdfstring{DRIVERLIB\_VER\_MINOR}{DRIVERLIB\_VER\_MINOR}} +{\footnotesize\ttfamily \#define DRIVERLIB\+\_\+\+VER\+\_\+\+MINOR~91} + + + +Definition at line 3 of file version.\+h. + +\mbox{\Hypertarget{version_8h_a7ca458fc4f49f0b05e6fcb64a77f93c9}\label{version_8h_a7ca458fc4f49f0b05e6fcb64a77f93c9}} +\index{version.h@{version.h}!DRIVERLIB\_VER\_PATCH@{DRIVERLIB\_VER\_PATCH}} +\index{DRIVERLIB\_VER\_PATCH@{DRIVERLIB\_VER\_PATCH}!version.h@{version.h}} +\doxysubsubsection{\texorpdfstring{DRIVERLIB\_VER\_PATCH}{DRIVERLIB\_VER\_PATCH}} +{\footnotesize\ttfamily \#define DRIVERLIB\+\_\+\+VER\+\_\+\+PATCH~13} + + + +Definition at line 4 of file version.\+h. + +\mbox{\Hypertarget{version_8h_ab51e84a6281c4c257274af566f2b3ce6}\label{version_8h_ab51e84a6281c4c257274af566f2b3ce6}} +\index{version.h@{version.h}!getVersion@{getVersion}} +\index{getVersion@{getVersion}!version.h@{version.h}} +\doxysubsubsection{\texorpdfstring{getVersion}{getVersion}} +{\footnotesize\ttfamily \#define get\+Version(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + +{\bfseries Value\+:} +\begin{DoxyCode}{0} +\DoxyCodeLine{ ((uint32\_t)\mbox{\hyperlink{version_8h_a5b358dd777e834ae2515d237d4ddef2c}{DRIVERLIB\_VER\_MAJOR}}<<24 | \(\backslash\)} +\DoxyCodeLine{ (uint32\_t)\mbox{\hyperlink{version_8h_a3209c4c14367996e38b92df68f4d0c33}{DRIVERLIB\_VER\_MINOR}}<<16 | \(\backslash\)} +\DoxyCodeLine{ (uint32\_t)\mbox{\hyperlink{version_8h_a7ca458fc4f49f0b05e6fcb64a77f93c9}{DRIVERLIB\_VER\_PATCH}}<<8 | \(\backslash\)} +\DoxyCodeLine{ (uint32\_t)\mbox{\hyperlink{version_8h_a182ff263124bd08c6ade62fbc681789a}{DRIVERLIB\_VER\_BUILD}})} + +\end{DoxyCode} + + +Definition at line 8 of file version.\+h. + diff --git a/Documentation/latex/wdt__a_8c.tex b/Documentation/latex/wdt__a_8c.tex new file mode 100644 index 0000000..9998102 --- /dev/null +++ b/Documentation/latex/wdt__a_8c.tex @@ -0,0 +1,3 @@ +\hypertarget{wdt__a_8c}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/wdt\+\_\+a.c File Reference} +\label{wdt__a_8c}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/wdt\_a.c@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/wdt\_a.c}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/wdt__a_8h.tex b/Documentation/latex/wdt__a_8h.tex new file mode 100644 index 0000000..1cfef66 --- /dev/null +++ b/Documentation/latex/wdt__a_8h.tex @@ -0,0 +1,3 @@ +\hypertarget{wdt__a_8h}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/wdt\+\_\+a.h File Reference} +\label{wdt__a_8h}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/wdt\_a.h@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/wdt\_a.h}} +{\ttfamily \#include \char`\"{}inc/hw\+\_\+memmap.\+h\char`\"{}}\newline diff --git a/Documentation/latex/yacctab_8py.tex b/Documentation/latex/yacctab_8py.tex new file mode 100644 index 0000000..b617e18 --- /dev/null +++ b/Documentation/latex/yacctab_8py.tex @@ -0,0 +1,7 @@ +\hypertarget{yacctab_8py}{}\doxysection{Software/\+Code Composer Studio Workspace/\+Sunseeker\+Telemetry\+And\+Lighting\+System/\+Libraries/driverlib/\+MSP430\+F5xx\+\_\+6xx/yacctab.py File Reference} +\label{yacctab_8py}\index{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/yacctab.py@{Software/Code Composer Studio Workspace/SunseekerTelemetryAndLightingSystem/Libraries/driverlib/MSP430F5xx\_6xx/yacctab.py}} +\doxysubsection*{Namespaces} +\begin{DoxyCompactItemize} +\item + \mbox{\hyperlink{namespaceyacctab}{yacctab}} +\end{DoxyCompactItemize}