|
embedded_systems
|
: TCP connectie naar Home Assistant More...
#include <stdio.h>#include <string.h>#include "tcp.h"#include "main.h"#include "lwip.h"#include "TCP_HA.h"#include "display.h"Go to the source code of this file.
Data Structures | |
| struct | PCB_HA_argument |
| Bevat informatie over de entity. More... | |
Functions | |
| static PCB_HA_argument * | prvHaMakePcbArgument () |
| Alloceert memory voor PCB_HA_argument. | |
| static void | prvHaFreePcbArgument (PCB_HA_argument *pcb_argument) |
| Geef memory vrij PCB_HA_argument. | |
| static void | prvHaErrorHandelingRebootSystem (void) |
| Reset MCU. | |
| static void | prvHaErrorHandelingRoutingError (void) |
| Error handling van de Routing error. | |
| err_t | errHaRecieve (void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err) |
| errHaRecieve functie TCP. | |
| err_t | errHaConnected (void *arg, struct tcp_pcb *tpcb, err_t err) |
| errHaConnected functie (callback van de LwIP_stack) | |
| err_t | errHaSendPacket (struct tcp_pcb *tpcb) |
| errHaSendPacket Verstuurd een TCP pakket naar de server. | |
| void | vHaError (void *arg, err_t err) |
| error callback functie van de LwIP_stack | |
| void | vHaErrorHandling (err_t err) |
| Error handling van de TCP errors. | |
| void | vHaWaitOnLink (err_t err) |
| Wacht op link. | |
| err_t | errHaSend (char entity[], char action[], uint16_t usButton) |
| Stuur boodschap naar server. | |
Variables | |
| uint8_t | globalReceive |
| Globale variabele voor communicatie tussen twee aparte functies. | |
| struct netif | gnetif |
: TCP connectie naar Home Assistant
Definition in file TCP_HA.c.
| err_t errHaConnected | ( | void * | arg, |
| struct tcp_pcb * | tpcb, | ||
| err_t | err ) |
errHaConnected functie (callback van de LwIP_stack)
Callbackfunctie van de LwIp_stack, gaat intern de functie oproepen om een tcp packet te gaan verzenden
| *arg | Additional argument to pass to the callback function |
| *tpcb | The connection pcb which received data |
| *p | The received data (or NULL when the connection has been closed!) |
| err | error code |
Definition at line 166 of file TCP_HA.c.
References errHaSendPacket().
| err_t errHaRecieve | ( | void * | arg, |
| struct tcp_pcb * | tpcb, | ||
| struct pbuf * | p, | ||
| err_t | err ) |
errHaRecieve functie TCP.
Ontvangt de data van de server,de data bevat de status van de gevraagde entity. De data wordt verwerkt op basis van de button dat in de PCB_argument staat. Is de ontvangen data bestemd voor button 1 dan wordt de kleur aangepast op basis van de ontvangen data
| *arg | Additional argument to pass to the callback function |
| *tpcb | The connection pcb which received data |
| *p | The received data (or NULL when the connection has been closed!) |
| err | error code |
<
<
Definition at line 98 of file TCP_HA.c.
References globalReceive, prvHaFreePcbArgument(), PCB_HA_argument::usButton, and vDisplayBgButtonState().
| err_t errHaSend | ( | char | entity[], |
| char | action[], | ||
| uint16_t | usButton ) |
Stuur boodschap naar server.
Initaliseerd de tcp connectie en stelt de callback functies in
| entity[] | de entity naam |
| action[] | gevraagde actie voor de entity |
| usButton | button nummer |
Definition at line 389 of file TCP_HA.c.
References PCB_HA_argument::action, PCB_HA_argument::entity, errHaConnected(), errHaRecieve(), prvHaMakePcbArgument(), PCB_HA_argument::usButton, vHaError(), and vHaErrorHandling().
| err_t errHaSendPacket | ( | struct tcp_pcb * | tpcb | ) |
errHaSendPacket Verstuurd een TCP pakket naar de server.
Verstuurd een TCP pakket naar de server met hierin het GET request. Het GET-request bevat de actie dat moet worden ondernomen samen met de gevraagde entity.
| *tpcb | PCB |
Definition at line 189 of file TCP_HA.c.
References PCB_HA_argument::action, PCB_HA_argument::entity, and vHaErrorHandling().
|
static |
Reset MCU.
Schrijft boodschap "restart pending" op het scherm idem op UART Reset de MCU
Definition at line 314 of file TCP_HA.c.
References vDisplayError().
|
static |
Error handling van de Routing error.
Gaat wachten op de link Bij terug aanwezigheid van de link wordt de button states opnieuw opgevraagd
Definition at line 330 of file TCP_HA.c.
References vDisplayMainScreen(), vDisplaySetUpButtonStates(), and vHaWaitOnLink().
|
static |
Geef memory vrij PCB_HA_argument.
Geef memory vrij PCB_HA_argument
@argument PCB_HA_argument *
Definition at line 467 of file TCP_HA.c.
|
static |
Alloceert memory voor PCB_HA_argument.
Alloceert memory voor het PCB_HA_argument
| void vHaError | ( | void * | arg, |
| err_t | err ) |
error callback functie van de LwIP_stack
De error callback functie wordt opgroepen als het aanmaken van een tpcb niet lukt wegens te weinig geheugen
| *arg | Additional argument to pass to the callback function |
| err | error code |
Definition at line 241 of file TCP_HA.c.
References vHaErrorHandling().
| void vHaErrorHandling | ( | err_t | err | ) |
Error handling van de TCP errors.
Voor al de errors wordt de MCU gereset behalve bij de ERR_RTE, Bij de ERR_RTE wordt er gewacht op de link
Bij iedere error wordt er een UART message geprint samen met een gepaste boodschap op het scherm
| err | Error code |
Definition at line 260 of file TCP_HA.c.
References prvHaErrorHandelingRebootSystem(), prvHaErrorHandelingRoutingError(), and vDisplayError().
| void vHaWaitOnLink | ( | err_t | err | ) |
Wacht op link.
Gaat wachten op de ethernet link
| err | Error code |
Definition at line 347 of file TCP_HA.c.
References gnetif, vDisplayError(), and vDisplayMessage().
|
extern |
|
extern |