Firmware
0.9.0
Toggle main menu visibility
Loading...
Searching...
No Matches
service.hpp
Go to the documentation of this file.
1
// Copyright (C) 2025 Vincent Hamp
2
//
3
// This program is free software: you can redistribute it and/or modify
4
// it under the terms of the GNU General Public License as published by
5
// the Free Software Foundation, either version 3 of the License, or
6
// (at your option) any later version.
7
//
8
// This program is distributed in the hope that it will be useful,
9
// but WITHOUT ANY WARRANTY; without even the implied warranty of
10
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
// GNU General Public License for more details.
12
//
13
// You should have received a copy of the GNU General Public License
14
// along with this program. If not, see <https://www.gnu.org/licenses/>.
15
16
#pragma once
17
18
#include <esp_task.h>
19
#include <queue>
20
#include "
intf/http/message.hpp
"
21
22
namespace
mw::zimo::mdu
{
23
24
class
Service
{
25
public
:
26
Service
();
27
28
esp_err_t
zppSocket
(
intf::http::Message
& msg);
29
esp_err_t
zsuSocket
(
intf::http::Message
& msg);
30
31
private
:
32
esp_err_t
socket
(
intf::http::Message
& msg,
State
mdu_state);
33
[[noreturn]]
void
taskFunction
(
void
*);
34
void
loop
();
35
std::array<uint8_t, 2uz>
transmit
(std::vector<uint8_t>
const
& payload)
const
;
36
void
close
();
37
38
std::queue<intf::http::Message>
_queue
{};
39
std::array<uint8_t, 2uz>
_acks
{};
40
};
41
42
}
// namespace mw::zimo::mdu
mw::zimo::mdu::Service::zsuSocket
esp_err_t zsuSocket(intf::http::Message &msg)
Definition
service.cpp:38
mw::zimo::mdu::Service::close
void close()
Definition
service.cpp:132
mw::zimo::mdu::Service::_queue
std::queue< intf::http::Message > _queue
Definition
service.hpp:38
mw::zimo::mdu::Service::loop
void loop()
Definition
service.cpp:73
mw::zimo::mdu::Service::socket
esp_err_t socket(intf::http::Message &msg, State mdu_state)
Definition
service.cpp:43
mw::zimo::mdu::Service::_acks
std::array< uint8_t, 2uz > _acks
Definition
service.hpp:39
mw::zimo::mdu::Service::zppSocket
esp_err_t zppSocket(intf::http::Message &msg)
Definition
service.cpp:33
mw::zimo::mdu::Service::transmit
std::array< uint8_t, 2uz > transmit(std::vector< uint8_t > const &payload) const
Definition
service.cpp:113
mw::zimo::mdu::Service::Service
Service()
Definition
service.cpp:28
mw::zimo::mdu::Service::taskFunction
void taskFunction(void *)
Definition
service.cpp:63
State
State
System state.
Definition
config.hpp:154
message.hpp
HTTP websocket message.
mw::zimo::mdu
Definition
config.hpp:652
intf::http::Message
Definition
message.hpp:29
src
mw
zimo
mdu
service.hpp
Firmware 0.9.0