Skip to content

Commit 30b0568

Browse files
merge development
2 parents 2d39a29 + 6bc6308 commit 30b0568

35 files changed

Lines changed: 1024 additions & 364 deletions

File tree

.cproject

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1392326343" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
3636
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.38266524" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
3737
<listOptionValue builtIn="false" value="DEBUG"/>
38-
<listOptionValue builtIn="false" value="NUCLEO"/>
38+
<listOptionValue builtIn="false" value="BOARD"/>
3939
</option>
4040
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.1469936301" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
4141
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ST-LIB/Inc}&quot;"/>
@@ -57,8 +57,8 @@
5757
<listOptionValue builtIn="false" value="DEBUG"/>
5858
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
5959
<listOptionValue builtIn="false" value="STM32H723xx"/>
60-
<listOptionValue builtIn="false" value="NUCLEO"/>
61-
<listOptionValue builtIn="false" value="HSE_VALUE=8000000UL"/>
60+
<listOptionValue builtIn="false" value="HSE_VALUE=25000000UL"/>
61+
<listOptionValue builtIn="false" value="BOARD"/>
6262
</option>
6363
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1706685625" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
6464
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32H7xx/Include"/>
@@ -76,16 +76,17 @@
7676
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ST-LIB/LWIP/Target}&quot;"/>
7777
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ST-LIB/Inc/ST-LIB_HIGH}&quot;"/>
7878
</option>
79+
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.otherflags.1558820298" name="Other flags" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.otherflags" useByScannerDiscovery="true" valueType="stringList"/>
7980
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1475030527" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
8081
</tool>
8182
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1661936536" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
8283
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.1174736451" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
83-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.976783598" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false"/>
84+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.976783598" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.o0" valueType="enumerated"/>
8485
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.1331033218" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
8586
<listOptionValue builtIn="false" value="DEBUG"/>
8687
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
8788
<listOptionValue builtIn="false" value="STM32H723xx"/>
88-
<listOptionValue builtIn="false" value="NUCLEO"/>
89+
<listOptionValue builtIn="false" value="BOARD"/>
8990
</option>
9091
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.1243949257" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
9192
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ST-LIB/Inc}&quot;"/>
@@ -117,6 +118,9 @@
117118
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ST-LIB/Inc/ST-LIB_HIGH}&quot;"/>
118119
</option>
119120
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.languagestandard.1092333469" name="Language standard" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.languagestandard" useByScannerDiscovery="true" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.languagestandard.value.gnupp20" valueType="enumerated"/>
121+
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.otherflags.145077032" name="Other flags" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.otherflags" useByScannerDiscovery="true" valueType="stringList">
122+
<listOptionValue builtIn="false" value="-Wvolatile"/>
123+
</option>
120124
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.2042651219" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
121125
</tool>
122126
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1252531761" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker"/>
@@ -218,6 +222,12 @@
218222
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ST-LIB/LWIP/App}&quot;"/>
219223
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ST-LIB/LWIP/Target}&quot;"/>
220224
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ST-LIB/Inc/ST-LIB_HIGH}&quot;"/>
225+
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ST-LIB/Inc/HALAL/Services/}&quot;"/>
226+
</option>
227+
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.779603999" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" valueType="definedSymbols">
228+
<listOptionValue builtIn="false" value="DEBUG"/>
229+
<listOptionValue builtIn="false" value="HSE_VALUE=25000000UL"/>
230+
<listOptionValue builtIn="false" value="BOARD"/>
221231
</option>
222232
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1583550009" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
223233
</tool>
@@ -227,6 +237,8 @@
227237
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.134281155" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
228238
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
229239
<listOptionValue builtIn="false" value="STM32H723xx"/>
240+
<listOptionValue builtIn="false" value="HSE_VALUE=25000000UL"/>
241+
<listOptionValue builtIn="false" value="BOARD"/>
230242
</option>
231243
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.1420442850" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
232244
<listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32H7xx/Include"/>
@@ -252,6 +264,8 @@
252264
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.1423635322" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
253265
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
254266
<listOptionValue builtIn="false" value="STM32H723xx"/>
267+
<listOptionValue builtIn="false" value="HSE_VALUE=25000000UL"/>
268+
<listOptionValue builtIn="false" value="BOARD"/>
255269
</option>
256270
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.724629025" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
257271
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/ST-LIB/Inc}&quot;"/>
@@ -352,5 +366,11 @@
352366
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.lib.debug.1166693079;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.lib.debug.1166693079.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1661936536;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.2042651219">
353367
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
354368
</scannerConfigBuildInfo>
369+
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.lib.release.1604434668;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.lib.release.1604434668.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1237569348;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.640356923">
370+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
371+
</scannerConfigBuildInfo>
372+
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.lib.release.1604434668;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.lib.release.1604434668.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1046330885;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1603283963">
373+
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
374+
</scannerConfigBuildInfo>
355375
</storageModule>
356376
</cproject>
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11

