Демонстрационная прошивка отладочного комплекта МТС 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 секунду при текущей тактовой частоте. Калибровка значения выполняется при старте платы.
 

Подробное описание

Автор
RedBees, LLC

См. определение в файле board_support_api.h