Laboratorium BLE
Wczytywanie...
Szukanie...
Brak dopasowań
Dokumentacja pliku sensor_uart.h
#include <zephyr/kernel.h>
#include <zephyr/drivers/uart.h>
#include "BLE_service.h"

Idź do kodu źródłowego tego pliku.

Definicje

#define SENSOR_VALUE_INVALID   1
 
#define SENSOR_RX_FAILED   2
 

Wyliczenia

enum  instruction {
  SLEEP , SDR , QD , SID ,
  SWP , CFIRM
}
 Enumerator opisujący typ instrukcji do wysłania do czujnika. Więcej...
 

Funkcje

void process_results (struct uart_event *evt)
 Funkcja przetwarzająca odebrane dane z czujnika. Sprawdza, czy odebrano kompletną ramkę (bądź ramki), weryfikuje sumę kontrolną i na podstawie identyfikatora komendy wywołuje funkcje, które dalej przetwarzają odebrane dane.
 
static void uart_cb (const struct device *dev, struct uart_event *evt, void *user_data)
 
void init_sensor_uart ()
 Funkcja inicjalizująca interfejs UART.
 
uint8_t send_inst (enum instruction inst, uint8_t arg1, uint8_t arg2, bool set)
 Funkcja wysyłająca instrukcje do czujnika. Przeprowadza walidację argumentów, konstruuje ramkę i umieszcza ją w buforze wyjściowym, po czym wywołuje funkcję systemową uart_tx().
 

Zmienne

uint8_t rx_buf [2][100]
 
const struct device * myUart
 
int requested
 
float pm25
 
float pm10
 
uint16_t pm25r
 
uint16_t pm10r
 
const struct uart_config uart1_cfg
 
struct k_sem wait_for_read
 Semafor do ogsługi procesu odczytywania wartości. Jest on zajmowany w momencie odebranie żądania odczytu charakterystyki reprezentującej stan konfiguracji czujnika i zwalniany po odebraniu przez UART odpowiedzi na zapytanie.
 
bool ss_sleep_status
 
bool ss_reporting_mode
 
uint16_t ss_device_id
 
uint8_t ss_working_period
 

Opis szczegółowy

Autor
Maciej Jędrasik (Maciej.Jedrasik.STUD@pw.edu.pl)
Wersja
1.0
Data
2024-05-29

Dokumentacja definicji

◆ SENSOR_RX_FAILED

#define SENSOR_RX_FAILED   2

Kod błędu zwracany przez funkcję send_inst() w przypadku niepowodzenia transmisji za pomocą interfejsu szeregowego.

◆ SENSOR_VALUE_INVALID

#define SENSOR_VALUE_INVALID   1

Kod błędu zwracany przez funkcję send_inst() w przypadku podania nieprawidłowego argumentu do ustawienia.

Dokumentacja typów wyliczanych

◆ instruction

Wartości wyliczeń
SLEEP 

Tryb uśpienia

SDR 

Tryb raportowania

QD 

Żądanie odczytów jakości powietrza

SID 

Ustawienie identyfikatora czujnika

SWP 

Okres pracy

CFIRM 

Sprawdzenie wersji oprogramowania

Dokumentacja funkcji

◆ process_results()

void process_results ( struct uart_event * evt)
Parametry
evtStruktura opisująca zdarzenie interfejsu UART. Zawiera informacje o odebranych danych.

◆ send_inst()

uint8_t send_inst ( enum instruction inst,
uint8_t arg1,
uint8_t arg2,
bool set )
Parametry
instRodzaj instrukcji do wysłania do czujnika.
arg1Pierwszy argument instrukcji
arg2Drugi argument instrukcji
setParametr opisujący czy czujnik ma ustawić wartość przekazaną w argumentach (true), czy też odpowiedzieć ramką z bieżącą konfiguracją (false)
Zwraca
uint8_t 0 w przypadku powodzenia, kod błędu w pozostałych przypadkach.

Dokumentacja zmiennych

◆ myUart

const struct device* myUart
extern

Interfejs UART

◆ pm25

float pm25
extern

Zmienne do przechowywania odczytów jakości powietrza w postaci zmiennoprzecinkowej

◆ pm25r

uint16_t pm25r
extern

Zmienne do przechowywania odczytów jakości powietrza w postaci przesyłanej przez czujnik (zakodowane na 2 bajtach)

◆ requested

int requested
extern

Zmienna służąca do wybrania buforu na dane przychodzące

◆ rx_buf

uint8_t rx_buf[2][100]
extern

Bufor na dane przychodzące

◆ ss_device_id

uint16_t ss_device_id
extern

Zmienna przechowująca numer ID czujnika

◆ ss_reporting_mode

bool ss_reporting_mode
extern

Zmienna przechowująca tryb raportowania czujnika

◆ ss_sleep_status

bool ss_sleep_status
extern

Zmienna przechowująca stan uśpienia czujnika

◆ ss_working_period

uint8_t ss_working_period
extern

Zmienna przechowująca okres pracy czujnika