22
#pragma once
3-
namespace Board{
4-
enum ID{
5-
VCU,
6-
BLCU,
7-
TCU,
8-
LCU_MASTER,
9-
LCU_SLAVE,
10-
PCU,
11-
BMSA,
12-
OBCCU
13-
};
14-
}
3+
enum BoardID{
4+
VCU,
5+
BLCU_VEHICLE,
6+
BLCU_INFRASTRUCTURE,
7+
TCU,
8+
LCU_MASTER,
9+
LCU_SLAVE,
10+
PCU,
11+
BMSA,
12+
OBCCU,
13+
NOBOARD
14+
};

Inc/HALAL/Models/Packets/Order.hpp

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,35 @@
77
#pragma once
88

99
#include "Packet.hpp"
10+
#include "OrderProtocol.hpp"
1011

1112
class Order : public Packet{
1213
public:
1314
virtual void set_callback(void(*callback)(void)) = 0;
1415
virtual void process() = 0;
16+
virtual void parse(OrderProtocol* socket, void* data) = 0;
17+
void parse(void* data) override {
18+
parse(nullptr, data);
19+
}
1520
static void process_by_id(uint16_t id) {
1621
if (orders.find(id) != orders.end()) orders[id]->process();
1722
}
18-
static void process_data(void* data) {
23+
static void process_data(OrderProtocol* socket, void* data) {
1924
uint16_t id = Packet::get_id(data);
2025
if (orders.contains(id)) {
21-
orders[id]->parse(data);
26+
orders[id]->parse(socket, data);
2227
orders[id]->process();
2328
}
2429
}
2530
protected:
2631
static map<uint16_t,Order*> orders;
2732
};
2833

29-
template<size_t BufferLength,class... Types>
34+
template<size_t BufferLength,class... Types> requires NotCallablePack<Types*...>
3035
class StackOrder : public StackPacket<BufferLength,Types...>, public Order{
3136
public:
3237
StackOrder(uint16_t id,void(*callback)(void), Types*... values) : StackPacket<BufferLength,Types...>(id,values...), callback(callback) {orders[id] = this;}
33-
StackOrder(uint16_t id, Types*... values) : StackPacket<BufferLength,Types...>(id,values...) {orders[id] = this;}
38+
// StackOrder(uint16_t id, Types*... values) : StackPacket<BufferLength,Types...>(id,values...) {orders[id] = this;}
3439
void(*callback)(void) = nullptr;
3540
void set_callback(void(*callback)(void)) override {
3641
this->callback = callback;
@@ -44,6 +49,9 @@ class StackOrder : public StackPacket<BufferLength,Types...>, public Order{
4449
void parse(void* data) override {
4550
StackPacket<BufferLength,Types...>::parse(data);
4651
}
52+
void parse(OrderProtocol* socket, void* data){
53+
parse(data);
54+
}
4755
size_t get_size() override {
4856
return StackPacket<BufferLength,Types...>::get_size();
4957
}
@@ -53,11 +61,11 @@ class StackOrder : public StackPacket<BufferLength,Types...>, public Order{
5361
};
5462

5563
#if __cpp_deduction_guides >= 201606
56-
template<class... Types>
64+
template<class... Types> requires NotCallablePack<Types*...>
5765
StackOrder(uint16_t id,void(*callback)(void), Types*... values)->StackOrder<(!has_container<Types...>::value)*total_sizeof<Types...>::value, Types...>;
5866

59-
template<class... Types>
60-
StackOrder(uint16_t id, Types*... values)->StackOrder<(!has_container<Types...>::value)*total_sizeof<Types...>::value, Types...>;
67+
//template<class... Types> requires NotCallablePack<Types*...>
68+
//StackOrder(uint16_t id, Types*... values)->StackOrder<(!has_container<Types...>::value)*total_sizeof<Types...>::value, Types...>;
6169
#endif
6270

6371
class HeapOrder : public HeapPacket, public Order{
@@ -81,6 +89,9 @@ class HeapOrder : public HeapPacket, public Order{
8189
void parse(void* data) override {
8290
HeapPacket::parse(data);
8391
}
92+
void parse(OrderProtocol* socket, void* data){
93+
parse(data);
94+
}
8495
size_t get_size() override {
8596
return HeapPacket::get_size();
8697
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#pragma once
2+
#include "Packets/Packet.hpp"
3+
4+
class Order;
5+
6+
class OrderProtocol{
7+
public:
8+
virtual bool send_order(Order& order) = 0;
9+
static vector<OrderProtocol*> sockets;
10+
};

Inc/HALAL/Models/Packets/Packet.hpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -185,27 +185,30 @@ StackPacket()->StackPacket<0>;
185185
class HeapPacket : public Packet{
186186
public:
187187
uint16_t id;
188-
vector<PacketValue<>*> values;
188+
vector<unique_ptr<PacketValue<>>> values;
189189
uint8_t* buffer = nullptr;
190190
size_t& data_size = Packet::size;
191191
size_t buffer_size = 0;
192192
HeapPacket() = default;
193193

194194
template<class... Types>
195-
HeapPacket(uint16_t id, Types*... values): id(id), values{new PacketValue(values)...} {packets[id] = this;}
195+
HeapPacket(uint16_t id, Types*... values): id(id) {
196+
(this->values.emplace_back(unique_ptr<PacketValue<>>(new PacketValue(values))) , ...);
197+
packets[id] = this;
198+
}
196199

197200
void parse(void* data) override {
198201
data += sizeof(id);
199-
for (PacketValue<>* value : values) {
200-
value->parse(data);
201-
data += value->get_size();
202+
for (unique_ptr<PacketValue<>>& value : values) {
203+
value.get()->parse(data);
204+
data += value.get()->get_size();
202205
}
203206
}
204207

205208
size_t get_size() override {
206209
size_t new_size = 0;
207-
for (PacketValue<>* value : values) {
208-
new_size += value->get_size();
210+
for (unique_ptr<PacketValue<>>& value : values) {
211+
new_size += value.get()->get_size();
209212
}
210213
return new_size + sizeof(id);
211214
}
@@ -224,7 +227,7 @@ class HeapPacket : public Packet{
224227
uint8_t* data = buffer;
225228
memcpy(data, &id, sizeof(id));
226229
data += sizeof(id);
227-
for (PacketValue<>* value : values) {
230+
for (unique_ptr<PacketValue<>>& value : values) {
228231
value->copy_to(data);
229232
data += value->get_size();
230233
}
@@ -236,6 +239,5 @@ class HeapPacket : public Packet{
236239

237240
~HeapPacket() {
238241
if(buffer != nullptr) delete[] buffer;
239-
for(PacketValue<>* value : values) delete value;
240242
}
241243
};

Inc/HALAL/Models/Packets/PacketValue.hpp

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,31 @@ class PacketValue<Type>: public PacketValue<> {
4141
}
4242
};
4343

44+
45+
template<>
46+
class PacketValue<double>: public PacketValue<> {
47+
public:
48+
using value_type = double;
49+
double* src = nullptr;
50+
PacketValue() = default;
51+
PacketValue(double* src): src(src) {}
52+
~PacketValue() = default;
53+
void* get_pointer() override {
54+
return src;
55+
}
56+
size_t get_size() override {
57+
return sizeof(double);
58+
}
59+
void parse(void* data) override {
60+
*src = *((double*)data);
61+
}
62+
void copy_to(void* data) override {
63+
memcpy(data,src,get_size());
64+
}
65+
};
66+
4467
#if __cpp_deduction_guides >= 201606
45-
template<class Type> requires NotContainer<Type>
46-
PacketValue(Type*)->PacketValue<Type>;
68+
PacketValue(double*) -> PacketValue<double>;
4769
#endif
4870

4971
template<class Type> requires Container<Type>
@@ -68,6 +90,11 @@ class PacketValue<Type>: public PacketValue<> {
6890
}
6991
};
7092

93+
#if __cpp_deduction_guides >= 201606
94+
template<class Type>
95+
PacketValue(Type*)->PacketValue<Type>;
96+
#endif
97+
7198
template<>
7299
class PacketValue<string> : public PacketValue<>{
73100
public:
@@ -90,11 +117,6 @@ class PacketValue<string> : public PacketValue<>{
90117
}
91118
};
92119

93-
#if __cpp_deduction_guides >= 201606
94-
template<class Type> requires Container<Type>
95-
PacketValue(Type*)->PacketValue<Type>;
96-
#endif
97-
98120
template<class Type,size_t N>
99121
class PacketValue<Type(&)[N]>: public PacketValue<> {
100122
public:

Inc/HALAL/Services/ADC/ADC.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
using std::string;
1818

1919
#define ADC_BUF_LEN 16
20-
#define LPTIM1_PERIOD 3000
21-
#define LPTIM2_PERIOD 3000
22-
#define LPTIM3_PERIOD 3000
20+
#define LPTIM1_PERIOD 6875
21+
#define LPTIM2_PERIOD 6875
22+
#define LPTIM3_PERIOD 6875
2323

2424
#define ADC_MAX_VOLTAGE 3.3
2525
#define MAX_12BIT 4095.0
@@ -67,7 +67,7 @@ class ADC {
6767
static optional<uint8_t> inscribe(Pin pin);
6868
static void start();
6969
static void turn_on(uint8_t id);
70-
static optional<float> get_value(uint8_t id);
70+
static float get_value(uint8_t id);
7171
static optional<uint16_t> get_int_value(uint8_t id);
7272

7373
static Peripheral peripherals[3];

Inc/HALAL/Services/Communication/Ethernet/TCP/ServerSocket.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@
99
#include "Communication/Ethernet/EthernetNode.hpp"
1010
#include "Packets/Packet.hpp"
1111
#include "Packets/Order.hpp"
12+
#include "Packets/OrderProtocol.hpp"
1213
#ifdef HAL_ETH_MODULE_ENABLED
1314

1415
#define PBUF_POOL_MEMORY_DESC_POSITION 8
1516

16-
class ServerSocket{
17+
class ServerSocket : OrderProtocol{
1718
public:
1819

1920
enum ServerState{
@@ -43,7 +44,7 @@ class ServerSocket{
4344

4445
void process_data();
4546

46-
bool send_order(Order& order){
47+
bool send_order(Order& order) override{
4748
if(state != ACCEPTED){
4849
return false;
4950
}
@@ -63,6 +64,7 @@ class ServerSocket{
6364
}
6465

6566
struct pbuf* packet = pbuf_alloc(PBUF_TRANSPORT, order.size, PBUF_POOL);
67+
pbuf_take(packet, order_buffer, order.size);
6668
tx_packet_buffer.push(packet);
6769
send();
6870
return true;

0 commit comments

Comments
 (0)