├── .github ├── ISSUE_TEMPLATE │ ├── 1_bug_report.yml │ ├── 2_feature_request.yml │ ├── 3_documentation_problem.yml │ ├── 4_ask_question.yml │ ├── 5_general_issues.yml │ └── config.yml └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Doxyfile ├── LICENSE ├── README.md ├── README_de.md ├── README_ja.md ├── README_ko.md ├── README_zh-Hans.md ├── README_zh-Hant.md ├── SECURITY.md ├── datasheet └── ags02ma_datasheet.pdf ├── doc ├── html │ ├── annotated.html │ ├── annotated_dup.js │ ├── bc_s.png │ ├── bdwn.png │ ├── classes.html │ ├── closed.png │ ├── dir_11ec664f88f5f079ad4de1adb8458c37.html │ ├── dir_11ec664f88f5f079ad4de1adb8458c37.js │ ├── dir_13e138d54eb8818da29c3992edef070a.html │ ├── dir_13e138d54eb8818da29c3992edef070a.js │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.js │ ├── dir_b31d54d5631803016a26f28213a41162.html │ ├── dir_b31d54d5631803016a26f28213a41162.js │ ├── dir_cfafba98a580ce4b62f8a6fa96d7cbb0.html │ ├── dir_cfafba98a580ce4b62f8a6fa96d7cbb0.js │ ├── dir_e68e8157741866f444e17edd764ebbae.html │ ├── dir_e68e8157741866f444e17edd764ebbae.js │ ├── doc.png │ ├── doxygen.css │ ├── doxygen.png │ ├── doxygen.svg │ ├── driver__ags02ma_8c.html │ ├── driver__ags02ma_8c.js │ ├── driver__ags02ma_8c_source.html │ ├── driver__ags02ma_8h.html │ ├── driver__ags02ma_8h.js │ ├── driver__ags02ma_8h_source.html │ ├── driver__ags02ma__basic_8c.html │ ├── driver__ags02ma__basic_8c.js │ ├── driver__ags02ma__basic_8c_source.html │ ├── driver__ags02ma__basic_8h.html │ ├── driver__ags02ma__basic_8h.js │ ├── driver__ags02ma__basic_8h_source.html │ ├── driver__ags02ma__interface_8h.html │ ├── driver__ags02ma__interface_8h.js │ ├── driver__ags02ma__interface_8h_source.html │ ├── driver__ags02ma__interface__template_8c.html │ ├── driver__ags02ma__interface__template_8c.js │ ├── driver__ags02ma__interface__template_8c_source.html │ ├── driver__ags02ma__read__test_8c.html │ ├── driver__ags02ma__read__test_8c.js │ ├── driver__ags02ma__read__test_8c_source.html │ ├── driver__ags02ma__read__test_8h.html │ ├── driver__ags02ma__read__test_8h.js │ ├── driver__ags02ma__read__test_8h_source.html │ ├── dynsections.js │ ├── files.html │ ├── files_dup.js │ ├── folderclosed.png │ ├── folderopen.png │ ├── functions.html │ ├── functions_vars.html │ ├── globals.html │ ├── globals_defs.html │ ├── globals_func.html │ ├── globals_type.html │ ├── group__ags02ma__base__driver.html │ ├── group__ags02ma__base__driver.js │ ├── group__ags02ma__driver.html │ ├── group__ags02ma__driver.js │ ├── group__ags02ma__example__driver.html │ ├── group__ags02ma__example__driver.js │ ├── group__ags02ma__extend__driver.html │ ├── group__ags02ma__extend__driver.js │ ├── group__ags02ma__interface__driver.html │ ├── group__ags02ma__interface__driver.js │ ├── group__ags02ma__link__driver.html │ ├── group__ags02ma__link__driver.js │ ├── group__ags02ma__test__driver.html │ ├── group__ags02ma__test__driver.js │ ├── index.html │ ├── jquery.js │ ├── mainpage_8h.html │ ├── mainpage_8h_source.html │ ├── menu.js │ ├── menudata.js │ ├── modules.html │ ├── modules.js │ ├── nav_f.png │ ├── nav_g.png │ ├── nav_h.png │ ├── navtree.css │ ├── navtree.js │ ├── navtreedata.js │ ├── navtreeindex0.js │ ├── open.png │ ├── resize.js │ ├── search │ │ ├── all_0.html │ │ ├── all_0.js │ │ ├── all_1.html │ │ ├── all_1.js │ │ ├── all_2.html │ │ ├── all_2.js │ │ ├── all_3.html │ │ ├── all_3.js │ │ ├── all_4.html │ │ ├── all_4.js │ │ ├── all_5.html │ │ ├── all_5.js │ │ ├── all_6.html │ │ ├── all_6.js │ │ ├── all_7.html │ │ ├── all_7.js │ │ ├── classes_0.html │ │ ├── classes_0.js │ │ ├── close.svg │ │ ├── defines_0.html │ │ ├── defines_0.js │ │ ├── defines_1.html │ │ ├── defines_1.js │ │ ├── defines_2.html │ │ ├── defines_2.js │ │ ├── defines_3.html │ │ ├── defines_3.js │ │ ├── defines_4.html │ │ ├── defines_4.js │ │ ├── defines_5.html │ │ ├── defines_5.js │ │ ├── files_0.html │ │ ├── files_0.js │ │ ├── files_1.html │ │ ├── files_1.js │ │ ├── functions_0.html │ │ ├── functions_0.js │ │ ├── groups_0.html │ │ ├── groups_0.js │ │ ├── mag_sel.svg │ │ ├── nomatches.html │ │ ├── pages_0.html │ │ ├── pages_0.js │ │ ├── search.css │ │ ├── search.js │ │ ├── search_l.png │ │ ├── search_m.png │ │ ├── search_r.png │ │ ├── searchdata.js │ │ ├── typedefs_0.html │ │ ├── typedefs_0.js │ │ ├── variables_0.html │ │ ├── variables_0.js │ │ ├── variables_1.html │ │ ├── variables_1.js │ │ ├── variables_2.html │ │ ├── variables_2.js │ │ ├── variables_3.html │ │ ├── variables_3.js │ │ ├── variables_4.html │ │ ├── variables_4.js │ │ ├── variables_5.html │ │ └── variables_5.js │ ├── splitbar.png │ ├── structags02ma__handle__s.html │ ├── structags02ma__handle__s.js │ ├── structags02ma__info__s.html │ ├── structags02ma__info__s.js │ ├── sync_off.png │ ├── sync_on.png │ ├── tab_a.png │ ├── tab_b.png │ ├── tab_h.png │ ├── tab_s.png │ └── tabs.css ├── image │ ├── doxygen.png │ ├── logo.svg │ └── misra.svg └── mainpage │ └── mainpage.h ├── example ├── driver_ags02ma_basic.c └── driver_ags02ma_basic.h ├── interface ├── driver_ags02ma_interface.h └── driver_ags02ma_interface_template.c ├── misra ├── README.md └── ags02ma_polyspace_report.pdf ├── project └── stm32f407 │ ├── EW │ ├── stm32f407.dep │ ├── stm32f407.ewd │ ├── stm32f407.ewp │ ├── stm32f407.ewt │ └── stm32f407.eww │ ├── MDK │ └── stm32f407.uvprojx │ ├── README.md │ ├── cmsis │ ├── cmsis_armcc.h │ ├── cmsis_armclang.h │ ├── cmsis_compiler.h │ ├── cmsis_gcc.h │ ├── cmsis_iccarm.h │ ├── cmsis_version.h │ ├── core_armv8mbl.h │ ├── core_armv8mml.h │ ├── core_cm0.h │ ├── core_cm0plus.h │ ├── core_cm1.h │ ├── core_cm23.h │ ├── core_cm3.h │ ├── core_cm33.h │ ├── core_cm4.h │ ├── core_cm7.h │ ├── core_sc000.h │ ├── core_sc300.h │ ├── mpu_armv7.h │ ├── mpu_armv8.h │ └── tz_context.h │ ├── driver │ └── src │ │ └── stm32f407_driver_ags02ma_interface.c │ ├── hal │ ├── asm │ │ ├── startup_stm32f407xx_ew.s │ │ └── startup_stm32f407xx_mdk.s │ ├── inc │ │ ├── Legacy │ │ │ ├── stm32_hal_legacy.h │ │ │ ├── stm32f4xx_hal_can_legacy.h │ │ │ └── stm32f4xx_hal_eth_legacy.h │ │ ├── stm32_assert_template.h │ │ ├── stm32f4xx_hal.h │ │ ├── stm32f4xx_hal_adc.h │ │ ├── stm32f4xx_hal_adc_ex.h │ │ ├── stm32f4xx_hal_can.h │ │ ├── stm32f4xx_hal_cec.h │ │ ├── stm32f4xx_hal_conf_template.h │ │ ├── stm32f4xx_hal_cortex.h │ │ ├── stm32f4xx_hal_crc.h │ │ ├── stm32f4xx_hal_cryp.h │ │ ├── stm32f4xx_hal_cryp_ex.h │ │ ├── stm32f4xx_hal_dac.h │ │ ├── stm32f4xx_hal_dac_ex.h │ │ ├── stm32f4xx_hal_dcmi.h │ │ ├── stm32f4xx_hal_dcmi_ex.h │ │ ├── stm32f4xx_hal_def.h │ │ ├── stm32f4xx_hal_dfsdm.h │ │ ├── stm32f4xx_hal_dma.h │ │ ├── stm32f4xx_hal_dma2d.h │ │ ├── stm32f4xx_hal_dma_ex.h │ │ ├── stm32f4xx_hal_dsi.h │ │ ├── stm32f4xx_hal_eth.h │ │ ├── stm32f4xx_hal_exti.h │ │ ├── stm32f4xx_hal_flash.h │ │ ├── stm32f4xx_hal_flash_ex.h │ │ ├── stm32f4xx_hal_flash_ramfunc.h │ │ ├── stm32f4xx_hal_fmpi2c.h │ │ ├── stm32f4xx_hal_fmpi2c_ex.h │ │ ├── stm32f4xx_hal_fmpsmbus.h │ │ ├── stm32f4xx_hal_fmpsmbus_ex.h │ │ ├── stm32f4xx_hal_gpio.h │ │ ├── stm32f4xx_hal_gpio_ex.h │ │ ├── stm32f4xx_hal_hash.h │ │ ├── stm32f4xx_hal_hash_ex.h │ │ ├── stm32f4xx_hal_hcd.h │ │ ├── stm32f4xx_hal_i2c.h │ │ ├── stm32f4xx_hal_i2c_ex.h │ │ ├── stm32f4xx_hal_i2s.h │ │ ├── stm32f4xx_hal_i2s_ex.h │ │ ├── stm32f4xx_hal_irda.h │ │ ├── stm32f4xx_hal_iwdg.h │ │ ├── stm32f4xx_hal_lptim.h │ │ ├── stm32f4xx_hal_ltdc.h │ │ ├── stm32f4xx_hal_ltdc_ex.h │ │ ├── stm32f4xx_hal_mmc.h │ │ ├── stm32f4xx_hal_nand.h │ │ ├── stm32f4xx_hal_nor.h │ │ ├── stm32f4xx_hal_pccard.h │ │ ├── stm32f4xx_hal_pcd.h │ │ ├── stm32f4xx_hal_pcd_ex.h │ │ ├── stm32f4xx_hal_pwr.h │ │ ├── stm32f4xx_hal_pwr_ex.h │ │ ├── stm32f4xx_hal_qspi.h │ │ ├── stm32f4xx_hal_rcc.h │ │ ├── stm32f4xx_hal_rcc_ex.h │ │ ├── stm32f4xx_hal_rng.h │ │ ├── stm32f4xx_hal_rtc.h │ │ ├── stm32f4xx_hal_rtc_ex.h │ │ ├── stm32f4xx_hal_sai.h │ │ ├── stm32f4xx_hal_sai_ex.h │ │ ├── stm32f4xx_hal_sd.h │ │ ├── stm32f4xx_hal_sdram.h │ │ ├── stm32f4xx_hal_smartcard.h │ │ ├── stm32f4xx_hal_smbus.h │ │ ├── stm32f4xx_hal_spdifrx.h │ │ ├── stm32f4xx_hal_spi.h │ │ ├── stm32f4xx_hal_sram.h │ │ ├── stm32f4xx_hal_tim.h │ │ ├── stm32f4xx_hal_tim_ex.h │ │ ├── stm32f4xx_hal_uart.h │ │ ├── stm32f4xx_hal_usart.h │ │ ├── stm32f4xx_hal_wwdg.h │ │ ├── stm32f4xx_ll_adc.h │ │ ├── stm32f4xx_ll_bus.h │ │ ├── stm32f4xx_ll_cortex.h │ │ ├── stm32f4xx_ll_crc.h │ │ ├── stm32f4xx_ll_dac.h │ │ ├── stm32f4xx_ll_dma.h │ │ ├── stm32f4xx_ll_dma2d.h │ │ ├── stm32f4xx_ll_exti.h │ │ ├── stm32f4xx_ll_fmc.h │ │ ├── stm32f4xx_ll_fmpi2c.h │ │ ├── stm32f4xx_ll_fsmc.h │ │ ├── stm32f4xx_ll_gpio.h │ │ ├── stm32f4xx_ll_i2c.h │ │ ├── stm32f4xx_ll_iwdg.h │ │ ├── stm32f4xx_ll_lptim.h │ │ ├── stm32f4xx_ll_pwr.h │ │ ├── stm32f4xx_ll_rcc.h │ │ ├── stm32f4xx_ll_rng.h │ │ ├── stm32f4xx_ll_rtc.h │ │ ├── stm32f4xx_ll_sdmmc.h │ │ ├── stm32f4xx_ll_spi.h │ │ ├── stm32f4xx_ll_system.h │ │ ├── stm32f4xx_ll_tim.h │ │ ├── stm32f4xx_ll_usart.h │ │ ├── stm32f4xx_ll_usb.h │ │ ├── stm32f4xx_ll_utils.h │ │ └── stm32f4xx_ll_wwdg.h │ └── src │ │ ├── Legacy │ │ ├── stm32f4xx_hal_can.c │ │ └── stm32f4xx_hal_eth.c │ │ ├── stm32f4xx_hal.c │ │ ├── stm32f4xx_hal_adc.c │ │ ├── stm32f4xx_hal_adc_ex.c │ │ ├── stm32f4xx_hal_can.c │ │ ├── stm32f4xx_hal_cec.c │ │ ├── stm32f4xx_hal_cortex.c │ │ ├── stm32f4xx_hal_crc.c │ │ ├── stm32f4xx_hal_cryp.c │ │ ├── stm32f4xx_hal_cryp_ex.c │ │ ├── stm32f4xx_hal_dac.c │ │ ├── stm32f4xx_hal_dac_ex.c │ │ ├── stm32f4xx_hal_dcmi.c │ │ ├── stm32f4xx_hal_dcmi_ex.c │ │ ├── stm32f4xx_hal_dfsdm.c │ │ ├── stm32f4xx_hal_dma.c │ │ ├── stm32f4xx_hal_dma2d.c │ │ ├── stm32f4xx_hal_dma_ex.c │ │ ├── stm32f4xx_hal_dsi.c │ │ ├── stm32f4xx_hal_eth.c │ │ ├── stm32f4xx_hal_exti.c │ │ ├── stm32f4xx_hal_flash.c │ │ ├── stm32f4xx_hal_flash_ex.c │ │ ├── stm32f4xx_hal_flash_ramfunc.c │ │ ├── stm32f4xx_hal_fmpi2c.c │ │ ├── stm32f4xx_hal_fmpi2c_ex.c │ │ ├── stm32f4xx_hal_fmpsmbus.c │ │ ├── stm32f4xx_hal_fmpsmbus_ex.c │ │ ├── stm32f4xx_hal_gpio.c │ │ ├── stm32f4xx_hal_hash.c │ │ ├── stm32f4xx_hal_hash_ex.c │ │ ├── stm32f4xx_hal_hcd.c │ │ ├── stm32f4xx_hal_i2c.c │ │ ├── stm32f4xx_hal_i2c_ex.c │ │ ├── stm32f4xx_hal_i2s.c │ │ ├── stm32f4xx_hal_i2s_ex.c │ │ ├── stm32f4xx_hal_irda.c │ │ ├── stm32f4xx_hal_iwdg.c │ │ ├── stm32f4xx_hal_lptim.c │ │ ├── stm32f4xx_hal_ltdc.c │ │ ├── stm32f4xx_hal_ltdc_ex.c │ │ ├── stm32f4xx_hal_mmc.c │ │ ├── stm32f4xx_hal_msp_template.c │ │ ├── stm32f4xx_hal_nand.c │ │ ├── stm32f4xx_hal_nor.c │ │ ├── stm32f4xx_hal_pccard.c │ │ ├── stm32f4xx_hal_pcd.c │ │ ├── stm32f4xx_hal_pcd_ex.c │ │ ├── stm32f4xx_hal_pwr.c │ │ ├── stm32f4xx_hal_pwr_ex.c │ │ ├── stm32f4xx_hal_qspi.c │ │ ├── stm32f4xx_hal_rcc.c │ │ ├── stm32f4xx_hal_rcc_ex.c │ │ ├── stm32f4xx_hal_rng.c │ │ ├── stm32f4xx_hal_rtc.c │ │ ├── stm32f4xx_hal_rtc_ex.c │ │ ├── stm32f4xx_hal_sai.c │ │ ├── stm32f4xx_hal_sai_ex.c │ │ ├── stm32f4xx_hal_sd.c │ │ ├── stm32f4xx_hal_sdram.c │ │ ├── stm32f4xx_hal_smartcard.c │ │ ├── stm32f4xx_hal_smbus.c │ │ ├── stm32f4xx_hal_spdifrx.c │ │ ├── stm32f4xx_hal_spi.c │ │ ├── stm32f4xx_hal_sram.c │ │ ├── stm32f4xx_hal_tim.c │ │ ├── stm32f4xx_hal_tim_ex.c │ │ ├── stm32f4xx_hal_timebase_rtc_alarm_template.c │ │ ├── stm32f4xx_hal_timebase_rtc_wakeup_template.c │ │ ├── stm32f4xx_hal_timebase_tim_template.c │ │ ├── stm32f4xx_hal_uart.c │ │ ├── stm32f4xx_hal_usart.c │ │ ├── stm32f4xx_hal_wwdg.c │ │ ├── stm32f4xx_ll_adc.c │ │ ├── stm32f4xx_ll_crc.c │ │ ├── stm32f4xx_ll_dac.c │ │ ├── stm32f4xx_ll_dma.c │ │ ├── stm32f4xx_ll_dma2d.c │ │ ├── stm32f4xx_ll_exti.c │ │ ├── stm32f4xx_ll_fmc.c │ │ ├── stm32f4xx_ll_fmpi2c.c │ │ ├── stm32f4xx_ll_fsmc.c │ │ ├── stm32f4xx_ll_gpio.c │ │ ├── stm32f4xx_ll_i2c.c │ │ ├── stm32f4xx_ll_lptim.c │ │ ├── stm32f4xx_ll_pwr.c │ │ ├── stm32f4xx_ll_rcc.c │ │ ├── stm32f4xx_ll_rng.c │ │ ├── stm32f4xx_ll_rtc.c │ │ ├── stm32f4xx_ll_sdmmc.c │ │ ├── stm32f4xx_ll_spi.c │ │ ├── stm32f4xx_ll_tim.c │ │ ├── stm32f4xx_ll_usart.c │ │ ├── stm32f4xx_ll_usb.c │ │ └── stm32f4xx_ll_utils.c │ ├── interface │ ├── inc │ │ ├── clock.h │ │ ├── delay.h │ │ ├── iic.h │ │ └── uart.h │ └── src │ │ ├── clock.c │ │ ├── delay.c │ │ ├── iic.c │ │ └── uart.c │ ├── output │ └── mdk │ │ └── obj_delete.bat │ └── usr │ ├── inc │ ├── getopt.h │ ├── shell.h │ ├── stm32f407xx.h │ ├── stm32f4xx.h │ ├── stm32f4xx_hal_conf.h │ ├── stm32f4xx_it.h │ └── system_stm32f4xx.h │ └── src │ ├── getopt.c │ ├── main.c │ ├── shell.c │ ├── stm32f4xx_hal_msp.c │ ├── stm32f4xx_it.c │ └── system_stm32f4xx.c ├── src ├── driver_ags02ma.c └── driver_ags02ma.h └── test ├── driver_ags02ma_read_test.c └── driver_ags02ma_read_test.h /.github/ISSUE_TEMPLATE/1_bug_report.yml: -------------------------------------------------------------------------------- 1 | name: 🐛 Bug report 2 | description: Create a report to help us improve 3 | labels: [bug report] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thank you for your report. 9 | 10 | Please fill in as much of the following form as you're able. 11 | - type: input 12 | attributes: 13 | label: Version 14 | description: Code version. 15 | - type: textarea 16 | attributes: 17 | label: Describe the bug 18 | description: A clear and concise description of what the bug is. 19 | validations: 20 | required: true 21 | - type: textarea 22 | attributes: 23 | label: Reproduce 24 | description: Steps to reproduce the behavior. 25 | - type: textarea 26 | attributes: 27 | label: Expected behavior 28 | description: A clear and concise description of what you expected to happen. 29 | - type: textarea 30 | attributes: 31 | label: Additional context 32 | description: Add any other context about the bug report here. -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/2_feature_request.yml: -------------------------------------------------------------------------------- 1 | name: 🚀 Feature request 2 | description: Suggest an idea for this project 3 | labels: [feature request] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thank you for suggesting an idea to make LibDriver better. 9 | 10 | Please fill in as much of the following form as you're able. 11 | - type: textarea 12 | attributes: 13 | label: Is your feature request related to a problem? Please describe. 14 | description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 15 | - type: textarea 16 | attributes: 17 | label: Describe the idea you'd like 18 | description: A clear and concise description of what you want to happen. 19 | validations: 20 | required: true 21 | - type: textarea 22 | attributes: 23 | label: Describe alternatives you've considered 24 | description: A clear and concise description of any alternative solutions or features you've considered. 25 | - type: textarea 26 | attributes: 27 | label: Additional context 28 | description: Add any other context about the feature request here. -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/3_documentation_problem.yml: -------------------------------------------------------------------------------- 1 | name: 📄 Documentation problem 2 | description: Report a documentation problem 3 | labels: [documentation problem] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thank you for reporting the documentation problem to make LibDriver better. 9 | 10 | Please fill in as much of the following form as you're able. 11 | - type: input 12 | attributes: 13 | label: Document Links 14 | description: Please fill in the link of the online documentation or the path of the offline documentation. 15 | validations: 16 | required: true 17 | - type: textarea 18 | attributes: 19 | label: Description of the problem 20 | description: A clear and concise description of the documentation problem. 21 | validations: 22 | required: true 23 | - type: textarea 24 | attributes: 25 | label: Please give your suggestion 26 | description: Please tell us how you would like to improve this documentation. 27 | - type: textarea 28 | attributes: 29 | label: Additional context 30 | description: Add any other context about the documentation problem here. -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/4_ask_question.yml: -------------------------------------------------------------------------------- 1 | name: ❓ Ask question 2 | description: Ask a usage or consultation question 3 | labels: [ask question] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thank you for your question. 9 | 10 | Please fill in as much of the following form as you're able. 11 | - type: textarea 12 | attributes: 13 | label: Please ask your question 14 | description: Enter your question as detailed as possible. 15 | validations: 16 | required: true 17 | - type: textarea 18 | attributes: 19 | label: Additional context 20 | description: Add any other context about the question here. -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/5_general_issues.yml: -------------------------------------------------------------------------------- 1 | name: 🏆 General issues 2 | description: Report any other non-support related issues 3 | labels: [general issues] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thank you for your report. 9 | 10 | Please fill in as much of the following form as you're able. 11 | - type: textarea 12 | attributes: 13 | label: Description of the issues 14 | description: Please describe the issues as much detail as possible. 15 | validations: 16 | required: true 17 | - type: textarea 18 | attributes: 19 | label: Additional context 20 | description: Add any other context about the issues here. -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## PR type(fix, feat, docs, style, etc.) 2 | 3 | 4 | 5 | ## PR change and describe 6 | 7 | 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.out 34 | *.app 35 | *.i*86 36 | *.x86_64 37 | *.hex 38 | 39 | # Debug files 40 | *.dSYM/ 41 | *.su 42 | *.idb 43 | *.pdb 44 | 45 | # Kernel Module Compile Results 46 | *.mod* 47 | *.cmd 48 | .tmp_versions/ 49 | modules.order 50 | Module.symvers 51 | Mkfile.old 52 | dkms.conf 53 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.0.5 (2025-04-16) 2 | 3 | ## Bug Fixes 4 | 5 | - fix doc errors 6 | 7 | ## 1.0.4 (2025-03-02) 8 | 9 | ## Bug Fixes 10 | 11 | - fix doc errors 12 | 13 | ## 1.0.3 (2025-01-05) 14 | 15 | ## Bug Fixes 16 | 17 | - fix getopt errors 18 | 19 | ## 1.0.2 (2024-11-29) 20 | 21 | ## Bug Fixes 22 | 23 | - fix doc errors 24 | 25 | ## 1.0.1 (2024-11-01) 26 | 27 | ## Features 28 | 29 | - remove raspberrypi4b project 30 | 31 | ## 1.0.0 (2024-10-31) 32 | 33 | ## Features 34 | 35 | - first upload 36 | 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 - present LibDriver 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README_ja.md: -------------------------------------------------------------------------------- 1 | [English](/README.md) | [ 简体中文](/README_zh-Hans.md) | [繁體中文](/README_zh-Hant.md) | [日本語](/README_ja.md) | [Deutsch](/README_de.md) | [한국어](/README_ko.md) 2 | 3 |
4 | 5 |
6 | 7 | ## LibDriver AGS02MA 8 | 9 | [![MISRA](https://img.shields.io/badge/misra-compliant-brightgreen.svg)](/misra/README.md) [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://www.libdriver.com/docs/ags02ma/index.html) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](/LICENSE) 10 | 11 | AGS02MA は、専用の ASIC チップを搭載し、特殊なデジタル モジュール取得技術とガス検知技術を採用した高性能 TVOC センサーで、高い信頼性、長期安定性、低消費電力、高感度の優れた性能を保証します。AGS02MA の出力信号は標準 I²C です。各センサーは、顧客の大規模なアプリケーションに対応するために、出荷前に完全に調整およびテストされています。 12 | 13 | LibDriver AGS02MA は、LibDriver が開発した AGS02MA のフル機能ドライバです。TVOC の読み取り機能などを提供します。LibDriver は MISRA に準拠しています。 14 | 15 | ### 目次 16 | 17 | - [説明](#説明) 18 | - [インストール](#インストール) 19 | - [使用](#使用) 20 | - [example basic](#example-basic) 21 | - [ドキュメント](#ドキュメント) 22 | - [貢献](#貢献) 23 | - [著作権](#著作権) 24 | - [連絡して](#連絡して) 25 | 26 | ### 説明 27 | 28 | / srcディレクトリには、LibDriver AGS02MAのソースファイルが含まれています。 29 | 30 | / interfaceディレクトリには、LibDriver AGS02MA用のプラットフォームに依存しないIICバステンプレートが含まれています。 31 | 32 | / testディレクトリには、チップの必要な機能を簡単にテストできるLibDriver AGS02MAドライバーテストプログラムが含まれています。 33 | 34 | / exampleディレクトリには、LibDriver AGS02MAプログラミング例が含まれています。 35 | 36 | / docディレクトリには、LibDriver AGS02MAオフラインドキュメントが含まれています。 37 | 38 | / datasheetディレクトリには、AGS02MAデータシートが含まれています。 39 | 40 | / projectディレクトリには、一般的に使用されるLinuxおよびマイクロコントローラー開発ボードのプロジェクトサンプルが含まれています。 すべてのプロジェクトは、デバッグ方法としてシェルスクリプトを使用しています。詳細については、各プロジェクトのREADME.mdを参照してください。 41 | 42 | / misraはLibDriver misraコードスキャン結果を含む。 43 | 44 | ### インストール 45 | 46 | / interfaceディレクトリにあるプラットフォームに依存しないIICバステンプレートを参照して、指定したプラットフォームのIICバスドライバを完成させます。 47 | 48 | /src ディレクトリ、プラットフォームのインターフェイス ドライバー、および独自のドライバーをプロジェクトに追加します。デフォルトのサンプル ドライバーを使用する場合は、/example ディレクトリをプロジェクトに追加します。 49 | 50 | ### 使用 51 | 52 | /example ディレクトリ内のサンプルを参照して、独自のドライバーを完成させることができます。 デフォルトのプログラミング例を使用したい場合の使用方法は次のとおりです。 53 | 54 | #### example basic 55 | 56 | ```C 57 | #include "driver_ags02ma_basic.h" 58 | 59 | uint8_t res; 60 | uint32_t i; 61 | uint32_t ppb; 62 | 63 | /* basic init */ 64 | res = ags02ma_basic_init(); 65 | if (res != 0) 66 | { 67 | return 1; 68 | } 69 | 70 | ... 71 | 72 | /* loop */ 73 | for (i = 0; i < 3; i++) 74 | { 75 | /* delay 2000ms */ 76 | ags02ma_interface_delay_ms(2000); 77 | 78 | /* read data */ 79 | res = ags02ma_basic_read((uint32_t *)&ppb); 80 | if (res != 0) 81 | { 82 | (void)ags02ma_basic_deinit(); 83 | 84 | return 1; 85 | } 86 | 87 | /* output */ 88 | ags02ma_interface_debug_print("ags02ma: %d/%d.\n", (uint32_t)(i + 1), (uint32_t)3); 89 | ags02ma_interface_debug_print("ags02ma: tvoc is %dppb.\n", ppb); 90 | 91 | ... 92 | } 93 | 94 | ... 95 | 96 | /* deinit */ 97 | (void)ags02ma_basic_deinit(); 98 | 99 | return 0; 100 | ``` 101 | 102 | ### ドキュメント 103 | 104 | オンラインドキュメント: [https://www.libdriver.com/docs/ags02ma/index.html](https://www.libdriver.com/docs/ags02ma/index.html)。 105 | 106 | オフラインドキュメント: /doc/html/index.html。 107 | 108 | ### 貢献 109 | 110 | CONTRIBUTING.mdを参照してください。 111 | 112 | ### 著作権 113 | 114 | 著作権(c)2015-今 LibDriver 全著作権所有 115 | 116 | MITライセンス(MIT) 117 | 118 | このソフトウェアおよび関連するドキュメントファイル(「ソフトウェア」)のコピーを取得した人は、無制限の使用、複製、変更、組み込み、公開、配布、サブライセンスを含む、ソフトウェアを処分する権利を制限なく付与されます。ソフトウェアのライセンスおよび/またはコピーの販売、および上記のようにソフトウェアが配布された人の権利のサブライセンスは、次の条件に従うものとします。 119 | 120 | 上記の著作権表示およびこの許可通知は、このソフトウェアのすべてのコピーまたは実体に含まれるものとします。 121 | 122 | このソフトウェアは「現状有姿」で提供され、商品性、特定目的への適合性、および非侵害の保証を含むがこれらに限定されない、明示または黙示を問わず、いかなる種類の保証もありません。 いかなる場合も、作者または著作権所有者は、契約、不法行為、またはその他の方法で、本ソフトウェアおよび本ソフトウェアの使用またはその他の廃棄に起因または関連して、請求、損害、またはその他の責任を負わないものとします。 123 | 124 | ### 連絡して 125 | 126 | お問い合わせくださいlishifenging@outlook.com。 -------------------------------------------------------------------------------- /README_ko.md: -------------------------------------------------------------------------------- 1 | [English](/README.md) | [ 简体中文](/README_zh-Hans.md) | [繁體中文](/README_zh-Hant.md) | [日本語](/README_ja.md) | [Deutsch](/README_de.md) | [한국어](/README_ko.md) 2 | 3 |
4 | 5 |
6 | 7 | ## LibDriver AGS02MA 8 | 9 | [![MISRA](https://img.shields.io/badge/misra-compliant-brightgreen.svg)](/misra/README.md) [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://www.libdriver.com/docs/ags02ma/index.html) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](/LICENSE) 10 | 11 | AGS02MA은 전용 ASIC 칩을 장착한 고성능 TVOC 센서로, 특수 디지털 모듈 수집 기술과 가스 감지 기술을 채택하여 높은 신뢰성, 장기 안정성, 낮은 전력 소모, 높은 감도의 우수한 성능을 보장합니다. AGS02MA의 출력 신호는 표준 I²C입니다. 각 센서는 배송 전에 완전히 교정 및 테스트되어 고객의 대규모 애플리케이션을 충족합니다. 12 | 13 | LibDriver AGS02MA은 LibDriver가 출시한 AGS02MA의 모든 기능을 갖춘 드라이버입니다. TVOC 등을 읽는 기능을 제공합니다. LibDriver는 MISRA 규격을 준수합니다. 14 | 15 | ### 콘텐츠 16 | 17 | - [설명](#설명) 18 | - [설치](#설치) 19 | - [사용](#사용) 20 | - [example basic](#example-basic) 21 | - [문서](#문서) 22 | - [기고](#기고) 23 | - [저작권](#저작권) 24 | - [문의하기](#문의하기) 25 | 26 | ### 설명 27 | 28 | /src 디렉토리에는 LibDriver AGS02MA의 소스 파일이 포함되어 있습니다. 29 | 30 | /interface 디렉토리에는 LibDriver AGS02MA용 플랫폼 독립적인 IIC버스 템플릿이 포함되어 있습니다. 31 | 32 | /test 디렉토리에는 LibDriver AGS02MA드라이버 테스트 프로그램이 포함되어 있어 칩의 필요한 기능을 간단히 테스트할 수 있습니다. 33 | 34 | /example 디렉토리에는 LibDriver AGS02MA프로그래밍 예제가 포함되어 있습니다. 35 | 36 | /doc 디렉토리에는 LibDriver AGS02MA오프라인 문서가 포함되어 있습니다. 37 | 38 | /datasheet 디렉토리에는 AGS02MA데이터시트가 있습니다. 39 | 40 | /project 디렉토리에는 일반적으로 사용되는 Linux 및 마이크로컨트롤러 개발 보드의 프로젝트 샘플이 포함되어 있습니다. 모든 프로젝트는 디버깅 방법으로 셸 스크립트를 사용하며, 자세한 내용은 각 프로젝트의 README.md를 참조하십시오. 41 | 42 | /misra 에는 LibDriver misra 코드 검색 결과가 포함됩니다. 43 | 44 | ### 설치 45 | 46 | /interface 디렉토리에서 플랫폼 독립적인 IIC버스 템플릿을 참조하여 지정된 플랫폼에 대한 IIC버스 드라이버를 완성하십시오. 47 | 48 | /src 디렉터리, 플랫폼용 인터페이스 드라이버 및 자체 드라이버를 프로젝트에 추가합니다. 기본 예제 드라이버를 사용하려면 /example 디렉터리를 프로젝트에 추가합니다. 49 | 50 | ### 사용 51 | 52 | /example 디렉터리의 예제를 참조하여 자신만의 드라이버를 완성할 수 있습니다. 기본 프로그래밍 예제를 사용하려는 경우 사용 방법은 다음과 같습니다. 53 | 54 | #### example basic 55 | 56 | ```C 57 | #include "driver_ags02ma_basic.h" 58 | 59 | uint8_t res; 60 | uint32_t i; 61 | uint32_t ppb; 62 | 63 | /* basic init */ 64 | res = ags02ma_basic_init(); 65 | if (res != 0) 66 | { 67 | return 1; 68 | } 69 | 70 | ... 71 | 72 | /* loop */ 73 | for (i = 0; i < 3; i++) 74 | { 75 | /* delay 2000ms */ 76 | ags02ma_interface_delay_ms(2000); 77 | 78 | /* read data */ 79 | res = ags02ma_basic_read((uint32_t *)&ppb); 80 | if (res != 0) 81 | { 82 | (void)ags02ma_basic_deinit(); 83 | 84 | return 1; 85 | } 86 | 87 | /* output */ 88 | ags02ma_interface_debug_print("ags02ma: %d/%d.\n", (uint32_t)(i + 1), (uint32_t)3); 89 | ags02ma_interface_debug_print("ags02ma: tvoc is %dppb.\n", ppb); 90 | 91 | ... 92 | } 93 | 94 | ... 95 | 96 | /* deinit */ 97 | (void)ags02ma_basic_deinit(); 98 | 99 | return 0; 100 | ``` 101 | 102 | ### 문서 103 | 104 | 온라인 문서: [https://www.libdriver.com/docs/ags02ma/index.html](https://www.libdriver.com/docs/ags02ma/index.html). 105 | 106 | 오프라인 문서: /doc/html/index.html. 107 | 108 | ### 기고 109 | 110 | CONTRIBUTING.md 를 참조하십시오. 111 | 112 | ### 저작권 113 | 114 | 저작권 (c) 2015 - 지금 LibDriver 판권 소유 115 | 116 | MIT 라이선스(MIT) 117 | 118 | 이 소프트웨어 및 관련 문서 파일("소프트웨어")의 사본을 얻은 모든 사람은 이에 따라 무제한 사용, 복제, 수정, 통합, 출판, 배포, 2차 라이선스를 포함하여 소프트웨어를 처분할 수 있는 권리가 부여됩니다. 소프트웨어의 사본에 대한 라이선스 및/또는 판매, 그리고 소프트웨어가 위와 같이 배포된 사람의 권리에 대한 2차 라이선스는 다음 조건에 따릅니다. 119 | 120 | 위의 저작권 표시 및 이 허가 표시는 이 소프트웨어의 모든 사본 또는 내용에 포함됩니다. 121 | 122 | 이 소프트웨어는 상품성, 특정 목적에의 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않는 어떠한 종류의 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 어떤 경우에도 저자 또는 저작권 소유자는 계약, 불법 행위 또는 기타 방식에 관계없이 소프트웨어 및 기타 소프트웨어 사용으로 인해 발생하거나 이와 관련하여 발생하는 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다. 123 | 124 | ### 문의하기 125 | 126 | 연락주세요lishifenging@outlook.com. -------------------------------------------------------------------------------- /README_zh-Hans.md: -------------------------------------------------------------------------------- 1 | [English](/README.md) | [ 简体中文](/README_zh-Hans.md) | [繁體中文](/README_zh-Hant.md) | [日本語](/README_ja.md) | [Deutsch](/README_de.md) | [한국어](/README_ko.md) 2 | 3 |
4 | 5 |
6 | 7 | ## LibDriver AGS02MA 8 | 9 | [![MISRA](https://img.shields.io/badge/misra-compliant-brightgreen.svg)](/misra/README.md) [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://www.libdriver.com/docs/ags02ma/index.html) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](/LICENSE) 10 | 11 | AGS02MA是一款采用数字信号输出的MEMS TVOC传感器。配置了专用的数字模块采集技术和气体感应传感技术,确保了产品具有极高的可靠性与卓越的长期稳定性,同时具有低功耗、高灵敏度、快速响应、成本低、驱动电路简单等特点。 12 | 13 | LibDriver AGS02MA是LibDriver推出的AGS02MA全功能驱动,该驱动提供TVOC读取等功能并且它符合MISRA标准。 14 | 15 | ### 目录 16 | 17 | - [说明](#说明) 18 | - [安装](#安装) 19 | - [使用](#使用) 20 | - [example basic](#example-basic) 21 | - [文档](#文档) 22 | - [贡献](#贡献) 23 | - [版权](#版权) 24 | - [联系我们](#联系我们) 25 | 26 | ### 说明 27 | 28 | /src目录包含了LibDriver AGS02MA的源文件。 29 | 30 | /interface目录包含了LibDriver AGS02MA与平台无关的IIC总线模板。 31 | 32 | /test目录包含了LibDriver AGS02MA驱动测试程序,该程序可以简单的测试芯片必要功能。 33 | 34 | /example目录包含了LibDriver AGS02MA编程范例。 35 | 36 | /doc目录包含了LibDriver AGS02MA离线文档。 37 | 38 | /datasheet目录包含了AGS02MA数据手册。 39 | 40 | /project目录包含了常用Linux与单片机开发板的工程样例。所有工程均采用shell脚本作为调试方法,详细内容可参考每个工程里面的README.md。 41 | 42 | /misra目录包含了LibDriver MISRA代码扫描结果。 43 | 44 | ### 安装 45 | 46 | 参考/interface目录下与平台无关的IIC总线模板,完成指定平台的IIC总线驱动。 47 | 48 | 将/src目录,您使用平台的接口驱动和您开发的驱动加入工程,如果您想要使用默认的范例驱动,可以将/example目录加入您的工程。 49 | 50 | ### 使用 51 | 52 | 您可以参考/example目录下的编程范例完成适合您的驱动,如果您想要使用默认的编程范例,以下是它们的使用方法。 53 | 54 | #### example basic 55 | 56 | ```C 57 | #include "driver_ags02ma_basic.h" 58 | 59 | uint8_t res; 60 | uint32_t i; 61 | uint32_t ppb; 62 | 63 | /* basic init */ 64 | res = ags02ma_basic_init(); 65 | if (res != 0) 66 | { 67 | return 1; 68 | } 69 | 70 | ... 71 | 72 | /* loop */ 73 | for (i = 0; i < 3; i++) 74 | { 75 | /* delay 2000ms */ 76 | ags02ma_interface_delay_ms(2000); 77 | 78 | /* read data */ 79 | res = ags02ma_basic_read((uint32_t *)&ppb); 80 | if (res != 0) 81 | { 82 | (void)ags02ma_basic_deinit(); 83 | 84 | return 1; 85 | } 86 | 87 | /* output */ 88 | ags02ma_interface_debug_print("ags02ma: %d/%d.\n", (uint32_t)(i + 1), (uint32_t)3); 89 | ags02ma_interface_debug_print("ags02ma: tvoc is %dppb.\n", ppb); 90 | 91 | ... 92 | } 93 | 94 | ... 95 | 96 | /* deinit */ 97 | (void)ags02ma_basic_deinit(); 98 | 99 | return 0; 100 | ``` 101 | 102 | ### 文档 103 | 104 | 在线文档: [https://www.libdriver.com/docs/ags02ma/index.html](https://www.libdriver.com/docs/ags02ma/index.html)。 105 | 106 | 离线文档: /doc/html/index.html。 107 | 108 | ### 贡献 109 | 110 | 请参考CONTRIBUTING.md。 111 | 112 | ### 版权 113 | 114 | 版权 (c) 2015 - 现在 LibDriver 版权所有 115 | 116 | MIT 许可证(MIT) 117 | 118 | 特此免费授予任何获得本软件副本和相关文档文件(下称“软件”)的人不受限制地处置该软件的权利,包括不受限制地使用、复制、修改、合并、发布、分发、转授许可和/或出售该软件副本,以及再授权被配发了本软件的人如上的权利,须在下列条件下: 119 | 120 | 上述版权声明和本许可声明应包含在该软件的所有副本或实质成分中。 121 | 122 | 本软件是“如此”提供的,没有任何形式的明示或暗示的保证,包括但不限于对适销性、特定用途的适用性和不侵权的保证。在任何情况下,作者或版权持有人都不对任何索赔、损害或其他责任负责,无论这些追责来自合同、侵权或其它行为中,还是产生于、源于或有关于本软件以及本软件的使用或其它处置。 123 | 124 | ### 联系我们 125 | 126 | 请联系lishifenging@outlook.com。 -------------------------------------------------------------------------------- /README_zh-Hant.md: -------------------------------------------------------------------------------- 1 | [English](/README.md) | [ 简体中文](/README_zh-Hans.md) | [繁體中文](/README_zh-Hant.md) | [日本語](/README_ja.md) | [Deutsch](/README_de.md) | [한국어](/README_ko.md) 2 | 3 |
4 | 5 |
6 | 7 | ## LibDriver AGS02MA 8 | 9 | [![MISRA](https://img.shields.io/badge/misra-compliant-brightgreen.svg)](/misra/README.md) [![API](https://img.shields.io/badge/api-reference-blue.svg)](https://www.libdriver.com/docs/ags02ma/index.html) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](/LICENSE) 10 | 11 | AGS02MA是一款採用數位信號輸出的MEMS TVOC感測器。 配寘了專用的數位模塊採集科技和氣體感應傳感技術,確保了產品具有極高的可靠性與卓越的長期穩定性,同時具有低功耗、高靈敏度、快速回應、成本低、驅動電路簡單等特點。 12 | 13 | LibDriver AGS02MA是LibDriver推出的AGS02MA全功能驅動,該驅動提供TVOC讀取等功能並且它符合MISRA標準。 14 | 15 | ### 目錄 16 | 17 | - [說明](#說明) 18 | - [安裝](#安裝) 19 | - [使用](#使用) 20 | - [example basic](#example-basic) 21 | - [文檔](#文檔) 22 | - [貢獻](#貢獻) 23 | - [版權](#版權) 24 | - [聯繫我們](#聯繫我們) 25 | 26 | ### 說明 27 | 28 | /src目錄包含了LibDriver AGS02MA的源文件。 29 | 30 | /interface目錄包含了LibDriver AGS02MA與平台無關的IIC總線模板。 31 | 32 | /test目錄包含了LibDriver AGS02MA驅動測試程序,該程序可以簡單的測試芯片必要功能。 33 | 34 | /example目錄包含了LibDriver AGS02MA編程範例。 35 | 36 | /doc目錄包含了LibDriver AGS02MA離線文檔。 37 | 38 | /datasheet目錄包含了AGS02MA數據手冊。 39 | 40 | /project目錄包含了常用Linux與單片機開發板的工程樣例。所有工程均採用shell腳本作為調試方法,詳細內容可參考每個工程裡面的README.md。 41 | 42 | /misra目錄包含了LibDriver MISRA程式碼掃描結果。 43 | 44 | ### 安裝 45 | 46 | 參考/interface目錄下與平台無關的IIC總線模板,完成指定平台的IIC總線驅動。 47 | 48 | 將/src目錄,您使用平臺的介面驅動和您開發的驅動加入工程,如果您想要使用默認的範例驅動,可以將/example目錄加入您的工程。 49 | 50 | ### 使用 51 | 52 | 您可以參考/example目錄下的程式設計範例完成適合您的驅動,如果您想要使用默認的程式設計範例,以下是它們的使用方法。 53 | 54 | #### example basic 55 | 56 | ```C 57 | #include "driver_ags02ma_basic.h" 58 | 59 | uint8_t res; 60 | uint32_t i; 61 | uint32_t ppb; 62 | 63 | /* basic init */ 64 | res = ags02ma_basic_init(); 65 | if (res != 0) 66 | { 67 | return 1; 68 | } 69 | 70 | ... 71 | 72 | /* loop */ 73 | for (i = 0; i < 3; i++) 74 | { 75 | /* delay 2000ms */ 76 | ags02ma_interface_delay_ms(2000); 77 | 78 | /* read data */ 79 | res = ags02ma_basic_read((uint32_t *)&ppb); 80 | if (res != 0) 81 | { 82 | (void)ags02ma_basic_deinit(); 83 | 84 | return 1; 85 | } 86 | 87 | /* output */ 88 | ags02ma_interface_debug_print("ags02ma: %d/%d.\n", (uint32_t)(i + 1), (uint32_t)3); 89 | ags02ma_interface_debug_print("ags02ma: tvoc is %dppb.\n", ppb); 90 | 91 | ... 92 | } 93 | 94 | ... 95 | 96 | /* deinit */ 97 | (void)ags02ma_basic_deinit(); 98 | 99 | return 0; 100 | ``` 101 | 102 | ### 文檔 103 | 104 | 在線文檔: [https://www.libdriver.com/docs/ags02ma/index.html](https://www.libdriver.com/docs/ags02ma/index.html)。 105 | 106 | 離線文檔: /doc/html/index.html。 107 | 108 | ### 貢獻 109 | 110 | 請參攷CONTRIBUTING.md。 111 | 112 | ### 版權 113 | 114 | 版權 (c) 2015 - 現在 LibDriver 版權所有 115 | 116 | MIT 許可證(MIT) 117 | 118 | 特此免費授予任何獲得本軟件副本和相關文檔文件(下稱“軟件”)的人不受限制地處置該軟件的權利,包括不受限制地使用、複製、修改、合併、發布、分發、轉授許可和/或出售該軟件副本,以及再授權被配發了本軟件的人如上的權利,須在下列條件下: 119 | 120 | 上述版權聲明和本許可聲明應包含在該軟件的所有副本或實質成分中。 121 | 122 | 本軟件是“如此”提供的,沒有任何形式的明示或暗示的保證,包括但不限於對適銷性、特定用途的適用性和不侵權的保證。在任何情況下,作者或版權持有人都不對任何索賠、損害或其他責任負責,無論這些追責來自合同、侵權或其它行為中,還是產生於、源於或有關於本軟件以及本軟件的使用或其它處置。 123 | 124 | ### 聯繫我們 125 | 126 | 請聯繫lishifenging@outlook.com。 127 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | LibDriver takes the security of our code seriously.If you believe you have found a security vulnerability in our code, please report it to us as described below. 4 | 5 | ## Reporting a Vulnerability 6 | 7 | LibDriver is generally backwards compatible with very few exceptions, so we recommend users to always use the latest version to experience stability, performance and security. 8 | 9 | **Please do not report security vulnerabilities through public issues.** 10 | 11 | Instead, please send an email to lishifenging@outlook.com. You should receive a response within 24 hours. If for some reason you do not, please send again to ensure we received your original message. If your report was previously undisclosed, we’ll also mention your name in the credits. 12 | 13 | Please include the requested information listed below to help us better understand the nature and scope of the possible issue: 14 | 15 | - Type of issue 16 | - Full paths of source file(s) related to the manifestation of the issue 17 | - The location of the affected source code 18 | - Any special configuration required to reproduce the issue 19 | - Step-by-step instructions to reproduce the issue 20 | - Proof-of-concept or exploit code 21 | - Impact of the issue, including how an attacker might exploit the issue 22 | 23 | After receiving your report, we will evaluate your report as soon as possible and notify you of the results. Bug fixes depend on the bug itself, and we will try to fix bugs as quickly as possible. 24 | 25 | ## Preferred Languages 26 | 27 | We prefer all communications to be in English. 28 | 29 | ## Responsible Disclosure 30 | 31 | In some cases, we may apply a responsible disclosure process to reported or otherwise discovered vulnerabilities. We will usually do that for a critical vulnerability, and only if we have a good reason to believe information about it is not yet public. 32 | 33 | This process involves providing an early notification about the vulnerability, its impact and mitigations to a short list of vendors under a time-limited embargo on public disclosure. -------------------------------------------------------------------------------- /datasheet/ags02ma_datasheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/datasheet/ags02ma_datasheet.pdf -------------------------------------------------------------------------------- /doc/html/annotated_dup.js: -------------------------------------------------------------------------------- 1 | var annotated_dup = 2 | [ 3 | [ "ags02ma_handle_s", "structags02ma__handle__s.html", "structags02ma__handle__s" ], 4 | [ "ags02ma_info_s", "structags02ma__info__s.html", "structags02ma__info__s" ] 5 | ]; -------------------------------------------------------------------------------- /doc/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/bc_s.png -------------------------------------------------------------------------------- /doc/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/bdwn.png -------------------------------------------------------------------------------- /doc/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/closed.png -------------------------------------------------------------------------------- /doc/html/dir_11ec664f88f5f079ad4de1adb8458c37.js: -------------------------------------------------------------------------------- 1 | var dir_11ec664f88f5f079ad4de1adb8458c37 = 2 | [ 3 | [ "mainpage.h", "mainpage_8h.html", null ] 4 | ]; -------------------------------------------------------------------------------- /doc/html/dir_13e138d54eb8818da29c3992edef070a.js: -------------------------------------------------------------------------------- 1 | var dir_13e138d54eb8818da29c3992edef070a = 2 | [ 3 | [ "driver_ags02ma_read_test.c", "driver__ags02ma__read__test_8c.html", "driver__ags02ma__read__test_8c" ], 4 | [ "driver_ags02ma_read_test.h", "driver__ags02ma__read__test_8h.html", "driver__ags02ma__read__test_8h" ] 5 | ]; -------------------------------------------------------------------------------- /doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js: -------------------------------------------------------------------------------- 1 | var dir_68267d1309a1af8e8297ef4c3efbcdba = 2 | [ 3 | [ "driver_ags02ma.c", "driver__ags02ma_8c.html", "driver__ags02ma_8c" ], 4 | [ "driver_ags02ma.h", "driver__ags02ma_8h.html", "driver__ags02ma_8h" ] 5 | ]; -------------------------------------------------------------------------------- /doc/html/dir_b31d54d5631803016a26f28213a41162.js: -------------------------------------------------------------------------------- 1 | var dir_b31d54d5631803016a26f28213a41162 = 2 | [ 3 | [ "driver_ags02ma_interface.h", "driver__ags02ma__interface_8h.html", "driver__ags02ma__interface_8h" ], 4 | [ "driver_ags02ma_interface_template.c", "driver__ags02ma__interface__template_8c.html", "driver__ags02ma__interface__template_8c" ] 5 | ]; -------------------------------------------------------------------------------- /doc/html/dir_cfafba98a580ce4b62f8a6fa96d7cbb0.js: -------------------------------------------------------------------------------- 1 | var dir_cfafba98a580ce4b62f8a6fa96d7cbb0 = 2 | [ 3 | [ "driver_ags02ma_basic.c", "driver__ags02ma__basic_8c.html", "driver__ags02ma__basic_8c" ], 4 | [ "driver_ags02ma_basic.h", "driver__ags02ma__basic_8h.html", "driver__ags02ma__basic_8h" ] 5 | ]; -------------------------------------------------------------------------------- /doc/html/dir_e68e8157741866f444e17edd764ebbae.js: -------------------------------------------------------------------------------- 1 | var dir_e68e8157741866f444e17edd764ebbae = 2 | [ 3 | [ "mainpage", "dir_11ec664f88f5f079ad4de1adb8458c37.html", "dir_11ec664f88f5f079ad4de1adb8458c37" ] 4 | ]; -------------------------------------------------------------------------------- /doc/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/doc.png -------------------------------------------------------------------------------- /doc/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/doxygen.png -------------------------------------------------------------------------------- /doc/html/driver__ags02ma_8c.js: -------------------------------------------------------------------------------- 1 | var driver__ags02ma_8c = 2 | [ 3 | [ "AGS02MA_ADDRESS", "driver__ags02ma_8c.html#a92b4fe327e43617a6a93274802d700e1", null ], 4 | [ "AGS02MA_REG_CALIBRATION", "driver__ags02ma_8c.html#ad5bdd43d1549a39bdab01477cf30046c", null ], 5 | [ "AGS02MA_REG_DATA", "driver__ags02ma_8c.html#a4ca8bfc18c9d466a7b1af836062e9acd", null ], 6 | [ "AGS02MA_REG_RESISTANCE", "driver__ags02ma_8c.html#a6d4c6825c71199bb32c9b301d4305c39", null ], 7 | [ "AGS02MA_REG_SLAVE_ADDR", "driver__ags02ma_8c.html#a96bfb2ed08666c05b98c7b6f9fc3b468", null ], 8 | [ "AGS02MA_REG_VERSION", "driver__ags02ma_8c.html#a2e70d270a47e4b0bac373d4ebe89116d", null ], 9 | [ "CHIP_NAME", "driver__ags02ma_8c.html#adc9da0a24824ca1239b593f6459b3954", null ], 10 | [ "DRIVER_VERSION", "driver__ags02ma_8c.html#ae578001fe043b4cca7a0edd801cfe9c4", null ], 11 | [ "MANUFACTURER_NAME", "driver__ags02ma_8c.html#aaa2b8f5b105c3019df0cb346f472e803", null ], 12 | [ "MAX_CURRENT", "driver__ags02ma_8c.html#a2989837a37d6d63b59c6dd541b785435", null ], 13 | [ "SUPPLY_VOLTAGE_MAX", "driver__ags02ma_8c.html#a68eba8b601afe11f1b871d944976c035", null ], 14 | [ "SUPPLY_VOLTAGE_MIN", "driver__ags02ma_8c.html#aac8d8cbd899667d609787ef4cf37054d", null ], 15 | [ "TEMPERATURE_MAX", "driver__ags02ma_8c.html#a90c0b20d54005712fcc8cb01281360e9", null ], 16 | [ "TEMPERATURE_MIN", "driver__ags02ma_8c.html#aab353db5bf4eb787f86a2080f609a551", null ], 17 | [ "ags02ma_deinit", "group__ags02ma__base__driver.html#ga8c691c74fc03c33a47ceb598879850ff", null ], 18 | [ "ags02ma_get_reg", "group__ags02ma__extend__driver.html#gaa582d6368a5c99e2b27f8e8c60c58487", null ], 19 | [ "ags02ma_get_resistance", "group__ags02ma__base__driver.html#ga9eea2a422d3b9ab229a9246ad22e012f", null ], 20 | [ "ags02ma_get_slave_address", "group__ags02ma__base__driver.html#ga7ea199a256b48033d914b629ecc9ace2", null ], 21 | [ "ags02ma_get_version", "group__ags02ma__base__driver.html#ga65e326cae46728a02976a239a9fd213e", null ], 22 | [ "ags02ma_info", "group__ags02ma__base__driver.html#ga01aabaf1089c561a025b569fd9ccee73", null ], 23 | [ "ags02ma_init", "group__ags02ma__base__driver.html#gad0c564e074787e0022c1301b25f28bbb", null ], 24 | [ "ags02ma_modify_slave_address", "group__ags02ma__base__driver.html#ga3c83c0489bf95bc878307d74ec73b864", null ], 25 | [ "ags02ma_read_tvoc", "group__ags02ma__base__driver.html#ga712c274bed35425be84899e0685996a8", null ], 26 | [ "ags02ma_set_reg", "group__ags02ma__extend__driver.html#ga40c1c5baf98ec5d5219e01b737f62cba", null ], 27 | [ "ags02ma_set_slave_address", "group__ags02ma__base__driver.html#ga36b7b0520b21c49a21f57ff7a4154f96", null ], 28 | [ "ags02ma_zero_point_calibration", "group__ags02ma__base__driver.html#gad5ae7c27148bf17e1dea0af322f1fb31", null ] 29 | ]; -------------------------------------------------------------------------------- /doc/html/driver__ags02ma_8h.js: -------------------------------------------------------------------------------- 1 | var driver__ags02ma_8h = 2 | [ 3 | [ "DRIVER_AGS02MA_LINK_DEBUG_PRINT", "group__ags02ma__link__driver.html#gad7e6c53af000edd8c937c3bb9b3ae4cc", null ], 4 | [ "DRIVER_AGS02MA_LINK_DELAY_MS", "group__ags02ma__link__driver.html#ga69ce45050ae24ed3e72836fe0c706a46", null ], 5 | [ "DRIVER_AGS02MA_LINK_IIC_DEINIT", "group__ags02ma__link__driver.html#gadfcf733025e831dce45c792cdd4108b7", null ], 6 | [ "DRIVER_AGS02MA_LINK_IIC_INIT", "group__ags02ma__link__driver.html#ga678add904e6acf9180ca99e7ef313b75", null ], 7 | [ "DRIVER_AGS02MA_LINK_IIC_READ_COMMAND", "group__ags02ma__link__driver.html#gafa7f2bf48fd1077ab8260b8f17dea3a7", null ], 8 | [ "DRIVER_AGS02MA_LINK_IIC_WRITE", "group__ags02ma__link__driver.html#ga5989c521488b7da8e845f0430f7c3eef", null ], 9 | [ "DRIVER_AGS02MA_LINK_IIC_WRITE_COMMAND", "group__ags02ma__link__driver.html#ga72c24911da80d4898044ffa25716da5e", null ], 10 | [ "DRIVER_AGS02MA_LINK_INIT", "group__ags02ma__link__driver.html#gac14bd92d6e9efc696f023b20ef65e7a1", null ], 11 | [ "ags02ma_handle_t", "group__ags02ma__base__driver.html#gadf23695430891bce6bd09608a8d914c6", null ], 12 | [ "ags02ma_info_t", "group__ags02ma__base__driver.html#ga86485e13a62e1a14a20889bfa877f3cf", null ], 13 | [ "ags02ma_deinit", "group__ags02ma__base__driver.html#ga8c691c74fc03c33a47ceb598879850ff", null ], 14 | [ "ags02ma_get_reg", "group__ags02ma__extend__driver.html#gaa582d6368a5c99e2b27f8e8c60c58487", null ], 15 | [ "ags02ma_get_resistance", "group__ags02ma__base__driver.html#ga9eea2a422d3b9ab229a9246ad22e012f", null ], 16 | [ "ags02ma_get_slave_address", "group__ags02ma__base__driver.html#ga7ea199a256b48033d914b629ecc9ace2", null ], 17 | [ "ags02ma_get_version", "group__ags02ma__base__driver.html#ga65e326cae46728a02976a239a9fd213e", null ], 18 | [ "ags02ma_info", "group__ags02ma__base__driver.html#ga01aabaf1089c561a025b569fd9ccee73", null ], 19 | [ "ags02ma_init", "group__ags02ma__base__driver.html#gad0c564e074787e0022c1301b25f28bbb", null ], 20 | [ "ags02ma_modify_slave_address", "group__ags02ma__base__driver.html#ga3c83c0489bf95bc878307d74ec73b864", null ], 21 | [ "ags02ma_read_tvoc", "group__ags02ma__base__driver.html#ga712c274bed35425be84899e0685996a8", null ], 22 | [ "ags02ma_set_reg", "group__ags02ma__extend__driver.html#ga40c1c5baf98ec5d5219e01b737f62cba", null ], 23 | [ "ags02ma_set_slave_address", "group__ags02ma__base__driver.html#ga36b7b0520b21c49a21f57ff7a4154f96", null ], 24 | [ "ags02ma_zero_point_calibration", "group__ags02ma__base__driver.html#gad5ae7c27148bf17e1dea0af322f1fb31", null ] 25 | ]; -------------------------------------------------------------------------------- /doc/html/driver__ags02ma__basic_8c.js: -------------------------------------------------------------------------------- 1 | var driver__ags02ma__basic_8c = 2 | [ 3 | [ "ags02ma_basic_deinit", "group__ags02ma__example__driver.html#gabc1970b72e13a9d27315da8e7b38dea9", null ], 4 | [ "ags02ma_basic_init", "group__ags02ma__example__driver.html#gae034c89aa652d0a3a7316f599c3ed7a9", null ], 5 | [ "ags02ma_basic_read", "group__ags02ma__example__driver.html#ga17e0185758124aebeece3b3d8ebc4d13", null ] 6 | ]; -------------------------------------------------------------------------------- /doc/html/driver__ags02ma__basic_8h.js: -------------------------------------------------------------------------------- 1 | var driver__ags02ma__basic_8h = 2 | [ 3 | [ "ags02ma_basic_deinit", "group__ags02ma__example__driver.html#gabc1970b72e13a9d27315da8e7b38dea9", null ], 4 | [ "ags02ma_basic_init", "group__ags02ma__example__driver.html#gae034c89aa652d0a3a7316f599c3ed7a9", null ], 5 | [ "ags02ma_basic_read", "group__ags02ma__example__driver.html#ga17e0185758124aebeece3b3d8ebc4d13", null ] 6 | ]; -------------------------------------------------------------------------------- /doc/html/driver__ags02ma__interface_8h.js: -------------------------------------------------------------------------------- 1 | var driver__ags02ma__interface_8h = 2 | [ 3 | [ "ags02ma_interface_debug_print", "group__ags02ma__interface__driver.html#ga20e53d10669fbad53f3b72d4aa69d1a5", null ], 4 | [ "ags02ma_interface_delay_ms", "group__ags02ma__interface__driver.html#gafac4f4fc3bda670d839623c8167148ca", null ], 5 | [ "ags02ma_interface_iic_deinit", "group__ags02ma__interface__driver.html#gaf773096ad89763236f9ad4b34710534f", null ], 6 | [ "ags02ma_interface_iic_init", "group__ags02ma__interface__driver.html#gaf3561b76b56e0c79b7f14c005937f95a", null ], 7 | [ "ags02ma_interface_iic_read_cmd", "group__ags02ma__interface__driver.html#ga4b5ae608f3186006672457ef90068b25", null ], 8 | [ "ags02ma_interface_iic_write", "group__ags02ma__interface__driver.html#ga3c9af05d48a3aec3fd84e4b77bba56af", null ], 9 | [ "ags02ma_interface_iic_write_cmd", "group__ags02ma__interface__driver.html#gab33dcd579577e475edc96de0d81cecde", null ] 10 | ]; -------------------------------------------------------------------------------- /doc/html/driver__ags02ma__interface__template_8c.js: -------------------------------------------------------------------------------- 1 | var driver__ags02ma__interface__template_8c = 2 | [ 3 | [ "ags02ma_interface_debug_print", "group__ags02ma__interface__driver.html#ga20e53d10669fbad53f3b72d4aa69d1a5", null ], 4 | [ "ags02ma_interface_delay_ms", "group__ags02ma__interface__driver.html#gafac4f4fc3bda670d839623c8167148ca", null ], 5 | [ "ags02ma_interface_iic_deinit", "group__ags02ma__interface__driver.html#gaf773096ad89763236f9ad4b34710534f", null ], 6 | [ "ags02ma_interface_iic_init", "group__ags02ma__interface__driver.html#gaf3561b76b56e0c79b7f14c005937f95a", null ], 7 | [ "ags02ma_interface_iic_read_cmd", "group__ags02ma__interface__driver.html#ga4b5ae608f3186006672457ef90068b25", null ], 8 | [ "ags02ma_interface_iic_write", "group__ags02ma__interface__driver.html#ga3c9af05d48a3aec3fd84e4b77bba56af", null ], 9 | [ "ags02ma_interface_iic_write_cmd", "group__ags02ma__interface__driver.html#gab33dcd579577e475edc96de0d81cecde", null ] 10 | ]; -------------------------------------------------------------------------------- /doc/html/driver__ags02ma__read__test_8c.js: -------------------------------------------------------------------------------- 1 | var driver__ags02ma__read__test_8c = 2 | [ 3 | [ "ags02ma_read_test", "group__ags02ma__test__driver.html#ga24da64aa422002dc0d9943758a89e917", null ] 4 | ]; -------------------------------------------------------------------------------- /doc/html/driver__ags02ma__read__test_8h.js: -------------------------------------------------------------------------------- 1 | var driver__ags02ma__read__test_8h = 2 | [ 3 | [ "ags02ma_read_test", "group__ags02ma__test__driver.html#ga24da64aa422002dc0d9943758a89e917", null ] 4 | ]; -------------------------------------------------------------------------------- /doc/html/files_dup.js: -------------------------------------------------------------------------------- 1 | var files_dup = 2 | [ 3 | [ "doc", "dir_e68e8157741866f444e17edd764ebbae.html", "dir_e68e8157741866f444e17edd764ebbae" ], 4 | [ "example", "dir_cfafba98a580ce4b62f8a6fa96d7cbb0.html", "dir_cfafba98a580ce4b62f8a6fa96d7cbb0" ], 5 | [ "interface", "dir_b31d54d5631803016a26f28213a41162.html", "dir_b31d54d5631803016a26f28213a41162" ], 6 | [ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ], 7 | [ "test", "dir_13e138d54eb8818da29c3992edef070a.html", "dir_13e138d54eb8818da29c3992edef070a" ] 8 | ]; -------------------------------------------------------------------------------- /doc/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/folderclosed.png -------------------------------------------------------------------------------- /doc/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/folderopen.png -------------------------------------------------------------------------------- /doc/html/group__ags02ma__base__driver.js: -------------------------------------------------------------------------------- 1 | var group__ags02ma__base__driver = 2 | [ 3 | [ "ags02ma_handle_s", "structags02ma__handle__s.html", [ 4 | [ "debug_print", "structags02ma__handle__s.html#a769d5b3a6c14790a0e126e8fe70b384b", null ], 5 | [ "delay_ms", "structags02ma__handle__s.html#a406c9433252b7366de417b7a60915c81", null ], 6 | [ "iic_addr", "structags02ma__handle__s.html#ae4fb63dc1b166464d5da3aa753b0805a", null ], 7 | [ "iic_deinit", "structags02ma__handle__s.html#af6963bbad902ca6e43942b48c07986c3", null ], 8 | [ "iic_init", "structags02ma__handle__s.html#a8826dd07625f8d90859ce9bd09628d61", null ], 9 | [ "iic_read_cmd", "structags02ma__handle__s.html#acebeabb312305acedcb64f4f10755117", null ], 10 | [ "iic_write", "structags02ma__handle__s.html#adca3ee7a793bbf510d5267daf0fcf1c5", null ], 11 | [ "iic_write_cmd", "structags02ma__handle__s.html#af9cb104d353f0c18dbb0fd01405f4889", null ], 12 | [ "inited", "structags02ma__handle__s.html#a19bedf28d2b9748f6a62d9ae93f4e68f", null ] 13 | ] ], 14 | [ "ags02ma_info_s", "structags02ma__info__s.html", [ 15 | [ "chip_name", "structags02ma__info__s.html#af890958c72bd715cc6454a10dc846ae6", null ], 16 | [ "driver_version", "structags02ma__info__s.html#a41b0bd442708b70d252c50b92c75265a", null ], 17 | [ "interface", "structags02ma__info__s.html#aebaa6c28dd4f2c3dc27566fcb910fd28", null ], 18 | [ "manufacturer_name", "structags02ma__info__s.html#ad25285dbf810c90f8eaf3fcef6f2b2ea", null ], 19 | [ "max_current_ma", "structags02ma__info__s.html#a9db82802561bf22d799b03a345f1d1dc", null ], 20 | [ "supply_voltage_max_v", "structags02ma__info__s.html#a3d2b12bcac7a85ea8646bff9debe8660", null ], 21 | [ "supply_voltage_min_v", "structags02ma__info__s.html#ad8bde6ddadaf43d951e62f3befb9d35a", null ], 22 | [ "temperature_max", "structags02ma__info__s.html#a3366a5dce9b829e03c3d321c2b4df3f6", null ], 23 | [ "temperature_min", "structags02ma__info__s.html#a8f9dbe66ac0b66ebae0a36fcb4ba368e", null ] 24 | ] ], 25 | [ "ags02ma_handle_t", "group__ags02ma__base__driver.html#gadf23695430891bce6bd09608a8d914c6", null ], 26 | [ "ags02ma_info_t", "group__ags02ma__base__driver.html#ga86485e13a62e1a14a20889bfa877f3cf", null ], 27 | [ "ags02ma_deinit", "group__ags02ma__base__driver.html#ga8c691c74fc03c33a47ceb598879850ff", null ], 28 | [ "ags02ma_get_resistance", "group__ags02ma__base__driver.html#ga9eea2a422d3b9ab229a9246ad22e012f", null ], 29 | [ "ags02ma_get_slave_address", "group__ags02ma__base__driver.html#ga7ea199a256b48033d914b629ecc9ace2", null ], 30 | [ "ags02ma_get_version", "group__ags02ma__base__driver.html#ga65e326cae46728a02976a239a9fd213e", null ], 31 | [ "ags02ma_info", "group__ags02ma__base__driver.html#ga01aabaf1089c561a025b569fd9ccee73", null ], 32 | [ "ags02ma_init", "group__ags02ma__base__driver.html#gad0c564e074787e0022c1301b25f28bbb", null ], 33 | [ "ags02ma_modify_slave_address", "group__ags02ma__base__driver.html#ga3c83c0489bf95bc878307d74ec73b864", null ], 34 | [ "ags02ma_read_tvoc", "group__ags02ma__base__driver.html#ga712c274bed35425be84899e0685996a8", null ], 35 | [ "ags02ma_set_slave_address", "group__ags02ma__base__driver.html#ga36b7b0520b21c49a21f57ff7a4154f96", null ], 36 | [ "ags02ma_zero_point_calibration", "group__ags02ma__base__driver.html#gad5ae7c27148bf17e1dea0af322f1fb31", null ] 37 | ]; -------------------------------------------------------------------------------- /doc/html/group__ags02ma__driver.js: -------------------------------------------------------------------------------- 1 | var group__ags02ma__driver = 2 | [ 3 | [ "ags02ma link driver function", "group__ags02ma__link__driver.html", "group__ags02ma__link__driver" ], 4 | [ "ags02ma base driver function", "group__ags02ma__base__driver.html", "group__ags02ma__base__driver" ], 5 | [ "ags02ma extend driver function", "group__ags02ma__extend__driver.html", "group__ags02ma__extend__driver" ], 6 | [ "ags02ma interface driver function", "group__ags02ma__interface__driver.html", "group__ags02ma__interface__driver" ], 7 | [ "ags02ma example driver function", "group__ags02ma__example__driver.html", "group__ags02ma__example__driver" ], 8 | [ "ags02ma test driver function", "group__ags02ma__test__driver.html", "group__ags02ma__test__driver" ] 9 | ]; -------------------------------------------------------------------------------- /doc/html/group__ags02ma__example__driver.js: -------------------------------------------------------------------------------- 1 | var group__ags02ma__example__driver = 2 | [ 3 | [ "ags02ma_basic_deinit", "group__ags02ma__example__driver.html#gabc1970b72e13a9d27315da8e7b38dea9", null ], 4 | [ "ags02ma_basic_init", "group__ags02ma__example__driver.html#gae034c89aa652d0a3a7316f599c3ed7a9", null ], 5 | [ "ags02ma_basic_read", "group__ags02ma__example__driver.html#ga17e0185758124aebeece3b3d8ebc4d13", null ] 6 | ]; -------------------------------------------------------------------------------- /doc/html/group__ags02ma__extend__driver.js: -------------------------------------------------------------------------------- 1 | var group__ags02ma__extend__driver = 2 | [ 3 | [ "ags02ma_get_reg", "group__ags02ma__extend__driver.html#gaa582d6368a5c99e2b27f8e8c60c58487", null ], 4 | [ "ags02ma_set_reg", "group__ags02ma__extend__driver.html#ga40c1c5baf98ec5d5219e01b737f62cba", null ] 5 | ]; -------------------------------------------------------------------------------- /doc/html/group__ags02ma__interface__driver.js: -------------------------------------------------------------------------------- 1 | var group__ags02ma__interface__driver = 2 | [ 3 | [ "ags02ma_interface_debug_print", "group__ags02ma__interface__driver.html#ga20e53d10669fbad53f3b72d4aa69d1a5", null ], 4 | [ "ags02ma_interface_delay_ms", "group__ags02ma__interface__driver.html#gafac4f4fc3bda670d839623c8167148ca", null ], 5 | [ "ags02ma_interface_iic_deinit", "group__ags02ma__interface__driver.html#gaf773096ad89763236f9ad4b34710534f", null ], 6 | [ "ags02ma_interface_iic_init", "group__ags02ma__interface__driver.html#gaf3561b76b56e0c79b7f14c005937f95a", null ], 7 | [ "ags02ma_interface_iic_read_cmd", "group__ags02ma__interface__driver.html#ga4b5ae608f3186006672457ef90068b25", null ], 8 | [ "ags02ma_interface_iic_write", "group__ags02ma__interface__driver.html#ga3c9af05d48a3aec3fd84e4b77bba56af", null ], 9 | [ "ags02ma_interface_iic_write_cmd", "group__ags02ma__interface__driver.html#gab33dcd579577e475edc96de0d81cecde", null ] 10 | ]; -------------------------------------------------------------------------------- /doc/html/group__ags02ma__link__driver.js: -------------------------------------------------------------------------------- 1 | var group__ags02ma__link__driver = 2 | [ 3 | [ "DRIVER_AGS02MA_LINK_DEBUG_PRINT", "group__ags02ma__link__driver.html#gad7e6c53af000edd8c937c3bb9b3ae4cc", null ], 4 | [ "DRIVER_AGS02MA_LINK_DELAY_MS", "group__ags02ma__link__driver.html#ga69ce45050ae24ed3e72836fe0c706a46", null ], 5 | [ "DRIVER_AGS02MA_LINK_IIC_DEINIT", "group__ags02ma__link__driver.html#gadfcf733025e831dce45c792cdd4108b7", null ], 6 | [ "DRIVER_AGS02MA_LINK_IIC_INIT", "group__ags02ma__link__driver.html#ga678add904e6acf9180ca99e7ef313b75", null ], 7 | [ "DRIVER_AGS02MA_LINK_IIC_READ_COMMAND", "group__ags02ma__link__driver.html#gafa7f2bf48fd1077ab8260b8f17dea3a7", null ], 8 | [ "DRIVER_AGS02MA_LINK_IIC_WRITE", "group__ags02ma__link__driver.html#ga5989c521488b7da8e845f0430f7c3eef", null ], 9 | [ "DRIVER_AGS02MA_LINK_IIC_WRITE_COMMAND", "group__ags02ma__link__driver.html#ga72c24911da80d4898044ffa25716da5e", null ], 10 | [ "DRIVER_AGS02MA_LINK_INIT", "group__ags02ma__link__driver.html#gac14bd92d6e9efc696f023b20ef65e7a1", null ] 11 | ]; -------------------------------------------------------------------------------- /doc/html/group__ags02ma__test__driver.js: -------------------------------------------------------------------------------- 1 | var group__ags02ma__test__driver = 2 | [ 3 | [ "ags02ma_read_test", "group__ags02ma__test__driver.html#ga24da64aa422002dc0d9943758a89e917", null ] 4 | ]; -------------------------------------------------------------------------------- /doc/html/menu.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { 26 | function makeTree(data,relPath) { 27 | var result=''; 28 | if ('children' in data) { 29 | result+=''; 36 | } 37 | return result; 38 | } 39 | 40 | $('#main-nav').append(makeTree(menudata,relPath)); 41 | $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); 42 | if (searchEnabled) { 43 | if (serverSide) { 44 | $('#main-menu').append('
  • '); 45 | } else { 46 | $('#main-menu').append('
  • '); 47 | } 48 | } 49 | $('#main-menu').smartmenus(); 50 | } 51 | /* @license-end */ 52 | -------------------------------------------------------------------------------- /doc/html/menudata.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | var menudata={children:[ 26 | {text:"Main Page",url:"index.html"}, 27 | {text:"Modules",url:"modules.html"}, 28 | {text:"Data Structures",url:"annotated.html",children:[ 29 | {text:"Data Structures",url:"annotated.html"}, 30 | {text:"Data Structure Index",url:"classes.html"}, 31 | {text:"Data Fields",url:"functions.html",children:[ 32 | {text:"All",url:"functions.html"}, 33 | {text:"Variables",url:"functions_vars.html"}]}]}, 34 | {text:"Files",url:"files.html",children:[ 35 | {text:"File List",url:"files.html"}, 36 | {text:"Globals",url:"globals.html",children:[ 37 | {text:"All",url:"globals.html",children:[ 38 | {text:"a",url:"globals.html#index_a"}, 39 | {text:"c",url:"globals.html#index_c"}, 40 | {text:"d",url:"globals.html#index_d"}, 41 | {text:"m",url:"globals.html#index_m"}, 42 | {text:"s",url:"globals.html#index_s"}, 43 | {text:"t",url:"globals.html#index_t"}]}, 44 | {text:"Functions",url:"globals_func.html",children:[ 45 | {text:"a",url:"globals_func.html#index_a"}]}, 46 | {text:"Typedefs",url:"globals_type.html"}, 47 | {text:"Macros",url:"globals_defs.html"}]}]}]} 48 | -------------------------------------------------------------------------------- /doc/html/modules.js: -------------------------------------------------------------------------------- 1 | var modules = 2 | [ 3 | [ "ags02ma driver function", "group__ags02ma__driver.html", "group__ags02ma__driver" ] 4 | ]; -------------------------------------------------------------------------------- /doc/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/nav_f.png -------------------------------------------------------------------------------- /doc/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/nav_g.png -------------------------------------------------------------------------------- /doc/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/nav_h.png -------------------------------------------------------------------------------- /doc/html/navtree.css: -------------------------------------------------------------------------------- 1 | #nav-tree .children_ul { 2 | margin:0; 3 | padding:4px; 4 | } 5 | 6 | #nav-tree ul { 7 | list-style:none outside none; 8 | margin:0px; 9 | padding:0px; 10 | } 11 | 12 | #nav-tree li { 13 | white-space:nowrap; 14 | margin:0px; 15 | padding:0px; 16 | } 17 | 18 | #nav-tree .plus { 19 | margin:0px; 20 | } 21 | 22 | #nav-tree .selected { 23 | background-image: url('tab_a.png'); 24 | background-repeat:repeat-x; 25 | color: #fff; 26 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); 27 | } 28 | 29 | #nav-tree img { 30 | margin:0px; 31 | padding:0px; 32 | border:0px; 33 | vertical-align: middle; 34 | } 35 | 36 | #nav-tree a { 37 | text-decoration:none; 38 | padding:0px; 39 | margin:0px; 40 | outline:none; 41 | } 42 | 43 | #nav-tree .label { 44 | margin:0px; 45 | padding:0px; 46 | font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; 47 | } 48 | 49 | #nav-tree .label a { 50 | padding:2px; 51 | } 52 | 53 | #nav-tree .selected a { 54 | text-decoration:none; 55 | color:#fff; 56 | } 57 | 58 | #nav-tree .children_ul { 59 | margin:0px; 60 | padding:0px; 61 | } 62 | 63 | #nav-tree .item { 64 | margin:0px; 65 | padding:0px; 66 | } 67 | 68 | #nav-tree { 69 | padding: 0px 0px; 70 | background-color: #FAFAFF; 71 | font-size:14px; 72 | overflow:auto; 73 | } 74 | 75 | #doc-content { 76 | overflow:auto; 77 | display:block; 78 | padding:0px; 79 | margin:0px; 80 | -webkit-overflow-scrolling : touch; /* iOS 5+ */ 81 | } 82 | 83 | #side-nav { 84 | padding:0 6px 0 0; 85 | margin: 0px; 86 | display:block; 87 | position: absolute; 88 | left: 0px; 89 | width: 250px; 90 | } 91 | 92 | .ui-resizable .ui-resizable-handle { 93 | display:block; 94 | } 95 | 96 | .ui-resizable-e { 97 | background-image:url("splitbar.png"); 98 | background-size:100%; 99 | background-repeat:repeat-y; 100 | background-attachment: scroll; 101 | cursor:ew-resize; 102 | height:100%; 103 | right:0; 104 | top:0; 105 | width:6px; 106 | } 107 | 108 | .ui-resizable-handle { 109 | display:none; 110 | font-size:0.1px; 111 | position:absolute; 112 | z-index:1; 113 | } 114 | 115 | #nav-tree-contents { 116 | margin: 6px 0px 0px 0px; 117 | } 118 | 119 | #nav-tree { 120 | background-image:url('nav_h.png'); 121 | background-repeat:repeat-x; 122 | background-color: #F9FAFC; 123 | -webkit-overflow-scrolling : touch; /* iOS 5+ */ 124 | } 125 | 126 | #nav-sync { 127 | position:absolute; 128 | top:5px; 129 | right:24px; 130 | z-index:0; 131 | } 132 | 133 | #nav-sync img { 134 | opacity:0.3; 135 | } 136 | 137 | #nav-sync img:hover { 138 | opacity:0.9; 139 | } 140 | 141 | @media print 142 | { 143 | #nav-tree { display: none; } 144 | div.ui-resizable-handle { display: none; position: relative; } 145 | } 146 | 147 | -------------------------------------------------------------------------------- /doc/html/navtreedata.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | var NAVTREE = 26 | [ 27 | [ "LibDriver AGS02MA", "index.html", [ 28 | [ "Modules", "modules.html", "modules" ], 29 | [ "Data Structures", "annotated.html", [ 30 | [ "Data Structures", "annotated.html", "annotated_dup" ], 31 | [ "Data Structure Index", "classes.html", null ], 32 | [ "Data Fields", "functions.html", [ 33 | [ "All", "functions.html", null ], 34 | [ "Variables", "functions_vars.html", null ] 35 | ] ] 36 | ] ], 37 | [ "Files", "files.html", [ 38 | [ "File List", "files.html", "files_dup" ], 39 | [ "Globals", "globals.html", [ 40 | [ "All", "globals.html", null ], 41 | [ "Functions", "globals_func.html", null ], 42 | [ "Typedefs", "globals_type.html", null ], 43 | [ "Macros", "globals_defs.html", null ] 44 | ] ] 45 | ] ] 46 | ] ] 47 | ]; 48 | 49 | var NAVTREEINDEX = 50 | [ 51 | "annotated.html" 52 | ]; 53 | 54 | var SYNCONMSG = 'click to disable panel synchronisation'; 55 | var SYNCOFFMSG = 'click to enable panel synchronisation'; -------------------------------------------------------------------------------- /doc/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/open.png -------------------------------------------------------------------------------- /doc/html/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['chip_5fname_40',['chip_name',['../structags02ma__info__s.html#af890958c72bd715cc6454a10dc846ae6',1,'ags02ma_info_s']]], 4 | ['chip_5fname_41',['CHIP_NAME',['../driver__ags02ma_8c.html#adc9da0a24824ca1239b593f6459b3954',1,'driver_ags02ma.c']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['debug_5fprint_42',['debug_print',['../structags02ma__handle__s.html#a769d5b3a6c14790a0e126e8fe70b384b',1,'ags02ma_handle_s']]], 4 | ['delay_5fms_43',['delay_ms',['../structags02ma__handle__s.html#a406c9433252b7366de417b7a60915c81',1,'ags02ma_handle_s']]], 5 | ['driver_5fags02ma_2ec_44',['driver_ags02ma.c',['../driver__ags02ma_8c.html',1,'']]], 6 | ['driver_5fags02ma_2eh_45',['driver_ags02ma.h',['../driver__ags02ma_8h.html',1,'']]], 7 | ['driver_5fags02ma_5fbasic_2ec_46',['driver_ags02ma_basic.c',['../driver__ags02ma__basic_8c.html',1,'']]], 8 | ['driver_5fags02ma_5fbasic_2eh_47',['driver_ags02ma_basic.h',['../driver__ags02ma__basic_8h.html',1,'']]], 9 | ['driver_5fags02ma_5finterface_2eh_48',['driver_ags02ma_interface.h',['../driver__ags02ma__interface_8h.html',1,'']]], 10 | ['driver_5fags02ma_5finterface_5ftemplate_2ec_49',['driver_ags02ma_interface_template.c',['../driver__ags02ma__interface__template_8c.html',1,'']]], 11 | ['driver_5fags02ma_5flink_5fdebug_5fprint_50',['DRIVER_AGS02MA_LINK_DEBUG_PRINT',['../group__ags02ma__link__driver.html#gad7e6c53af000edd8c937c3bb9b3ae4cc',1,'driver_ags02ma.h']]], 12 | ['driver_5fags02ma_5flink_5fdelay_5fms_51',['DRIVER_AGS02MA_LINK_DELAY_MS',['../group__ags02ma__link__driver.html#ga69ce45050ae24ed3e72836fe0c706a46',1,'driver_ags02ma.h']]], 13 | ['driver_5fags02ma_5flink_5fiic_5fdeinit_52',['DRIVER_AGS02MA_LINK_IIC_DEINIT',['../group__ags02ma__link__driver.html#gadfcf733025e831dce45c792cdd4108b7',1,'driver_ags02ma.h']]], 14 | ['driver_5fags02ma_5flink_5fiic_5finit_53',['DRIVER_AGS02MA_LINK_IIC_INIT',['../group__ags02ma__link__driver.html#ga678add904e6acf9180ca99e7ef313b75',1,'driver_ags02ma.h']]], 15 | ['driver_5fags02ma_5flink_5fiic_5fread_5fcommand_54',['DRIVER_AGS02MA_LINK_IIC_READ_COMMAND',['../group__ags02ma__link__driver.html#gafa7f2bf48fd1077ab8260b8f17dea3a7',1,'driver_ags02ma.h']]], 16 | ['driver_5fags02ma_5flink_5fiic_5fwrite_55',['DRIVER_AGS02MA_LINK_IIC_WRITE',['../group__ags02ma__link__driver.html#ga5989c521488b7da8e845f0430f7c3eef',1,'driver_ags02ma.h']]], 17 | ['driver_5fags02ma_5flink_5fiic_5fwrite_5fcommand_56',['DRIVER_AGS02MA_LINK_IIC_WRITE_COMMAND',['../group__ags02ma__link__driver.html#ga72c24911da80d4898044ffa25716da5e',1,'driver_ags02ma.h']]], 18 | ['driver_5fags02ma_5flink_5finit_57',['DRIVER_AGS02MA_LINK_INIT',['../group__ags02ma__link__driver.html#gac14bd92d6e9efc696f023b20ef65e7a1',1,'driver_ags02ma.h']]], 19 | ['driver_5fags02ma_5fread_5ftest_2ec_58',['driver_ags02ma_read_test.c',['../driver__ags02ma__read__test_8c.html',1,'']]], 20 | ['driver_5fags02ma_5fread_5ftest_2eh_59',['driver_ags02ma_read_test.h',['../driver__ags02ma__read__test_8h.html',1,'']]], 21 | ['driver_5fversion_60',['driver_version',['../structags02ma__info__s.html#a41b0bd442708b70d252c50b92c75265a',1,'ags02ma_info_s']]], 22 | ['driver_5fversion_61',['DRIVER_VERSION',['../driver__ags02ma_8c.html#ae578001fe043b4cca7a0edd801cfe9c4',1,'driver_ags02ma.c']]] 23 | ]; 24 | -------------------------------------------------------------------------------- /doc/html/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['iic_5faddr_62',['iic_addr',['../structags02ma__handle__s.html#ae4fb63dc1b166464d5da3aa753b0805a',1,'ags02ma_handle_s']]], 4 | ['iic_5fdeinit_63',['iic_deinit',['../structags02ma__handle__s.html#af6963bbad902ca6e43942b48c07986c3',1,'ags02ma_handle_s']]], 5 | ['iic_5finit_64',['iic_init',['../structags02ma__handle__s.html#a8826dd07625f8d90859ce9bd09628d61',1,'ags02ma_handle_s']]], 6 | ['iic_5fread_5fcmd_65',['iic_read_cmd',['../structags02ma__handle__s.html#acebeabb312305acedcb64f4f10755117',1,'ags02ma_handle_s']]], 7 | ['iic_5fwrite_66',['iic_write',['../structags02ma__handle__s.html#adca3ee7a793bbf510d5267daf0fcf1c5',1,'ags02ma_handle_s']]], 8 | ['iic_5fwrite_5fcmd_67',['iic_write_cmd',['../structags02ma__handle__s.html#af9cb104d353f0c18dbb0fd01405f4889',1,'ags02ma_handle_s']]], 9 | ['inited_68',['inited',['../structags02ma__handle__s.html#a19bedf28d2b9748f6a62d9ae93f4e68f',1,'ags02ma_handle_s']]], 10 | ['interface_69',['interface',['../structags02ma__info__s.html#aebaa6c28dd4f2c3dc27566fcb910fd28',1,'ags02ma_info_s']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /doc/html/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['libdriver_20ags02ma_70',['LibDriver AGS02MA',['../index.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['mainpage_2eh_71',['mainpage.h',['../mainpage_8h.html',1,'']]], 4 | ['manufacturer_5fname_72',['manufacturer_name',['../structags02ma__info__s.html#ad25285dbf810c90f8eaf3fcef6f2b2ea',1,'ags02ma_info_s']]], 5 | ['manufacturer_5fname_73',['MANUFACTURER_NAME',['../driver__ags02ma_8c.html#aaa2b8f5b105c3019df0cb346f472e803',1,'driver_ags02ma.c']]], 6 | ['max_5fcurrent_74',['MAX_CURRENT',['../driver__ags02ma_8c.html#a2989837a37d6d63b59c6dd541b785435',1,'driver_ags02ma.c']]], 7 | ['max_5fcurrent_5fma_75',['max_current_ma',['../structags02ma__info__s.html#a9db82802561bf22d799b03a345f1d1dc',1,'ags02ma_info_s']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /doc/html/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['supply_5fvoltage_5fmax_76',['SUPPLY_VOLTAGE_MAX',['../driver__ags02ma_8c.html#a68eba8b601afe11f1b871d944976c035',1,'driver_ags02ma.c']]], 4 | ['supply_5fvoltage_5fmax_5fv_77',['supply_voltage_max_v',['../structags02ma__info__s.html#a3d2b12bcac7a85ea8646bff9debe8660',1,'ags02ma_info_s']]], 5 | ['supply_5fvoltage_5fmin_78',['SUPPLY_VOLTAGE_MIN',['../driver__ags02ma_8c.html#aac8d8cbd899667d609787ef4cf37054d',1,'driver_ags02ma.c']]], 6 | ['supply_5fvoltage_5fmin_5fv_79',['supply_voltage_min_v',['../structags02ma__info__s.html#ad8bde6ddadaf43d951e62f3befb9d35a',1,'ags02ma_info_s']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /doc/html/search/all_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['temperature_5fmax_80',['temperature_max',['../structags02ma__info__s.html#a3366a5dce9b829e03c3d321c2b4df3f6',1,'ags02ma_info_s']]], 4 | ['temperature_5fmax_81',['TEMPERATURE_MAX',['../driver__ags02ma_8c.html#a90c0b20d54005712fcc8cb01281360e9',1,'driver_ags02ma.c']]], 5 | ['temperature_5fmin_82',['temperature_min',['../structags02ma__info__s.html#a8f9dbe66ac0b66ebae0a36fcb4ba368e',1,'ags02ma_info_s']]], 6 | ['temperature_5fmin_83',['TEMPERATURE_MIN',['../driver__ags02ma_8c.html#aab353db5bf4eb787f86a2080f609a551',1,'driver_ags02ma.c']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /doc/html/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ags02ma_5fhandle_5fs_84',['ags02ma_handle_s',['../structags02ma__handle__s.html',1,'']]], 4 | ['ags02ma_5finfo_5fs_85',['ags02ma_info_s',['../structags02ma__info__s.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 16 | 18 | image/svg+xml 19 | 21 | 22 | 23 | 24 | 25 | 27 | 31 | 32 | -------------------------------------------------------------------------------- /doc/html/search/defines_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/defines_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ags02ma_5faddress_138',['AGS02MA_ADDRESS',['../driver__ags02ma_8c.html#a92b4fe327e43617a6a93274802d700e1',1,'driver_ags02ma.c']]], 4 | ['ags02ma_5freg_5fcalibration_139',['AGS02MA_REG_CALIBRATION',['../driver__ags02ma_8c.html#ad5bdd43d1549a39bdab01477cf30046c',1,'driver_ags02ma.c']]], 5 | ['ags02ma_5freg_5fdata_140',['AGS02MA_REG_DATA',['../driver__ags02ma_8c.html#a4ca8bfc18c9d466a7b1af836062e9acd',1,'driver_ags02ma.c']]], 6 | ['ags02ma_5freg_5fresistance_141',['AGS02MA_REG_RESISTANCE',['../driver__ags02ma_8c.html#a6d4c6825c71199bb32c9b301d4305c39',1,'driver_ags02ma.c']]], 7 | ['ags02ma_5freg_5fslave_5faddr_142',['AGS02MA_REG_SLAVE_ADDR',['../driver__ags02ma_8c.html#a96bfb2ed08666c05b98c7b6f9fc3b468',1,'driver_ags02ma.c']]], 8 | ['ags02ma_5freg_5fversion_143',['AGS02MA_REG_VERSION',['../driver__ags02ma_8c.html#a2e70d270a47e4b0bac373d4ebe89116d',1,'driver_ags02ma.c']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /doc/html/search/defines_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/defines_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['chip_5fname_144',['CHIP_NAME',['../driver__ags02ma_8c.html#adc9da0a24824ca1239b593f6459b3954',1,'driver_ags02ma.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/defines_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/defines_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['driver_5fversion_145',['DRIVER_VERSION',['../driver__ags02ma_8c.html#ae578001fe043b4cca7a0edd801cfe9c4',1,'driver_ags02ma.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/defines_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/defines_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['manufacturer_5fname_146',['MANUFACTURER_NAME',['../driver__ags02ma_8c.html#aaa2b8f5b105c3019df0cb346f472e803',1,'driver_ags02ma.c']]], 4 | ['max_5fcurrent_147',['MAX_CURRENT',['../driver__ags02ma_8c.html#a2989837a37d6d63b59c6dd541b785435',1,'driver_ags02ma.c']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/defines_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/defines_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['supply_5fvoltage_5fmax_148',['SUPPLY_VOLTAGE_MAX',['../driver__ags02ma_8c.html#a68eba8b601afe11f1b871d944976c035',1,'driver_ags02ma.c']]], 4 | ['supply_5fvoltage_5fmin_149',['SUPPLY_VOLTAGE_MIN',['../driver__ags02ma_8c.html#aac8d8cbd899667d609787ef4cf37054d',1,'driver_ags02ma.c']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/defines_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/defines_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['temperature_5fmax_150',['TEMPERATURE_MAX',['../driver__ags02ma_8c.html#a90c0b20d54005712fcc8cb01281360e9',1,'driver_ags02ma.c']]], 4 | ['temperature_5fmin_151',['TEMPERATURE_MIN',['../driver__ags02ma_8c.html#aab353db5bf4eb787f86a2080f609a551',1,'driver_ags02ma.c']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/files_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['driver_5fags02ma_2ec_86',['driver_ags02ma.c',['../driver__ags02ma_8c.html',1,'']]], 4 | ['driver_5fags02ma_2eh_87',['driver_ags02ma.h',['../driver__ags02ma_8h.html',1,'']]], 5 | ['driver_5fags02ma_5fbasic_2ec_88',['driver_ags02ma_basic.c',['../driver__ags02ma__basic_8c.html',1,'']]], 6 | ['driver_5fags02ma_5fbasic_2eh_89',['driver_ags02ma_basic.h',['../driver__ags02ma__basic_8h.html',1,'']]], 7 | ['driver_5fags02ma_5finterface_2eh_90',['driver_ags02ma_interface.h',['../driver__ags02ma__interface_8h.html',1,'']]], 8 | ['driver_5fags02ma_5finterface_5ftemplate_2ec_91',['driver_ags02ma_interface_template.c',['../driver__ags02ma__interface__template_8c.html',1,'']]], 9 | ['driver_5fags02ma_5fread_5ftest_2ec_92',['driver_ags02ma_read_test.c',['../driver__ags02ma__read__test_8c.html',1,'']]], 10 | ['driver_5fags02ma_5fread_5ftest_2eh_93',['driver_ags02ma_read_test.h',['../driver__ags02ma__read__test_8h.html',1,'']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /doc/html/search/files_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/files_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['mainpage_2eh_94',['mainpage.h',['../mainpage_8h.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/functions_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/groups_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/groups_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ags02ma_20base_20driver_20function_152',['ags02ma base driver function',['../group__ags02ma__base__driver.html',1,'']]], 4 | ['ags02ma_20driver_20function_153',['ags02ma driver function',['../group__ags02ma__driver.html',1,'']]], 5 | ['ags02ma_20example_20driver_20function_154',['ags02ma example driver function',['../group__ags02ma__example__driver.html',1,'']]], 6 | ['ags02ma_20extend_20driver_20function_155',['ags02ma extend driver function',['../group__ags02ma__extend__driver.html',1,'']]], 7 | ['ags02ma_20interface_20driver_20function_156',['ags02ma interface driver function',['../group__ags02ma__interface__driver.html',1,'']]], 8 | ['ags02ma_20link_20driver_20function_157',['ags02ma link driver function',['../group__ags02ma__link__driver.html',1,'']]], 9 | ['ags02ma_20test_20driver_20function_158',['ags02ma test driver function',['../group__ags02ma__test__driver.html',1,'']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /doc/html/search/mag_sel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 22 | 24 | image/svg+xml 25 | 27 | 28 | 29 | 30 | 31 | 33 | 57 | 63 | 69 | 74 | 75 | -------------------------------------------------------------------------------- /doc/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
    10 |
    No Matches
    11 |
    12 | 13 | 14 | -------------------------------------------------------------------------------- /doc/html/search/pages_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['libdriver_20ags02ma_159',['LibDriver AGS02MA',['../index.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/search/search_l.png -------------------------------------------------------------------------------- /doc/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/search/search_m.png -------------------------------------------------------------------------------- /doc/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/search/search_r.png -------------------------------------------------------------------------------- /doc/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "acdilmst", 4 | 1: "a", 5 | 2: "dm", 6 | 3: "a", 7 | 4: "cdimst", 8 | 5: "a", 9 | 6: "acdmst", 10 | 7: "a", 11 | 8: "l" 12 | }; 13 | 14 | var indexSectionNames = 15 | { 16 | 0: "all", 17 | 1: "classes", 18 | 2: "files", 19 | 3: "functions", 20 | 4: "variables", 21 | 5: "typedefs", 22 | 6: "defines", 23 | 7: "groups", 24 | 8: "pages" 25 | }; 26 | 27 | var indexSectionLabels = 28 | { 29 | 0: "All", 30 | 1: "Data Structures", 31 | 2: "Files", 32 | 3: "Functions", 33 | 4: "Variables", 34 | 5: "Typedefs", 35 | 6: "Macros", 36 | 7: "Modules", 37 | 8: "Pages" 38 | }; 39 | 40 | -------------------------------------------------------------------------------- /doc/html/search/typedefs_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/typedefs_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ags02ma_5fhandle_5ft_136',['ags02ma_handle_t',['../group__ags02ma__base__driver.html#gadf23695430891bce6bd09608a8d914c6',1,'driver_ags02ma.h']]], 4 | ['ags02ma_5finfo_5ft_137',['ags02ma_info_t',['../group__ags02ma__base__driver.html#ga86485e13a62e1a14a20889bfa877f3cf',1,'driver_ags02ma.h']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/variables_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/variables_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['chip_5fname_118',['chip_name',['../structags02ma__info__s.html#af890958c72bd715cc6454a10dc846ae6',1,'ags02ma_info_s']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /doc/html/search/variables_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/variables_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['debug_5fprint_119',['debug_print',['../structags02ma__handle__s.html#a769d5b3a6c14790a0e126e8fe70b384b',1,'ags02ma_handle_s']]], 4 | ['delay_5fms_120',['delay_ms',['../structags02ma__handle__s.html#a406c9433252b7366de417b7a60915c81',1,'ags02ma_handle_s']]], 5 | ['driver_5fversion_121',['driver_version',['../structags02ma__info__s.html#a41b0bd442708b70d252c50b92c75265a',1,'ags02ma_info_s']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /doc/html/search/variables_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/variables_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['iic_5faddr_122',['iic_addr',['../structags02ma__handle__s.html#ae4fb63dc1b166464d5da3aa753b0805a',1,'ags02ma_handle_s']]], 4 | ['iic_5fdeinit_123',['iic_deinit',['../structags02ma__handle__s.html#af6963bbad902ca6e43942b48c07986c3',1,'ags02ma_handle_s']]], 5 | ['iic_5finit_124',['iic_init',['../structags02ma__handle__s.html#a8826dd07625f8d90859ce9bd09628d61',1,'ags02ma_handle_s']]], 6 | ['iic_5fread_5fcmd_125',['iic_read_cmd',['../structags02ma__handle__s.html#acebeabb312305acedcb64f4f10755117',1,'ags02ma_handle_s']]], 7 | ['iic_5fwrite_126',['iic_write',['../structags02ma__handle__s.html#adca3ee7a793bbf510d5267daf0fcf1c5',1,'ags02ma_handle_s']]], 8 | ['iic_5fwrite_5fcmd_127',['iic_write_cmd',['../structags02ma__handle__s.html#af9cb104d353f0c18dbb0fd01405f4889',1,'ags02ma_handle_s']]], 9 | ['inited_128',['inited',['../structags02ma__handle__s.html#a19bedf28d2b9748f6a62d9ae93f4e68f',1,'ags02ma_handle_s']]], 10 | ['interface_129',['interface',['../structags02ma__info__s.html#aebaa6c28dd4f2c3dc27566fcb910fd28',1,'ags02ma_info_s']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /doc/html/search/variables_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['manufacturer_5fname_130',['manufacturer_name',['../structags02ma__info__s.html#ad25285dbf810c90f8eaf3fcef6f2b2ea',1,'ags02ma_info_s']]], 4 | ['max_5fcurrent_5fma_131',['max_current_ma',['../structags02ma__info__s.html#a9db82802561bf22d799b03a345f1d1dc',1,'ags02ma_info_s']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/variables_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/variables_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['supply_5fvoltage_5fmax_5fv_132',['supply_voltage_max_v',['../structags02ma__info__s.html#a3d2b12bcac7a85ea8646bff9debe8660',1,'ags02ma_info_s']]], 4 | ['supply_5fvoltage_5fmin_5fv_133',['supply_voltage_min_v',['../structags02ma__info__s.html#ad8bde6ddadaf43d951e62f3befb9d35a',1,'ags02ma_info_s']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/search/variables_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    Loading...
    13 |
    14 | 19 |
    Searching...
    20 |
    No Matches
    21 | 35 |
    36 | 37 | 38 | -------------------------------------------------------------------------------- /doc/html/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['temperature_5fmax_134',['temperature_max',['../structags02ma__info__s.html#a3366a5dce9b829e03c3d321c2b4df3f6',1,'ags02ma_info_s']]], 4 | ['temperature_5fmin_135',['temperature_min',['../structags02ma__info__s.html#a8f9dbe66ac0b66ebae0a36fcb4ba368e',1,'ags02ma_info_s']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /doc/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/splitbar.png -------------------------------------------------------------------------------- /doc/html/structags02ma__handle__s.js: -------------------------------------------------------------------------------- 1 | var structags02ma__handle__s = 2 | [ 3 | [ "debug_print", "structags02ma__handle__s.html#a769d5b3a6c14790a0e126e8fe70b384b", null ], 4 | [ "delay_ms", "structags02ma__handle__s.html#a406c9433252b7366de417b7a60915c81", null ], 5 | [ "iic_addr", "structags02ma__handle__s.html#ae4fb63dc1b166464d5da3aa753b0805a", null ], 6 | [ "iic_deinit", "structags02ma__handle__s.html#af6963bbad902ca6e43942b48c07986c3", null ], 7 | [ "iic_init", "structags02ma__handle__s.html#a8826dd07625f8d90859ce9bd09628d61", null ], 8 | [ "iic_read_cmd", "structags02ma__handle__s.html#acebeabb312305acedcb64f4f10755117", null ], 9 | [ "iic_write", "structags02ma__handle__s.html#adca3ee7a793bbf510d5267daf0fcf1c5", null ], 10 | [ "iic_write_cmd", "structags02ma__handle__s.html#af9cb104d353f0c18dbb0fd01405f4889", null ], 11 | [ "inited", "structags02ma__handle__s.html#a19bedf28d2b9748f6a62d9ae93f4e68f", null ] 12 | ]; -------------------------------------------------------------------------------- /doc/html/structags02ma__info__s.js: -------------------------------------------------------------------------------- 1 | var structags02ma__info__s = 2 | [ 3 | [ "chip_name", "structags02ma__info__s.html#af890958c72bd715cc6454a10dc846ae6", null ], 4 | [ "driver_version", "structags02ma__info__s.html#a41b0bd442708b70d252c50b92c75265a", null ], 5 | [ "interface", "structags02ma__info__s.html#aebaa6c28dd4f2c3dc27566fcb910fd28", null ], 6 | [ "manufacturer_name", "structags02ma__info__s.html#ad25285dbf810c90f8eaf3fcef6f2b2ea", null ], 7 | [ "max_current_ma", "structags02ma__info__s.html#a9db82802561bf22d799b03a345f1d1dc", null ], 8 | [ "supply_voltage_max_v", "structags02ma__info__s.html#a3d2b12bcac7a85ea8646bff9debe8660", null ], 9 | [ "supply_voltage_min_v", "structags02ma__info__s.html#ad8bde6ddadaf43d951e62f3befb9d35a", null ], 10 | [ "temperature_max", "structags02ma__info__s.html#a3366a5dce9b829e03c3d321c2b4df3f6", null ], 11 | [ "temperature_min", "structags02ma__info__s.html#a8f9dbe66ac0b66ebae0a36fcb4ba368e", null ] 12 | ]; -------------------------------------------------------------------------------- /doc/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/sync_off.png -------------------------------------------------------------------------------- /doc/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/sync_on.png -------------------------------------------------------------------------------- /doc/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/tab_a.png -------------------------------------------------------------------------------- /doc/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/tab_b.png -------------------------------------------------------------------------------- /doc/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/tab_h.png -------------------------------------------------------------------------------- /doc/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/html/tab_s.png -------------------------------------------------------------------------------- /doc/image/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/doc/image/doxygen.png -------------------------------------------------------------------------------- /doc/image/logo.svg: -------------------------------------------------------------------------------- 1 | logo -------------------------------------------------------------------------------- /doc/image/misra.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /doc/mainpage/mainpage.h: -------------------------------------------------------------------------------- 1 | /** 2 | * @mainpage LibDriver AGS02MA 3 | * @brief LibDriver AGS02MA is a full-featured driver of AGS02MA and it can run in both MCU and Linux platform. 4 | * @version 1.0.0 5 | * @author Shifeng Li 6 | * 7 | *

    History

    8 | * 9 | *
    Date Version Author Description 10 | *
    2024/10/31 1.0 Shifeng Li first upload 11 | *
    12 | * 13 | *

    Copyright (c) LibDriver 14 | * All rights reserved.

    15 | * 16 | * The MIT License (MIT) 17 | * 18 | * Permission is hereby granted, free of charge, to any person obtaining a copy 19 | * of this software and associated documentation files (the "Software"), to deal 20 | * in the Software without restriction, including without limitation the rights 21 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 22 | * copies of the Software, and to permit persons to whom the Software is 23 | * furnished to do so, subject to the following conditions: 24 | * 25 | * The above copyright notice and this permission notice shall be included in all 26 | * copies or substantial portions of the Software. 27 | * 28 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 29 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 30 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 31 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 32 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 33 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 34 | * SOFTWARE. 35 | */ 36 | -------------------------------------------------------------------------------- /example/driver_ags02ma_basic.c: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015 - present LibDriver All rights reserved 3 | * 4 | * The MIT License (MIT) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * @file driver_ags02ma_basic.c 25 | * @brief driver ags02ma basic source file 26 | * @version 1.0.0 27 | * @author Shifeng Li 28 | * @date 2024-10-31 29 | * 30 | *

    history

    31 | * 32 | *
    Date Version Author Description 33 | *
    2024/10/31 1.0 Shifeng Li first upload 34 | *
    35 | */ 36 | 37 | #include "driver_ags02ma_basic.h" 38 | 39 | static ags02ma_handle_t gs_handle; /**< ags02ma handle */ 40 | 41 | /** 42 | * @brief basic example init 43 | * @return status code 44 | * - 0 success 45 | * - 1 init failed 46 | * @note none 47 | */ 48 | uint8_t ags02ma_basic_init(void) 49 | { 50 | uint8_t res; 51 | 52 | /* link interface function */ 53 | DRIVER_AGS02MA_LINK_INIT(&gs_handle, ags02ma_handle_t); 54 | DRIVER_AGS02MA_LINK_IIC_INIT(&gs_handle, ags02ma_interface_iic_init); 55 | DRIVER_AGS02MA_LINK_IIC_DEINIT(&gs_handle, ags02ma_interface_iic_deinit); 56 | DRIVER_AGS02MA_LINK_IIC_READ_COMMAND(&gs_handle, ags02ma_interface_iic_read_cmd); 57 | DRIVER_AGS02MA_LINK_IIC_WRITE_COMMAND(&gs_handle, ags02ma_interface_iic_write_cmd); 58 | DRIVER_AGS02MA_LINK_IIC_WRITE(&gs_handle, ags02ma_interface_iic_write); 59 | DRIVER_AGS02MA_LINK_DELAY_MS(&gs_handle, ags02ma_interface_delay_ms); 60 | DRIVER_AGS02MA_LINK_DEBUG_PRINT(&gs_handle, ags02ma_interface_debug_print); 61 | 62 | /* ags02ma init */ 63 | res = ags02ma_init(&gs_handle); 64 | if (res != 0) 65 | { 66 | ags02ma_interface_debug_print("ags02ma: init failed.\n"); 67 | 68 | return 1; 69 | } 70 | 71 | return 0; 72 | } 73 | 74 | /** 75 | * @brief basic example read 76 | * @param[out] *ppb pointer to a converted data buffer 77 | * @return status code 78 | * - 0 success 79 | * - 1 read failed 80 | * @note none 81 | */ 82 | uint8_t ags02ma_basic_read(uint32_t *ppb) 83 | { 84 | uint32_t raw; 85 | 86 | /* read temperature and humidity */ 87 | if (ags02ma_read_tvoc(&gs_handle, (uint32_t *)&raw, (uint32_t *)ppb) != 0) 88 | { 89 | return 1; 90 | } 91 | 92 | return 0; 93 | } 94 | 95 | /** 96 | * @brief basic example deinit 97 | * @return status code 98 | * - 0 success 99 | * - 1 deinit failed 100 | * @note none 101 | */ 102 | uint8_t ags02ma_basic_deinit(void) 103 | { 104 | /* deinit ags02ma and close bus */ 105 | if (ags02ma_deinit(&gs_handle) != 0) 106 | { 107 | return 1; 108 | } 109 | 110 | return 0; 111 | } 112 | -------------------------------------------------------------------------------- /example/driver_ags02ma_basic.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015 - present LibDriver All rights reserved 3 | * 4 | * The MIT License (MIT) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * @file driver_ags02ma_basic.h 25 | * @brief driver ags02ma basic header file 26 | * @version 1.0.0 27 | * @author Shifeng Li 28 | * @date 2024-10-31 29 | * 30 | *

    history

    31 | * 32 | *
    Date Version Author Description 33 | *
    2024/10/31 1.0 Shifeng Li first upload 34 | *
    35 | */ 36 | 37 | #ifndef DRIVER_AGS02MA_BASIC_H 38 | #define DRIVER_AGS02MA_BASIC_H 39 | 40 | #include "driver_ags02ma_interface.h" 41 | 42 | #ifdef __cplusplus 43 | extern "C"{ 44 | #endif 45 | 46 | /** 47 | * @defgroup ags02ma_example_driver ags02ma example driver function 48 | * @brief ags02ma example driver modules 49 | * @ingroup ags02ma_driver 50 | * @{ 51 | */ 52 | 53 | /** 54 | * @brief basic example init 55 | * @return status code 56 | * - 0 success 57 | * - 1 init failed 58 | * @note none 59 | */ 60 | uint8_t ags02ma_basic_init(void); 61 | 62 | /** 63 | * @brief basic example deinit 64 | * @return status code 65 | * - 0 success 66 | * - 1 deinit failed 67 | * @note none 68 | */ 69 | uint8_t ags02ma_basic_deinit(void); 70 | 71 | /** 72 | * @brief basic example read 73 | * @param[out] *ppb pointer to a converted data buffer 74 | * @return status code 75 | * - 0 success 76 | * - 1 read failed 77 | * @note none 78 | */ 79 | uint8_t ags02ma_basic_read(uint32_t *ppb); 80 | 81 | /** 82 | * @} 83 | */ 84 | 85 | #ifdef __cplusplus 86 | } 87 | #endif 88 | 89 | #endif 90 | -------------------------------------------------------------------------------- /interface/driver_ags02ma_interface_template.c: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015 - present LibDriver All rights reserved 3 | * 4 | * The MIT License (MIT) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * @file driver_ags02ma_interface_template.c 25 | * @brief driver ags02ma interface template source file 26 | * @version 1.0.0 27 | * @author Shifeng Li 28 | * @date 2024-10-31 29 | * 30 | *

    history

    31 | * 32 | *
    Date Version Author Description 33 | *
    2024/10/31 1.0 Shifeng Li first upload 34 | *
    35 | */ 36 | 37 | #include "driver_ags02ma_interface.h" 38 | 39 | /** 40 | * @brief interface iic bus init 41 | * @return status code 42 | * - 0 success 43 | * - 1 iic init failed 44 | * @note none 45 | */ 46 | uint8_t ags02ma_interface_iic_init(void) 47 | { 48 | return 0; 49 | } 50 | 51 | /** 52 | * @brief interface iic bus deinit 53 | * @return status code 54 | * - 0 success 55 | * - 1 iic deinit failed 56 | * @note none 57 | */ 58 | uint8_t ags02ma_interface_iic_deinit(void) 59 | { 60 | return 0; 61 | } 62 | 63 | /** 64 | * @brief interface iic bus read command 65 | * @param[in] addr iic device write address 66 | * @param[out] *buf pointer to a data buffer 67 | * @param[in] len length of the data buffer 68 | * @return status code 69 | * - 0 success 70 | * - 1 read failed 71 | * @note none 72 | */ 73 | uint8_t ags02ma_interface_iic_read_cmd(uint8_t addr, uint8_t *buf, uint16_t len) 74 | { 75 | return 0; 76 | } 77 | 78 | /** 79 | * @brief interface iic bus write command 80 | * @param[in] addr iic device write address 81 | * @param[in] *buf pointer to a data buffer 82 | * @param[in] len length of the data buffer 83 | * @return status code 84 | * - 0 success 85 | * - 1 write failed 86 | * @note none 87 | */ 88 | uint8_t ags02ma_interface_iic_write_cmd(uint8_t addr, uint8_t *buf, uint16_t len) 89 | { 90 | return 0; 91 | } 92 | 93 | /** 94 | * @brief interface iic bus write 95 | * @param[in] addr iic device write address 96 | * @param[in] reg register address 97 | * @param[in] *buf pointer to a data buffer 98 | * @param[in] len length of the data buffer 99 | * @return status code 100 | * - 0 success 101 | * - 1 write failed 102 | * @note none 103 | */ 104 | uint8_t ags02ma_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len) 105 | { 106 | return 0; 107 | } 108 | 109 | /** 110 | * @brief interface delay ms 111 | * @param[in] ms time 112 | * @note none 113 | */ 114 | void ags02ma_interface_delay_ms(uint32_t ms) 115 | { 116 | 117 | } 118 | 119 | /** 120 | * @brief interface print format data 121 | * @param[in] fmt format data 122 | * @note none 123 | */ 124 | void ags02ma_interface_debug_print(const char *const fmt, ...) 125 | { 126 | 127 | } 128 | -------------------------------------------------------------------------------- /misra/README.md: -------------------------------------------------------------------------------- 1 |
    2 | 3 |
    4 | 5 | ### Table of Contents 6 | 7 | - [Introduce](#Introduce) 8 | - [Classification](#Classification) 9 | - [Compliance](#Compliance) 10 | - [Code](#Code) 11 | - [Report](#Report) 12 | 13 | ### Introduce 14 | 15 | MISRA C is a set of software development guidelines for the C programming language developed by The MISRA Consortium. Its aims are to facilitate code safety, security, portability and reliability in the context of embedded systems, specifically those systems programmed in ISO C / C90 / C99. 16 | 17 | Although originally specifically targeted at the automotive industry, MISRA C has evolved as a widely accepted model for best practices by leading developers in sectors including automotive, aerospace, telecom, medical devices, defense, railway, and others. 18 | 19 | ### Classification 20 | 21 | Each Guideline is classified as Mandatory(new for MISRA C:2012), Required or Advisory. 22 | 23 | - Mandatory guidelines shall always be complied with 24 | - Required guidelines shall be complied with, unless subject to a Deviation 25 | - Advisory guidelines are considered good practice, but compliance is less formal. 26 | 27 | ### Compliance 28 | 29 | In order for a piece of software to claim to be compliant to the MISRA C Guidelines, all mandatory rules shall be met and all required rules and directives shall either be met or subject to a formal deviation. 30 | 31 | Many MISRA C rules can be characterized as guidelines because under certain condition software engineers may deviate from rules and still be considered compliant with the standard. Deviations must be documented either in the code or in a file. In addition; proof must be provided that the software engineer has considered the safety of the system and that deviating from the rule will not have a negative impact, requirements for deviations also include: 32 | 33 | - The rule deviated from. 34 | - Rationale for deviation. 35 | 36 | ### Code 37 | 38 | LibDriver complies with deviated MISRA standards. LibDriver complies with all mandatory guidelines and most required guidelines, the deviations are shown in Table 1. 39 | 40 |
    Table 1. Guideline Deviations
    41 | 42 | | Guideline | Description | Status | Explanation | Severity | 43 | | --------- | ------------------------------------------------------------ | ------------ | ------------------------------------------------------------ | -------- | 44 | | 10.1 | Operands shall not be of an inappropriate essential type. (\|, &, ~, <<, >>) | incompatible | We use this function to convert driver data and drivers guarantee the safety of the operation. | very low | 45 | | 10.4 | Both operands of an operator in which the usual arithmetic conversions are performed shall have the same essential type category. (\|, &, <<, >>) | incompatible | We use this function to convert driver data and drivers guarantee the safety of the operation. | very low | 46 | 47 | ### Report 48 | 49 | Detailed reports can be found in /misra/ags02ma_polyspace_report.pdf. 50 | -------------------------------------------------------------------------------- /misra/ags02ma_polyspace_report.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/misra/ags02ma_polyspace_report.pdf -------------------------------------------------------------------------------- /project/stm32f407/EW/stm32f407.dep: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 4 | 295865719 5 | 6 | Release 7 | 8 | $PROJ_DIR$\..\..\..\src\driver_ags02ma.c 9 | $PROJ_DIR$\..\driver\src\stm32f407_driver_ags02ma_interface.c 10 | $PROJ_DIR$\..\..\..\example\driver_ags02ma_basic.c 11 | $PROJ_DIR$\..\usr\src\system_stm32f4xx.c 12 | $PROJ_DIR$\..\usr\src\stm32f4xx_hal_msp.c 13 | $PROJ_DIR$\..\usr\src\stm32f4xx_it.c 14 | $PROJ_DIR$\..\..\..\test\driver_ags02ma_read_test.c 15 | $PROJ_DIR$\..\usr\src\main.c 16 | $PROJ_DIR$\..\usr\src\getopt.c 17 | $PROJ_DIR$\..\usr\src\shell.c 18 | 19 | 20 | [REBUILD_ALL] 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /project/stm32f407/EW/stm32f407.eww: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $WS_DIR$\stm32f407.ewp 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /project/stm32f407/README.md: -------------------------------------------------------------------------------- 1 | ### 1. Chip 2 | 3 | #### 1.1 Chip Info 4 | 5 | Chip Name: STM32F407ZGT6. 6 | 7 | Extern Oscillator: 8MHz. 8 | 9 | UART Pin: TX/RX PA9/PA10. 10 | 11 | IIC Pin: SCL/SDA PB8/PB9. 12 | 13 | ### 2. Development and Debugging 14 | 15 | #### 2.1 Integrated Development Environment 16 | 17 | LibDriver provides both Keil and IAR integrated development environment projects. 18 | 19 | MDK is the Keil ARM project and your Keil version must be 5 or higher.Keil ARM project needs STMicroelectronics STM32F4 Series Device Family Pack and you can download from https://www.keil.com/dd2/stmicroelectronics/stm32f407zgtx. 20 | 21 | EW is the IAR ARM project and your IAR version must be 9 or higher. 22 | 23 | #### 2.2 Serial Port Parameter 24 | 25 | Baud Rate: 115200. 26 | 27 | Data Bits : 8. 28 | 29 | Stop Bits: 1. 30 | 31 | Parity: None. 32 | 33 | Flow Control: None. 34 | 35 | #### 2.3 Serial Port Assistant 36 | 37 | We use '\n' to wrap lines.If your serial port assistant displays exceptions (e.g. the displayed content does not divide lines), please modify the configuration of your serial port assistant or replace one that supports '\n' parsing. 38 | 39 | ### 3. AGS02MA 40 | 41 | #### 3.1 Command Instruction 42 | 43 | 1. Show ags02ma chip and driver information. 44 | 45 | ```shell 46 | ags02ma (-i | --information) 47 | ``` 48 | 49 | 2. Show ags02ma help. 50 | 51 | ```shell 52 | ags02ma (-h | --help) 53 | ``` 54 | 55 | 3. Show ags02ma pin connections of the current board. 56 | 57 | ```shell 58 | ags02ma (-p | --port) 59 | ``` 60 | 61 | 4. Run ags02ma read test, num means test times. 62 | 63 | ```shell 64 | ags02ma (-t read | --test=read) [--times=] 65 | ``` 66 | 67 | 5. Run ags02ma read function, num means test times. 68 | 69 | ```shell 70 | ags02ma (-e read | --example=read) [--times=] 71 | ``` 72 | 73 | #### 3.2 Command Example 74 | 75 | ```shell 76 | ags02ma -i 77 | 78 | ags02ma: chip is ASAIR AGS02MA. 79 | ags02ma: manufacturer is ASAIR. 80 | ags02ma: interface is IIC. 81 | ags02ma: driver version is 1.0. 82 | ags02ma: min supply voltage is 3.3V. 83 | ags02ma: max supply voltage is 5.5V. 84 | ags02ma: max current is 33.00mA. 85 | ags02ma: max temperature is 50.0C. 86 | ags02ma: min temperature is 0.0C. 87 | ``` 88 | 89 | ```shell 90 | ags02ma -p 91 | 92 | ags02ma: SCL connected to GPIOB PIN8. 93 | ags02ma: SDA connected to GPIOB PIN9. 94 | ``` 95 | 96 | ```shell 97 | ags02ma -t read --times=3 98 | 99 | ags02ma: chip is ASAIR AGS02MA. 100 | ags02ma: manufacturer is ASAIR. 101 | ags02ma: interface is IIC. 102 | ags02ma: driver version is 1.0. 103 | ags02ma: min supply voltage is 3.3V. 104 | ags02ma: max supply voltage is 5.5V. 105 | ags02ma: max current is 33.00mA. 106 | ags02ma: max temperature is 50.0C. 107 | ags02ma: min temperature is 0.0C. 108 | ags02ma: start read test. 109 | ags02ma: version is 0x76. 110 | ags02ma: tvoc is 1879ppb. 111 | ags02ma: tvoc is 1882ppb. 112 | ags02ma: tvoc is 1886ppb. 113 | ags02ma: resistance is 1909500.00ohm. 114 | ags02ma: modify slave address 0x1A. 115 | ags02ma: finish read test. 116 | ``` 117 | 118 | ```shell 119 | ags02ma -e read --times=3 120 | 121 | ags02ma: 1/3. 122 | ags02ma: tvoc is 1831ppb. 123 | ags02ma: 2/3. 124 | ags02ma: tvoc is 1836ppb. 125 | ags02ma: 3/3. 126 | ags02ma: tvoc is 1842ppb. 127 | ``` 128 | 129 | ```shell 130 | ags02ma -h 131 | 132 | Usage: 133 | ags02ma (-i | --information) 134 | ags02ma (-h | --help) 135 | ags02ma (-p | --port) 136 | ags02ma (-t read | --test=read) [--times=] 137 | ags02ma (-e read | --example=read) [--times=] 138 | 139 | Options: 140 | -e , --example= Run the driver example. 141 | -h, --help Show the help. 142 | -i, --information Show the chip information. 143 | -p, --port Display the pin connections of the current board. 144 | -t , --test= Run the driver test. 145 | --times= Set the running times.([default: 3]) 146 | ``` 147 | 148 | -------------------------------------------------------------------------------- /project/stm32f407/cmsis/cmsis_version.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file cmsis_version.h 3 | * @brief CMSIS Core(M) Version definitions 4 | * @version V5.0.2 5 | * @date 19. April 2017 6 | ******************************************************************************/ 7 | /* 8 | * Copyright (c) 2009-2017 ARM Limited. All rights reserved. 9 | * 10 | * SPDX-License-Identifier: Apache-2.0 11 | * 12 | * Licensed under the Apache License, Version 2.0 (the License); you may 13 | * not use this file except in compliance with the License. 14 | * You may obtain a copy of the License at 15 | * 16 | * www.apache.org/licenses/LICENSE-2.0 17 | * 18 | * Unless required by applicable law or agreed to in writing, software 19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | * See the License for the specific language governing permissions and 22 | * limitations under the License. 23 | */ 24 | 25 | #if defined ( __ICCARM__ ) 26 | #pragma system_include /* treat file as system include file for MISRA check */ 27 | #elif defined (__clang__) 28 | #pragma clang system_header /* treat file as system include file */ 29 | #endif 30 | 31 | #ifndef __CMSIS_VERSION_H 32 | #define __CMSIS_VERSION_H 33 | 34 | /* CMSIS Version definitions */ 35 | #define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */ 36 | #define __CM_CMSIS_VERSION_SUB ( 1U) /*!< [15:0] CMSIS Core(M) sub version */ 37 | #define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \ 38 | __CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */ 39 | #endif 40 | -------------------------------------------------------------------------------- /project/stm32f407/cmsis/tz_context.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * @file tz_context.h 3 | * @brief Context Management for Armv8-M TrustZone 4 | * @version V1.0.1 5 | * @date 10. January 2018 6 | ******************************************************************************/ 7 | /* 8 | * Copyright (c) 2017-2018 Arm Limited. All rights reserved. 9 | * 10 | * SPDX-License-Identifier: Apache-2.0 11 | * 12 | * Licensed under the Apache License, Version 2.0 (the License); you may 13 | * not use this file except in compliance with the License. 14 | * You may obtain a copy of the License at 15 | * 16 | * www.apache.org/licenses/LICENSE-2.0 17 | * 18 | * Unless required by applicable law or agreed to in writing, software 19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | * See the License for the specific language governing permissions and 22 | * limitations under the License. 23 | */ 24 | 25 | #if defined ( __ICCARM__ ) 26 | #pragma system_include /* treat file as system include file for MISRA check */ 27 | #elif defined (__clang__) 28 | #pragma clang system_header /* treat file as system include file */ 29 | #endif 30 | 31 | #ifndef TZ_CONTEXT_H 32 | #define TZ_CONTEXT_H 33 | 34 | #include 35 | 36 | #ifndef TZ_MODULEID_T 37 | #define TZ_MODULEID_T 38 | /// \details Data type that identifies secure software modules called by a process. 39 | typedef uint32_t TZ_ModuleId_t; 40 | #endif 41 | 42 | /// \details TZ Memory ID identifies an allocated memory slot. 43 | typedef uint32_t TZ_MemoryId_t; 44 | 45 | /// Initialize secure context memory system 46 | /// \return execution status (1: success, 0: error) 47 | uint32_t TZ_InitContextSystem_S (void); 48 | 49 | /// Allocate context memory for calling secure software modules in TrustZone 50 | /// \param[in] module identifies software modules called from non-secure mode 51 | /// \return value != 0 id TrustZone memory slot identifier 52 | /// \return value 0 no memory available or internal error 53 | TZ_MemoryId_t TZ_AllocModuleContext_S (TZ_ModuleId_t module); 54 | 55 | /// Free context memory that was previously allocated with \ref TZ_AllocModuleContext_S 56 | /// \param[in] id TrustZone memory slot identifier 57 | /// \return execution status (1: success, 0: error) 58 | uint32_t TZ_FreeModuleContext_S (TZ_MemoryId_t id); 59 | 60 | /// Load secure context (called on RTOS thread context switch) 61 | /// \param[in] id TrustZone memory slot identifier 62 | /// \return execution status (1: success, 0: error) 63 | uint32_t TZ_LoadContext_S (TZ_MemoryId_t id); 64 | 65 | /// Store secure context (called on RTOS thread context switch) 66 | /// \param[in] id TrustZone memory slot identifier 67 | /// \return execution status (1: success, 0: error) 68 | uint32_t TZ_StoreContext_S (TZ_MemoryId_t id); 69 | 70 | #endif // TZ_CONTEXT_H 71 | -------------------------------------------------------------------------------- /project/stm32f407/hal/inc/stm32_assert_template.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32_assert.h 4 | * @author MCD Application Team 5 | * @brief STM32 assert template file. 6 | * This file should be copied to the application folder and renamed 7 | * to stm32_assert.h. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | * Copyright (c) 2017 STMicroelectronics. 12 | * All rights reserved. 13 | * 14 | * This software is licensed under terms that can be found in the LICENSE file 15 | * in the root directory of this software component. 16 | * If no LICENSE file comes with this software, it is provided AS-IS. 17 | * 18 | ****************************************************************************** 19 | */ 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef __STM32_ASSERT_H 23 | #define __STM32_ASSERT_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | /* Exported types ------------------------------------------------------------*/ 30 | /* Exported constants --------------------------------------------------------*/ 31 | /* Includes ------------------------------------------------------------------*/ 32 | /* Exported macro ------------------------------------------------------------*/ 33 | #ifdef USE_FULL_ASSERT 34 | /** 35 | * @brief The assert_param macro is used for function's parameters check. 36 | * @param expr If expr is false, it calls assert_failed function 37 | * which reports the name of the source file and the source 38 | * line number of the call that failed. 39 | * If expr is true, it returns no value. 40 | * @retval None 41 | */ 42 | #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) 43 | /* Exported functions ------------------------------------------------------- */ 44 | void assert_failed(uint8_t* file, uint32_t line); 45 | #else 46 | #define assert_param(expr) ((void)0U) 47 | #endif /* USE_FULL_ASSERT */ 48 | 49 | #ifdef __cplusplus 50 | } 51 | #endif 52 | 53 | #endif /* __STM32_ASSERT_H */ 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /project/stm32f407/hal/inc/stm32f4xx_hal_cryp_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_hal_cryp_ex.h 4 | * @author MCD Application Team 5 | * @brief Header file of CRYP HAL Extension module. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2016 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file 13 | * in the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef __STM32F4xx_HAL_CRYP_EX_H 21 | #define __STM32F4xx_HAL_CRYP_EX_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "stm32f4xx_hal_def.h" 29 | 30 | /** @addtogroup STM32F4xx_HAL_Driver 31 | * @{ 32 | */ 33 | 34 | /** @addtogroup CRYPEx 35 | * @{ 36 | */ 37 | /* Exported types ------------------------------------------------------------*/ 38 | /** @defgroup CRYPEx_Exported_Types CRYPEx Exported types 39 | * @{ 40 | */ 41 | 42 | /** 43 | * @} 44 | */ 45 | /* Exported constants --------------------------------------------------------*/ 46 | /** @defgroup CRYPEx_Exported_Constants CRYPEx Exported constants 47 | * @{ 48 | */ 49 | 50 | /** 51 | * @} 52 | */ 53 | 54 | /* Private types -------------------------------------------------------------*/ 55 | /** @defgroup CRYPEx_Private_Types CRYPEx Private Types 56 | * @{ 57 | */ 58 | 59 | /** 60 | * @} 61 | */ 62 | 63 | /* Private variables ---------------------------------------------------------*/ 64 | /** @defgroup CRYPEx_Private_Variables CRYPEx Private Variables 65 | * @{ 66 | */ 67 | 68 | /** 69 | * @} 70 | */ 71 | 72 | /* Private constants ---------------------------------------------------------*/ 73 | /** @defgroup CRYPEx_Private_Constants CRYPEx Private Constants 74 | * @{ 75 | */ 76 | 77 | /** 78 | * @} 79 | */ 80 | 81 | /* Private macros ------------------------------------------------------------*/ 82 | /** @defgroup CRYPEx_Private_Macros CRYPEx Private Macros 83 | * @{ 84 | */ 85 | 86 | /** 87 | * @} 88 | */ 89 | 90 | /* Private functions ---------------------------------------------------------*/ 91 | /** @defgroup CRYPEx_Private_Functions CRYPEx Private Functions 92 | * @{ 93 | */ 94 | 95 | /** 96 | * @} 97 | */ 98 | 99 | /* Exported functions --------------------------------------------------------*/ 100 | /** @defgroup CRYPEx_Exported_Functions CRYPEx Exported Functions 101 | * @{ 102 | */ 103 | #if defined (CRYP) || defined (AES) 104 | /** @addtogroup CRYPEx_Exported_Functions_Group1 105 | * @{ 106 | */ 107 | HAL_StatusTypeDef HAL_CRYPEx_AESGCM_GenerateAuthTAG(CRYP_HandleTypeDef *hcryp, uint32_t *AuthTag, uint32_t Timeout); 108 | HAL_StatusTypeDef HAL_CRYPEx_AESCCM_GenerateAuthTAG(CRYP_HandleTypeDef *hcryp, uint32_t *AuthTag, uint32_t Timeout); 109 | /** 110 | * @} 111 | */ 112 | #endif /* CRYP||AES */ 113 | 114 | #if defined (AES) 115 | /** @addtogroup CRYPEx_Exported_Functions_Group2 116 | * @{ 117 | */ 118 | void HAL_CRYPEx_EnableAutoKeyDerivation(CRYP_HandleTypeDef *hcryp); 119 | void HAL_CRYPEx_DisableAutoKeyDerivation(CRYP_HandleTypeDef *hcryp); 120 | /** 121 | * @} 122 | */ 123 | #endif /* AES */ 124 | 125 | /** 126 | * @} 127 | */ 128 | 129 | /** 130 | * @} 131 | */ 132 | 133 | /** 134 | * @} 135 | */ 136 | 137 | #ifdef __cplusplus 138 | } 139 | #endif 140 | 141 | #endif /* __STM32F4xx_HAL_CRYP_EX_H */ 142 | 143 | -------------------------------------------------------------------------------- /project/stm32f407/hal/inc/stm32f4xx_hal_dma_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_hal_dma_ex.h 4 | * @author MCD Application Team 5 | * @brief Header file of DMA HAL extension module. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file in 13 | * the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef __STM32F4xx_HAL_DMA_EX_H 21 | #define __STM32F4xx_HAL_DMA_EX_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "stm32f4xx_hal_def.h" 29 | 30 | /** @addtogroup STM32F4xx_HAL_Driver 31 | * @{ 32 | */ 33 | 34 | /** @addtogroup DMAEx 35 | * @{ 36 | */ 37 | 38 | /* Exported types ------------------------------------------------------------*/ 39 | /** @defgroup DMAEx_Exported_Types DMAEx Exported Types 40 | * @brief DMAEx Exported types 41 | * @{ 42 | */ 43 | 44 | /** 45 | * @brief HAL DMA Memory definition 46 | */ 47 | typedef enum 48 | { 49 | MEMORY0 = 0x00U, /*!< Memory 0 */ 50 | MEMORY1 = 0x01U /*!< Memory 1 */ 51 | }HAL_DMA_MemoryTypeDef; 52 | 53 | /** 54 | * @} 55 | */ 56 | 57 | /* Exported functions --------------------------------------------------------*/ 58 | /** @defgroup DMAEx_Exported_Functions DMAEx Exported Functions 59 | * @brief DMAEx Exported functions 60 | * @{ 61 | */ 62 | 63 | /** @defgroup DMAEx_Exported_Functions_Group1 Extended features functions 64 | * @brief Extended features functions 65 | * @{ 66 | */ 67 | 68 | /* IO operation functions *******************************************************/ 69 | HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength); 70 | HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength); 71 | HAL_StatusTypeDef HAL_DMAEx_ChangeMemory(DMA_HandleTypeDef *hdma, uint32_t Address, HAL_DMA_MemoryTypeDef memory); 72 | 73 | /** 74 | * @} 75 | */ 76 | /** 77 | * @} 78 | */ 79 | 80 | /* Private functions ---------------------------------------------------------*/ 81 | /** @defgroup DMAEx_Private_Functions DMAEx Private Functions 82 | * @brief DMAEx Private functions 83 | * @{ 84 | */ 85 | /** 86 | * @} 87 | */ 88 | 89 | /** 90 | * @} 91 | */ 92 | 93 | /** 94 | * @} 95 | */ 96 | 97 | #ifdef __cplusplus 98 | } 99 | #endif 100 | 101 | #endif /*__STM32F4xx_HAL_DMA_EX_H*/ 102 | 103 | -------------------------------------------------------------------------------- /project/stm32f407/hal/inc/stm32f4xx_hal_flash_ramfunc.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_hal_flash_ramfunc.h 4 | * @author MCD Application Team 5 | * @brief Header file of FLASH RAMFUNC driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file in 13 | * the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | ****************************************************************************** 16 | */ 17 | 18 | /* Define to prevent recursive inclusion -------------------------------------*/ 19 | #ifndef __STM32F4xx_FLASH_RAMFUNC_H 20 | #define __STM32F4xx_FLASH_RAMFUNC_H 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) || defined(STM32F411xE) || defined(STM32F446xx) || defined(STM32F412Zx) ||\ 26 | defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) 27 | 28 | /* Includes ------------------------------------------------------------------*/ 29 | #include "stm32f4xx_hal_def.h" 30 | 31 | /** @addtogroup STM32F4xx_HAL_Driver 32 | * @{ 33 | */ 34 | 35 | /** @addtogroup FLASH_RAMFUNC 36 | * @{ 37 | */ 38 | 39 | /* Exported types ------------------------------------------------------------*/ 40 | /* Exported macro ------------------------------------------------------------*/ 41 | /* Exported functions --------------------------------------------------------*/ 42 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions 43 | * @{ 44 | */ 45 | 46 | /** @addtogroup FLASH_RAMFUNC_Exported_Functions_Group1 47 | * @{ 48 | */ 49 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_StopFlashInterfaceClk(void); 50 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_StartFlashInterfaceClk(void); 51 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_EnableFlashSleepMode(void); 52 | __RAM_FUNC HAL_StatusTypeDef HAL_FLASHEx_DisableFlashSleepMode(void); 53 | /** 54 | * @} 55 | */ 56 | 57 | /** 58 | * @} 59 | */ 60 | 61 | /** 62 | * @} 63 | */ 64 | 65 | /** 66 | * @} 67 | */ 68 | 69 | #endif /* STM32F410xx || STM32F411xE || STM32F446xx || STM32F412Zx || STM32F412Vx || STM32F412Rx || STM32F412Cx */ 70 | #ifdef __cplusplus 71 | } 72 | #endif 73 | 74 | 75 | #endif /* __STM32F4xx_FLASH_RAMFUNC_H */ 76 | 77 | -------------------------------------------------------------------------------- /project/stm32f407/hal/inc/stm32f4xx_hal_i2c_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_hal_i2c_ex.h 4 | * @author MCD Application Team 5 | * @brief Header file of I2C HAL Extension module. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2016 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file 13 | * in the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef __STM32F4xx_HAL_I2C_EX_H 21 | #define __STM32F4xx_HAL_I2C_EX_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | #if defined(I2C_FLTR_ANOFF)&&defined(I2C_FLTR_DNF) 28 | /* Includes ------------------------------------------------------------------*/ 29 | #include "stm32f4xx_hal_def.h" 30 | 31 | /** @addtogroup STM32F4xx_HAL_Driver 32 | * @{ 33 | */ 34 | 35 | /** @addtogroup I2CEx 36 | * @{ 37 | */ 38 | 39 | /* Exported types ------------------------------------------------------------*/ 40 | /* Exported constants --------------------------------------------------------*/ 41 | /** @defgroup I2CEx_Exported_Constants I2C Exported Constants 42 | * @{ 43 | */ 44 | 45 | /** @defgroup I2CEx_Analog_Filter I2C Analog Filter 46 | * @{ 47 | */ 48 | #define I2C_ANALOGFILTER_ENABLE 0x00000000U 49 | #define I2C_ANALOGFILTER_DISABLE I2C_FLTR_ANOFF 50 | /** 51 | * @} 52 | */ 53 | 54 | /** 55 | * @} 56 | */ 57 | 58 | /* Exported macro ------------------------------------------------------------*/ 59 | /* Exported functions --------------------------------------------------------*/ 60 | /** @addtogroup I2CEx_Exported_Functions 61 | * @{ 62 | */ 63 | 64 | /** @addtogroup I2CEx_Exported_Functions_Group1 65 | * @{ 66 | */ 67 | /* Peripheral Control functions ************************************************/ 68 | HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter); 69 | HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter); 70 | /** 71 | * @} 72 | */ 73 | 74 | /** 75 | * @} 76 | */ 77 | /* Private types -------------------------------------------------------------*/ 78 | /* Private variables ---------------------------------------------------------*/ 79 | /* Private constants ---------------------------------------------------------*/ 80 | /** @defgroup I2CEx_Private_Constants I2C Private Constants 81 | * @{ 82 | */ 83 | 84 | /** 85 | * @} 86 | */ 87 | 88 | /* Private macros ------------------------------------------------------------*/ 89 | /** @defgroup I2CEx_Private_Macros I2C Private Macros 90 | * @{ 91 | */ 92 | #define IS_I2C_ANALOG_FILTER(FILTER) (((FILTER) == I2C_ANALOGFILTER_ENABLE) || \ 93 | ((FILTER) == I2C_ANALOGFILTER_DISABLE)) 94 | #define IS_I2C_DIGITAL_FILTER(FILTER) ((FILTER) <= 0x0000000FU) 95 | /** 96 | * @} 97 | */ 98 | 99 | /** 100 | * @} 101 | */ 102 | 103 | /** 104 | * @} 105 | */ 106 | 107 | #endif 108 | 109 | #ifdef __cplusplus 110 | } 111 | #endif 112 | 113 | #endif /* __STM32F4xx_HAL_I2C_EX_H */ 114 | 115 | 116 | -------------------------------------------------------------------------------- /project/stm32f407/hal/inc/stm32f4xx_hal_ltdc_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_hal_ltdc_ex.h 4 | * @author MCD Application Team 5 | * @brief Header file of LTDC HAL Extension module. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2016 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file 13 | * in the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef STM32F4xx_HAL_LTDC_EX_H 21 | #define STM32F4xx_HAL_LTDC_EX_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "stm32f4xx_hal_def.h" 29 | 30 | #if defined (LTDC) && defined (DSI) 31 | 32 | #include "stm32f4xx_hal_dsi.h" 33 | 34 | /** @addtogroup STM32F4xx_HAL_Driver 35 | * @{ 36 | */ 37 | 38 | /** @addtogroup LTDCEx 39 | * @{ 40 | */ 41 | 42 | /* Exported types ------------------------------------------------------------*/ 43 | /* Exported constants --------------------------------------------------------*/ 44 | /* Exported macro ------------------------------------------------------------*/ 45 | /* Exported functions --------------------------------------------------------*/ 46 | /** @addtogroup LTDCEx_Exported_Functions 47 | * @{ 48 | */ 49 | 50 | /** @addtogroup LTDCEx_Exported_Functions_Group1 51 | * @{ 52 | */ 53 | HAL_StatusTypeDef HAL_LTDCEx_StructInitFromVideoConfig(LTDC_HandleTypeDef *hltdc, DSI_VidCfgTypeDef *VidCfg); 54 | HAL_StatusTypeDef HAL_LTDCEx_StructInitFromAdaptedCommandConfig(LTDC_HandleTypeDef *hltdc, DSI_CmdCfgTypeDef *CmdCfg); 55 | /** 56 | * @} 57 | */ 58 | 59 | /** 60 | * @} 61 | */ 62 | 63 | /* Private types -------------------------------------------------------------*/ 64 | /* Private variables ---------------------------------------------------------*/ 65 | /* Private constants ---------------------------------------------------------*/ 66 | /* Private macros ------------------------------------------------------------*/ 67 | /* Private functions ---------------------------------------------------------*/ 68 | 69 | /** 70 | * @} 71 | */ 72 | 73 | /** 74 | * @} 75 | */ 76 | 77 | #endif /* LTDC && DSI */ 78 | 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | 83 | #endif /* STM32F4xx_HAL_LTDC_EX_H */ 84 | -------------------------------------------------------------------------------- /project/stm32f407/hal/inc/stm32f4xx_hal_pcd_ex.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_hal_pcd_ex.h 4 | * @author MCD Application Team 5 | * @brief Header file of PCD HAL Extension module. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2016 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file 13 | * in the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef STM32F4xx_HAL_PCD_EX_H 21 | #define STM32F4xx_HAL_PCD_EX_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif /* __cplusplus */ 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "stm32f4xx_hal_def.h" 29 | 30 | #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 31 | /** @addtogroup STM32F4xx_HAL_Driver 32 | * @{ 33 | */ 34 | 35 | /** @addtogroup PCDEx 36 | * @{ 37 | */ 38 | /* Exported types ------------------------------------------------------------*/ 39 | /* Exported constants --------------------------------------------------------*/ 40 | /* Exported macros -----------------------------------------------------------*/ 41 | /* Exported functions --------------------------------------------------------*/ 42 | /** @addtogroup PCDEx_Exported_Functions PCDEx Exported Functions 43 | * @{ 44 | */ 45 | /** @addtogroup PCDEx_Exported_Functions_Group1 Peripheral Control functions 46 | * @{ 47 | */ 48 | 49 | #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 50 | HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size); 51 | HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size); 52 | #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 53 | 54 | #if defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx) 55 | HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd); 56 | HAL_StatusTypeDef HAL_PCDEx_DeActivateLPM(PCD_HandleTypeDef *hpcd); 57 | #endif /* defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx) */ 58 | #if defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx) 59 | HAL_StatusTypeDef HAL_PCDEx_ActivateBCD(PCD_HandleTypeDef *hpcd); 60 | HAL_StatusTypeDef HAL_PCDEx_DeActivateBCD(PCD_HandleTypeDef *hpcd); 61 | void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd); 62 | #endif /* defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx) */ 63 | void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg); 64 | void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg); 65 | 66 | /** 67 | * @} 68 | */ 69 | 70 | /** 71 | * @} 72 | */ 73 | 74 | /** 75 | * @} 76 | */ 77 | 78 | /** 79 | * @} 80 | */ 81 | #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 82 | 83 | #ifdef __cplusplus 84 | } 85 | #endif /* __cplusplus */ 86 | 87 | 88 | #endif /* STM32F4xx_HAL_PCD_EX_H */ 89 | -------------------------------------------------------------------------------- /project/stm32f407/hal/src/stm32f4xx_hal_msp_template.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_hal_msp_template.c 4 | * @author MCD Application Team 5 | * @brief This file contains the HAL System and Peripheral (PPP) MSP initialization 6 | * and de-initialization functions. 7 | * It should be copied to the application folder and renamed into 'stm32f4xx_hal_msp.c'. 8 | ****************************************************************************** 9 | * @attention 10 | * 11 | * Copyright (c) 2017 STMicroelectronics. 12 | * All rights reserved. 13 | * 14 | * This software is licensed under terms that can be found in the LICENSE file 15 | * in the root directory of this software component. 16 | * If no LICENSE file comes with this software, it is provided AS-IS. 17 | * 18 | ****************************************************************************** 19 | */ 20 | 21 | /* Includes ------------------------------------------------------------------*/ 22 | #include "stm32f4xx_hal.h" 23 | 24 | /** @addtogroup STM32F4xx_HAL_Driver 25 | * @{ 26 | */ 27 | 28 | /** @defgroup HAL_MSP HAL MSP 29 | * @brief HAL MSP module. 30 | * @{ 31 | */ 32 | 33 | /* Private typedef -----------------------------------------------------------*/ 34 | /* Private define ------------------------------------------------------------*/ 35 | /* Private macro -------------------------------------------------------------*/ 36 | /* Private variables ---------------------------------------------------------*/ 37 | /* Private function prototypes -----------------------------------------------*/ 38 | /* Private functions ---------------------------------------------------------*/ 39 | 40 | /** @defgroup HAL_MSP_Private_Functions HAL MSP Private Functions 41 | * @{ 42 | */ 43 | 44 | /** 45 | * @brief Initializes the Global MSP. 46 | * @note This function is called from HAL_Init() function to perform system 47 | * level initialization (GPIOs, clock, DMA, interrupt). 48 | * @retval None 49 | */ 50 | void HAL_MspInit(void) 51 | { 52 | 53 | } 54 | 55 | /** 56 | * @brief DeInitializes the Global MSP. 57 | * @note This functiona is called from HAL_DeInit() function to perform system 58 | * level de-initialization (GPIOs, clock, DMA, interrupt). 59 | * @retval None 60 | */ 61 | void HAL_MspDeInit(void) 62 | { 63 | 64 | } 65 | 66 | /** 67 | * @brief Initializes the PPP MSP. 68 | * @note This functiona is called from HAL_PPP_Init() function to perform 69 | * peripheral(PPP) system level initialization (GPIOs, clock, DMA, interrupt) 70 | * @retval None 71 | */ 72 | void HAL_PPP_MspInit(void) 73 | { 74 | 75 | } 76 | 77 | /** 78 | * @brief DeInitializes the PPP MSP. 79 | * @note This functiona is called from HAL_PPP_DeInit() function to perform 80 | * peripheral(PPP) system level de-initialization (GPIOs, clock, DMA, interrupt) 81 | * @retval None 82 | */ 83 | void HAL_PPP_MspDeInit(void) 84 | { 85 | 86 | } 87 | 88 | /** 89 | * @} 90 | */ 91 | 92 | /** 93 | * @} 94 | */ 95 | 96 | /** 97 | * @} 98 | */ 99 | 100 | 101 | -------------------------------------------------------------------------------- /project/stm32f407/hal/src/stm32f4xx_hal_timebase_rtc_alarm_template.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/project/stm32f407/hal/src/stm32f4xx_hal_timebase_rtc_alarm_template.c -------------------------------------------------------------------------------- /project/stm32f407/hal/src/stm32f4xx_hal_timebase_rtc_wakeup_template.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libdriver/ags02ma/b3f84d586a591f51dda9132d8dcd0a9d10ae3df6/project/stm32f407/hal/src/stm32f4xx_hal_timebase_rtc_wakeup_template.c -------------------------------------------------------------------------------- /project/stm32f407/hal/src/stm32f4xx_ll_crc.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_ll_crc.c 4 | * @author MCD Application Team 5 | * @brief CRC LL module driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2016 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file 13 | * in the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | #if defined(USE_FULL_LL_DRIVER) 19 | 20 | /* Includes ------------------------------------------------------------------*/ 21 | #include "stm32f4xx_ll_crc.h" 22 | #include "stm32f4xx_ll_bus.h" 23 | 24 | #ifdef USE_FULL_ASSERT 25 | #include "stm32_assert.h" 26 | #else 27 | #define assert_param(expr) ((void)0U) 28 | #endif /* USE_FULL_ASSERT */ 29 | 30 | /** @addtogroup STM32F4xx_LL_Driver 31 | * @{ 32 | */ 33 | 34 | #if defined (CRC) 35 | 36 | /** @addtogroup CRC_LL 37 | * @{ 38 | */ 39 | 40 | /* Private types -------------------------------------------------------------*/ 41 | /* Private variables ---------------------------------------------------------*/ 42 | /* Private constants ---------------------------------------------------------*/ 43 | /* Private macros ------------------------------------------------------------*/ 44 | /* Private function prototypes -----------------------------------------------*/ 45 | 46 | /* Exported functions --------------------------------------------------------*/ 47 | /** @addtogroup CRC_LL_Exported_Functions 48 | * @{ 49 | */ 50 | 51 | /** @addtogroup CRC_LL_EF_Init 52 | * @{ 53 | */ 54 | 55 | /** 56 | * @brief De-initialize CRC registers (Registers restored to their default values). 57 | * @param CRCx CRC Instance 58 | * @retval An ErrorStatus enumeration value: 59 | * - SUCCESS: CRC registers are de-initialized 60 | * - ERROR: CRC registers are not de-initialized 61 | */ 62 | ErrorStatus LL_CRC_DeInit(CRC_TypeDef *CRCx) 63 | { 64 | ErrorStatus status = SUCCESS; 65 | 66 | /* Check the parameters */ 67 | assert_param(IS_CRC_ALL_INSTANCE(CRCx)); 68 | 69 | if (CRCx == CRC) 70 | { 71 | /* Force CRC reset */ 72 | LL_AHB1_GRP1_ForceReset(LL_AHB1_GRP1_PERIPH_CRC); 73 | 74 | /* Release CRC reset */ 75 | LL_AHB1_GRP1_ReleaseReset(LL_AHB1_GRP1_PERIPH_CRC); 76 | } 77 | else 78 | { 79 | status = ERROR; 80 | } 81 | 82 | return (status); 83 | } 84 | 85 | /** 86 | * @} 87 | */ 88 | 89 | /** 90 | * @} 91 | */ 92 | 93 | /** 94 | * @} 95 | */ 96 | 97 | #endif /* defined (CRC) */ 98 | 99 | /** 100 | * @} 101 | */ 102 | 103 | #endif /* USE_FULL_LL_DRIVER */ 104 | -------------------------------------------------------------------------------- /project/stm32f407/hal/src/stm32f4xx_ll_pwr.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_ll_pwr.c 4 | * @author MCD Application Team 5 | * @brief PWR LL module driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file in 13 | * the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | ****************************************************************************** 16 | */ 17 | #if defined(USE_FULL_LL_DRIVER) 18 | 19 | /* Includes ------------------------------------------------------------------*/ 20 | #include "stm32f4xx_ll_pwr.h" 21 | #include "stm32f4xx_ll_bus.h" 22 | 23 | /** @addtogroup STM32F4xx_LL_Driver 24 | * @{ 25 | */ 26 | 27 | #if defined(PWR) 28 | 29 | /** @defgroup PWR_LL PWR 30 | * @{ 31 | */ 32 | 33 | /* Private types -------------------------------------------------------------*/ 34 | /* Private variables ---------------------------------------------------------*/ 35 | /* Private constants ---------------------------------------------------------*/ 36 | /* Private macros ------------------------------------------------------------*/ 37 | /* Private function prototypes -----------------------------------------------*/ 38 | 39 | /* Exported functions --------------------------------------------------------*/ 40 | /** @addtogroup PWR_LL_Exported_Functions 41 | * @{ 42 | */ 43 | 44 | /** @addtogroup PWR_LL_EF_Init 45 | * @{ 46 | */ 47 | 48 | /** 49 | * @brief De-initialize the PWR registers to their default reset values. 50 | * @retval An ErrorStatus enumeration value: 51 | * - SUCCESS: PWR registers are de-initialized 52 | * - ERROR: not applicable 53 | */ 54 | ErrorStatus LL_PWR_DeInit(void) 55 | { 56 | /* Force reset of PWR clock */ 57 | LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_PWR); 58 | 59 | /* Release reset of PWR clock */ 60 | LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_PWR); 61 | 62 | return SUCCESS; 63 | } 64 | 65 | /** 66 | * @} 67 | */ 68 | 69 | /** 70 | * @} 71 | */ 72 | 73 | /** 74 | * @} 75 | */ 76 | #endif /* defined(PWR) */ 77 | /** 78 | * @} 79 | */ 80 | 81 | #endif /* USE_FULL_LL_DRIVER */ 82 | -------------------------------------------------------------------------------- /project/stm32f407/hal/src/stm32f4xx_ll_rng.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f4xx_ll_rng.c 4 | * @author MCD Application Team 5 | * @brief RNG LL module driver. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2016 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file 13 | * in the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | #if defined(USE_FULL_LL_DRIVER) 19 | 20 | /* Includes ------------------------------------------------------------------*/ 21 | #include "stm32f4xx_ll_rng.h" 22 | #include "stm32f4xx_ll_bus.h" 23 | 24 | #ifdef USE_FULL_ASSERT 25 | #include "stm32_assert.h" 26 | #else 27 | #define assert_param(expr) ((void)0U) 28 | #endif /* USE_FULL_ASSERT */ 29 | 30 | /** @addtogroup STM32F4xx_LL_Driver 31 | * @{ 32 | */ 33 | 34 | #if defined (RNG) 35 | 36 | /** @addtogroup RNG_LL 37 | * @{ 38 | */ 39 | 40 | /* Private types -------------------------------------------------------------*/ 41 | /* Private variables ---------------------------------------------------------*/ 42 | /* Private constants ---------------------------------------------------------*/ 43 | /* Private macros ------------------------------------------------------------*/ 44 | /* Private function prototypes -----------------------------------------------*/ 45 | 46 | /* Exported functions --------------------------------------------------------*/ 47 | /** @addtogroup RNG_LL_Exported_Functions 48 | * @{ 49 | */ 50 | 51 | /** @addtogroup RNG_LL_EF_Init 52 | * @{ 53 | */ 54 | 55 | /** 56 | * @brief De-initialize RNG registers (Registers restored to their default values). 57 | * @param RNGx RNG Instance 58 | * @retval An ErrorStatus enumeration value: 59 | * - SUCCESS: RNG registers are de-initialized 60 | * - ERROR: not applicable 61 | */ 62 | ErrorStatus LL_RNG_DeInit(RNG_TypeDef *RNGx) 63 | { 64 | ErrorStatus status = SUCCESS; 65 | 66 | /* Check the parameters */ 67 | assert_param(IS_RNG_ALL_INSTANCE(RNGx)); 68 | if (RNGx == RNG) 69 | { 70 | #if !defined(RCC_AHB2_SUPPORT) 71 | /* Enable RNG reset state */ 72 | LL_AHB1_GRP1_ForceReset(LL_AHB1_GRP1_PERIPH_RNG); 73 | 74 | /* Release RNG from reset state */ 75 | LL_AHB1_GRP1_ReleaseReset(LL_AHB1_GRP1_PERIPH_RNG); 76 | #else 77 | /* Enable RNG reset state */ 78 | LL_AHB2_GRP1_ForceReset(LL_AHB2_GRP1_PERIPH_RNG); 79 | 80 | /* Release RNG from reset state */ 81 | LL_AHB2_GRP1_ReleaseReset(LL_AHB2_GRP1_PERIPH_RNG); 82 | #endif /* !RCC_AHB2_SUPPORT */ 83 | } 84 | else 85 | { 86 | status = ERROR; 87 | } 88 | 89 | return status; 90 | } 91 | 92 | /** 93 | * @} 94 | */ 95 | 96 | /** 97 | * @} 98 | */ 99 | 100 | /** 101 | * @} 102 | */ 103 | 104 | #endif /* RNG */ 105 | 106 | /** 107 | * @} 108 | */ 109 | 110 | #endif /* USE_FULL_LL_DRIVER */ 111 | 112 | -------------------------------------------------------------------------------- /project/stm32f407/interface/inc/clock.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015 - present LibDriver All rights reserved 3 | * 4 | * The MIT License (MIT) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * @file clock.h 25 | * @brief clock header file 26 | * @version 1.0.0 27 | * @author Shifeng Li 28 | * @date 2022-11-11 29 | * 30 | *

    history

    31 | * 32 | *
    Date Version Author Description 33 | *
    2022/11/11 1.0 Shifeng Li first upload 34 | *
    35 | */ 36 | 37 | #ifndef CLOCK_H 38 | #define CLOCK_H 39 | 40 | #include "stm32f4xx_hal.h" 41 | 42 | #ifdef __cplusplus 43 | extern "C"{ 44 | #endif 45 | 46 | /** 47 | * @defgroup clock clock function 48 | * @brief clock function modules 49 | * @{ 50 | */ 51 | 52 | /** 53 | * @brief chip clock init 54 | * @note none 55 | */ 56 | void clock_init(void); 57 | 58 | /** 59 | * @} 60 | */ 61 | 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | 66 | #endif 67 | -------------------------------------------------------------------------------- /project/stm32f407/interface/inc/delay.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015 - present LibDriver All rights reserved 3 | * 4 | * The MIT License (MIT) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * @file delay.h 25 | * @brief delay header file 26 | * @version 1.0.0 27 | * @author Shifeng Li 28 | * @date 2022-11-11 29 | * 30 | *

    history

    31 | * 32 | *
    Date Version Author Description 33 | *
    2022/11/11 1.0 Shifeng Li first upload 34 | *
    35 | */ 36 | 37 | #ifndef DELAY_H 38 | #define DELAY_H 39 | 40 | #include "stm32f4xx_hal.h" 41 | 42 | #ifdef __cplusplus 43 | extern "C"{ 44 | #endif 45 | 46 | /** 47 | * @defgroup delay delay function 48 | * @brief delay function modules 49 | * @{ 50 | */ 51 | 52 | /** 53 | * @brief delay clock init 54 | * @return status code 55 | * - 0 success 56 | * @note none 57 | */ 58 | uint8_t delay_init(void); 59 | 60 | /** 61 | * @brief delay us 62 | * @param[in] us time 63 | * @note none 64 | */ 65 | void delay_us(uint32_t us); 66 | 67 | /** 68 | * @brief delay ms 69 | * @param[in] ms time 70 | * @note none 71 | */ 72 | void delay_ms(uint32_t ms); 73 | 74 | /** 75 | * @} 76 | */ 77 | 78 | #ifdef __cplusplus 79 | } 80 | #endif 81 | 82 | #endif 83 | -------------------------------------------------------------------------------- /project/stm32f407/interface/src/clock.c: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015 - present LibDriver All rights reserved 3 | * 4 | * The MIT License (MIT) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * @file clock.c 25 | * @brief clock source file 26 | * @version 1.0.0 27 | * @author Shifeng Li 28 | * @date 2022-11-11 29 | * 30 | *

    history

    31 | * 32 | *
    Date Version Author Description 33 | *
    2022/11/11 1.0 Shifeng Li first upload 34 | *
    35 | */ 36 | 37 | #include "clock.h" 38 | 39 | /** 40 | * @brief chip clock init 41 | * @note none 42 | */ 43 | void clock_init(void) 44 | { 45 | RCC_OscInitTypeDef RCC_OscInitStructure; 46 | RCC_ClkInitTypeDef RCC_ClkInitStructure; 47 | HAL_StatusTypeDef ret; 48 | 49 | /* enable power clock */ 50 | __HAL_RCC_PWR_CLK_ENABLE(); 51 | __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); 52 | 53 | /* use HSE */ 54 | RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSE; 55 | RCC_OscInitStructure.HSEState = RCC_HSE_ON; 56 | RCC_OscInitStructure.PLL.PLLState = RCC_PLL_ON; 57 | RCC_OscInitStructure.PLL.PLLSource = RCC_PLLSOURCE_HSE; 58 | RCC_OscInitStructure.PLL.PLLM = 8; 59 | RCC_OscInitStructure.PLL.PLLN = 336; 60 | RCC_OscInitStructure.PLL.PLLP = 2; 61 | RCC_OscInitStructure.PLL.PLLQ = 7; 62 | ret = HAL_RCC_OscConfig(&RCC_OscInitStructure); 63 | if (ret != HAL_OK) 64 | { 65 | while(1); 66 | } 67 | 68 | /* config clock */ 69 | RCC_ClkInitStructure.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; 70 | RCC_ClkInitStructure.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 71 | RCC_ClkInitStructure.AHBCLKDivider = RCC_SYSCLK_DIV1; 72 | RCC_ClkInitStructure.APB1CLKDivider = RCC_HCLK_DIV4; 73 | RCC_ClkInitStructure.APB2CLKDivider = RCC_HCLK_DIV2; 74 | ret = HAL_RCC_ClockConfig(&RCC_ClkInitStructure, FLASH_LATENCY_5); 75 | if (ret != HAL_OK) 76 | { 77 | while(1); 78 | } 79 | 80 | /* check the id and enable flash prefetch buffer */ 81 | if (HAL_GetREVID() == 0x1001) 82 | { 83 | __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); 84 | } 85 | 86 | /* hal init */ 87 | ret = HAL_Init(); 88 | if (ret != HAL_OK) 89 | { 90 | while(1); 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /project/stm32f407/interface/src/delay.c: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015 - present LibDriver All rights reserved 3 | * 4 | * The MIT License (MIT) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * @file delay.c 25 | * @brief delay source file 26 | * @version 1.0.0 27 | * @author Shifeng Li 28 | * @date 2022-11-11 29 | * 30 | *

    history

    31 | * 32 | *
    Date Version Author Description 33 | *
    2022/11/11 1.0 Shifeng Li first upload 34 | *
    35 | */ 36 | 37 | #include "delay.h" 38 | 39 | static volatile uint32_t gs_fac_us = 0; /**< fac cnt */ 40 | 41 | /** 42 | * @brief delay clock init 43 | * @return status code 44 | * - 0 success 45 | * @note none 46 | */ 47 | uint8_t delay_init(void) 48 | { 49 | /* usr HCLK */ 50 | HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK); 51 | 52 | /* set fac */ 53 | gs_fac_us = 168; 54 | 55 | return 0; 56 | } 57 | 58 | /** 59 | * @brief delay us 60 | * @param[in] us time 61 | * @note none 62 | */ 63 | void delay_us(uint32_t us) 64 | { 65 | uint32_t ticks; 66 | uint32_t told; 67 | uint32_t tnow; 68 | uint32_t tcnt; 69 | uint32_t reload; 70 | 71 | /* set the used param */ 72 | tcnt = 0; 73 | reload = SysTick->LOAD; 74 | ticks = us * gs_fac_us; 75 | told = SysTick->VAL; 76 | 77 | /* delay */ 78 | while (1) 79 | { 80 | tnow = SysTick->VAL; 81 | if (tnow != told) 82 | { 83 | if (tnow < told) 84 | { 85 | tcnt += told - tnow; 86 | } 87 | else 88 | { 89 | tcnt += reload - tnow + told; 90 | } 91 | told = tnow; 92 | if (tcnt >= ticks) 93 | { 94 | break; 95 | } 96 | } 97 | } 98 | } 99 | 100 | /** 101 | * @brief delay ms 102 | * @param[in] ms time 103 | * @note none 104 | */ 105 | void delay_ms(uint32_t ms) 106 | { 107 | /* use the hal delay */ 108 | HAL_Delay(ms); 109 | } 110 | -------------------------------------------------------------------------------- /project/stm32f407/output/mdk/obj_delete.bat: -------------------------------------------------------------------------------- 1 | del *.bak /s 2 | del *.ddk /s 3 | del *.edk /s 4 | del *.lst /s 5 | del *.lnp /s 6 | del *.mpf /s 7 | del *.mpj /s 8 | del *.obj /s 9 | del *.omf /s 10 | ::del *.opt /s 11 | del *.plg /s 12 | del *.rpt /s 13 | del *.tmp /s 14 | del *.__i /s 15 | del *.crf /s 16 | del *.o /s 17 | del *.d /s 18 | del *.axf /s 19 | del *.tra /s 20 | del *.dep /s 21 | del *.iex /s 22 | del *.htm /s 23 | del *.sct /s 24 | del *.map /s 25 | exit 26 | -------------------------------------------------------------------------------- /project/stm32f407/usr/inc/shell.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015 - present LibDriver All rights reserved 3 | * 4 | * The MIT License (MIT) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * @file shell.h 25 | * @brief shell header file 26 | * @version 1.0.0 27 | * @author Shifeng Li 28 | * @date 2022-11-11 29 | * 30 | *

    history

    31 | * 32 | *
    Date Version Author Description 33 | *
    2022/11/11 1.0 Shifeng Li first upload 34 | *
    35 | */ 36 | 37 | #ifndef SHELL_H 38 | #define SHELL_H 39 | 40 | #include 41 | #include 42 | #include 43 | 44 | #ifdef __cplusplus 45 | extern "C"{ 46 | #endif 47 | 48 | /** 49 | * @defgroup shell shell function 50 | * @brief shell function modules 51 | * @{ 52 | */ 53 | 54 | /** 55 | * @brief shell param definition 56 | */ 57 | #define SHELL_MAX_SIZE 32 /**< shell max function number */ 58 | #define SHELL_MAX_NAME 32 /**< shell max function name length */ 59 | #define SHELL_MAX_REG_SIZE 32 /**< shell max register number */ 60 | #define SHELL_MAX_BUF_SIZE 256 /**< shell max buffer size */ 61 | 62 | /** 63 | * @brief function struture definition 64 | */ 65 | typedef struct function_s 66 | { 67 | char name[SHELL_MAX_NAME]; /**< functon name */ 68 | uint8_t (*fuc)(uint8_t argc, char **argv); /**< function address */ 69 | } function_t; 70 | 71 | /** 72 | * @brief shell struture definition 73 | */ 74 | typedef struct shell_s 75 | { 76 | function_t fuc[SHELL_MAX_REG_SIZE]; /**< functon buffer */ 77 | uint16_t fuc_i; /**< functon number */ 78 | char *argv[SHELL_MAX_SIZE]; /**< argv temp buffer */ 79 | char buf_out[SHELL_MAX_BUF_SIZE]; /**< output buffer */ 80 | } shell_t; 81 | 82 | /** 83 | * @brief init shell 84 | * @return status code 85 | * - 0 success 86 | * @note none 87 | */ 88 | uint8_t shell_init(void); 89 | 90 | /** 91 | * @brief shell register function 92 | * @param[in] *name pointer to a name buffer 93 | * @param[in] *fuc pointer to a function address 94 | * @return status code 95 | * - 0 success 96 | * - 1 buffer is full 97 | * @note none 98 | */ 99 | uint8_t shell_register(char *name, uint8_t (*fuc)(uint8_t argc, char **argv)); 100 | 101 | /** 102 | * @brief shell parse command 103 | * @param[in] *buf pointer to a buffer address 104 | * @param[in] len buffer length 105 | * @return status code 106 | * - 0 success 107 | * - 1 run failed 108 | * - 2 find function failed 109 | * - 3 length is too big 110 | * - 4 pretreat failed 111 | * @note none 112 | */ 113 | uint8_t shell_parse(char *buf, uint16_t len); 114 | 115 | /** 116 | * @} 117 | */ 118 | 119 | #ifdef __cplusplus 120 | } 121 | #endif 122 | 123 | #endif 124 | -------------------------------------------------------------------------------- /project/stm32f407/usr/inc/stm32f4xx_it.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015 - present LibDriver All rights reserved 3 | * 4 | * The MIT License (MIT) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * @file stm32f4xx_it.h 25 | * @brief stm32f4xx it header file 26 | * @version 1.0.0 27 | * @author Shifeng Li 28 | * @date 2022-11-11 29 | * 30 | *

    history

    31 | * 32 | *
    Date Version Author Description 33 | *
    2022/11/11 1.0 Shifeng Li first upload 34 | *
    35 | */ 36 | 37 | #ifndef STM32F4XX_IT_H 38 | #define STM32F4XX_IT_H 39 | 40 | #include "stm32f4xx_hal.h" 41 | 42 | #ifdef __cplusplus 43 | extern "C" { 44 | #endif 45 | 46 | /** 47 | * @defgroup IT HAL_IT_Private_Functions 48 | * @{ 49 | */ 50 | 51 | /** 52 | * @brief nmi handler 53 | * @note none 54 | */ 55 | void NMI_Handler(void); 56 | 57 | /** 58 | * @brief hardfault handler 59 | * @note none 60 | */ 61 | void HardFault_Handler(void); 62 | 63 | /** 64 | * @brief memory manage handler 65 | * @note none 66 | */ 67 | void MemManage_Handler(void); 68 | 69 | /** 70 | * @brief bus fault handler 71 | * @note none 72 | */ 73 | void BusFault_Handler(void); 74 | 75 | /** 76 | * @brief usage fault handler 77 | * @note none 78 | */ 79 | void UsageFault_Handler(void); 80 | 81 | /** 82 | * @brief svc handler 83 | * @note none 84 | */ 85 | void SVC_Handler(void); 86 | 87 | /** 88 | * @brief debug handler 89 | * @note none 90 | */ 91 | void DebugMon_Handler(void); 92 | 93 | /** 94 | * @brief pendsv handler 95 | * @note none 96 | */ 97 | void PendSV_Handler(void); 98 | 99 | /** 100 | * @brief systick handler 101 | * @note none 102 | */ 103 | void SysTick_Handler(void); 104 | 105 | /** 106 | * @brief usart1 irq handler 107 | * @note none 108 | */ 109 | void USART1_IRQHandler(void); 110 | 111 | /** 112 | * @brief usart2 irq handler 113 | * @note none 114 | */ 115 | void USART2_IRQHandler(void); 116 | 117 | /** 118 | * @} 119 | */ 120 | 121 | #ifdef __cplusplus 122 | } 123 | #endif 124 | 125 | #endif 126 | -------------------------------------------------------------------------------- /project/stm32f407/usr/inc/system_stm32f4xx.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file system_stm32f4xx.h 4 | * @author MCD Application Team 5 | * @brief CMSIS Cortex-M4 Device System Source File for STM32F4xx devices. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file 13 | * in the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /** @addtogroup CMSIS 20 | * @{ 21 | */ 22 | 23 | /** @addtogroup stm32f4xx_system 24 | * @{ 25 | */ 26 | 27 | /** 28 | * @brief Define to prevent recursive inclusion 29 | */ 30 | #ifndef __SYSTEM_STM32F4XX_H 31 | #define __SYSTEM_STM32F4XX_H 32 | 33 | #ifdef __cplusplus 34 | extern "C" { 35 | #endif 36 | 37 | /** @addtogroup STM32F4xx_System_Includes 38 | * @{ 39 | */ 40 | 41 | /** 42 | * @} 43 | */ 44 | 45 | 46 | /** @addtogroup STM32F4xx_System_Exported_types 47 | * @{ 48 | */ 49 | /* This variable is updated in three ways: 50 | 1) by calling CMSIS function SystemCoreClockUpdate() 51 | 2) by calling HAL API function HAL_RCC_GetSysClockFreq() 52 | 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency 53 | Note: If you use this function to configure the system clock; then there 54 | is no need to call the 2 first functions listed above, since SystemCoreClock 55 | variable is updated automatically. 56 | */ 57 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ 58 | 59 | extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */ 60 | extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */ 61 | 62 | /** 63 | * @} 64 | */ 65 | 66 | /** @addtogroup STM32F4xx_System_Exported_Constants 67 | * @{ 68 | */ 69 | 70 | /** 71 | * @} 72 | */ 73 | 74 | /** @addtogroup STM32F4xx_System_Exported_Macros 75 | * @{ 76 | */ 77 | 78 | /** 79 | * @} 80 | */ 81 | 82 | /** @addtogroup STM32F4xx_System_Exported_Functions 83 | * @{ 84 | */ 85 | 86 | extern void SystemInit(void); 87 | extern void SystemCoreClockUpdate(void); 88 | /** 89 | * @} 90 | */ 91 | 92 | #ifdef __cplusplus 93 | } 94 | #endif 95 | 96 | #endif /*__SYSTEM_STM32F4XX_H */ 97 | 98 | /** 99 | * @} 100 | */ 101 | 102 | /** 103 | * @} 104 | */ 105 | -------------------------------------------------------------------------------- /test/driver_ags02ma_read_test.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015 - present LibDriver All rights reserved 3 | * 4 | * The MIT License (MIT) 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | * 24 | * @file driver_ags02ma_read_test.h 25 | * @brief driver ags02ma read test header file 26 | * @version 1.0.0 27 | * @author Shifeng Li 28 | * @date 2024-10-31 29 | * 30 | *

    history

    31 | * 32 | *
    Date Version Author Description 33 | *
    2024/10/31 1.0 Shifeng Li first upload 34 | *
    35 | */ 36 | 37 | #ifndef DRIVER_AGS02MA_READ_TEST_H 38 | #define DRIVER_AGS02MA_READ_TEST_H 39 | 40 | #include "driver_ags02ma_interface.h" 41 | 42 | #ifdef __cplusplus 43 | extern "C"{ 44 | #endif 45 | 46 | /** 47 | * @defgroup ags02ma_test_driver ags02ma test driver function 48 | * @brief ags02ma test driver modules 49 | * @ingroup ags02ma_driver 50 | * @{ 51 | */ 52 | 53 | /** 54 | * @brief read test 55 | * @param[in] times test times 56 | * @return status code 57 | * - 0 success 58 | * - 1 read failed 59 | * @note none 60 | */ 61 | uint8_t ags02ma_read_test(uint32_t times); 62 | 63 | /** 64 | * @} 65 | */ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif 72 | --------------------------------------------------------------------------------