Демонстрационная прошивка отладочного комплекта МТС NB-IoT
|
#include "stm32l1xx.h"
#include "board_pins.h"
#include "port_macros.h"
#include "uart_api.h"
#include "i2c_api.h"
#include "stdio.h"
#include "tmp75_driver.h"
#include "lis3dh_driver.h"
#include "at_cmd_support.h"
#include "awu_api.h"
#include "coap_essentials.h"
#include "gnss_support.h"
#include "string.h"
#include "stdlib.h"
#include "ds1721_driver.h"
Структуры данных | |
struct | device_setup_data_t |
Структура, хранящая настройки работы основного демонстрационного приложения Подробнее... | |
Макросы | |
#define | FIRMWARE_VERSION "2.4 beta 2, 22.01.2021" |
#define | MTS_COAP_SERVER_IP "195.34.49.22" |
#define | MTS_COAP_SERVER_PORT 6683 |
#define | DEFAULT_CLOCK_FREQ 16000000UL |
Значение тактовой частоты, на которой работает контроллер | |
#define | CONSOLE_BAUDRATE 115200UL |
Значение скорости обмена для консоли (вывод printf() через USART1 и встроенный в плату USB-UART конвертер) | |
#define | GNSS_BAUDRATE 9600UL |
По умолчанию модули EVA M8 выдают данные на скорости 9600 бит/с | |
#define | ECHO_INPUT_CHARS 0 |
#define | SARA_R410M_DEFAULT_BAUDRATE 115200UL |
Скорость обмена с радиомодулем | |
#define | LOCAL_TSENSOR_I2C_ADDR 0x48 |
Адрес термодатчика TMP75, установленного на плате | |
#define | LOCAL_ACCEL_I2C_ADDR 0x18 |
Адрес акселерометра LIS3DH, установленного на плате | |
#define | USE_DS1721 1 |
#define | MCU_UNIQUE_IDENTIFIER_ADDRESS ((uint32_t *)0x1FF800CC) |
#define | OSC_STARTUP_CYCLES_MAX 2000000UL |
#define | TMR_PRESC 15 |
#define | TMR_CNT_1MSEC 1000 |
Количество отсчетов таймера за 1 мс. | |
#define | BTN_POLL_PERIOD 50000 |
Интервал опроса кнопки, выраженный в отсчетах таймера. | |
#define | LOGGER_MODE_VALUE 15 |
См. описание device_setup_data_t. | |
#define | SETTINGS_SIGNATURE_0 0xA5 |
См. описание поля reserved структуры device_setup_data_t. | |
#define | SETTINGS_SIGNATURE_1 0x55 |
См. описание поля reserved структуры device_setup_data_t. | |
#define | SETTINGS_SIGNATURE_2 0xAA |
См. описание поля reserved структуры device_setup_data_t. | |
#define | EEPROM_START_ADDRESS ((uint32_t *)0x08080000) |
Функции | |
void | init_board (void) |
Функция выполняет настройку тактирования и инициализацию периферии, используемой демонстрационным приложением. Подробнее... | |
uint32_t | get_uptime_ms (void) |
Возвращает время с момента начала работы прошивки Подробнее... | |
void | delay_ms (uint32_t N) |
Приостанавливает выполнение программы на заданное время. Значение задержки задается в миллисекундах. | |
uint32_t | get_button_press (void) |
Возвращает время удержания кнопки нажатой с момента предыдущего вызова функции. Подробнее... | |
void | switch_LED (uint8_t state) |
Включает или выключает светодиод на плате. Подробнее... | |
void | SARA_R410_PWR_ON_pulse (void) |
Генерирует импульс низкого уровня продолжительностью примерно 500 мс на линии PWR_ON радиомодуля. | |
void | FLASH_WriteEEPROM (volatile uint32_t *eeprom_ptr, uint32_t *data_ptr, uint16_t data_size_words) |
Запись в EEPROM. Подробнее... | |
void | store_device_settings (device_setup_data_t *data) |
Сохранение настроек устройства в область EEPROM. Подробнее... | |
void | recall_device_settings (device_setup_data_t *data) |
Загрузка настроек устройства из области EEPROM. Подробнее... | |
void | apply_backspace (uint8_t *str, uint16_t max_length) |
Модифицирует строку с учетом символов backspace. Подробнее... | |
Переменные | |
volatile uint8_t | LSE_failed |
В случае, если генератор LSE запустить не удалось, значение этой переменной будет ненулевым. | |
volatile uint32_t | CYCLES_PER_1SEC |
Калиброванное значение: количество итераций пустого цикла за 1 секунду при текущей тактовой частоте. Калибровка значения выполняется при старте платы. | |
См. определение в файле board_support_api.h