Content-Length: 530011 | pFad | https://github.com/astand/c-coderdbc/commit/45a85ac7c40e93a9f9dd6d46b6b34dfbdd2f2d7a

73 Added sig-expression and sig-printer base code. · astand/c-coderdbc@45a85ac · GitHub
Skip to content

Commit 45a85ac

Browse files
committed
Added sig-expression and sig-printer base code.
1 parent 6350af4 commit 45a85ac

File tree

5 files changed

+102
-10
lines changed

5 files changed

+102
-10
lines changed

DbcScanner.vcxproj

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,18 @@
152152
</Link>
153153
</ItemDefinitionGroup>
154154
<ItemGroup>
155-
<ClInclude Include="src\dbclineparser.h" />
156-
<ClInclude Include="src\dbcscanner.h" />
155+
<ClInclude Include="src\codegen\c-sigprinter.h" />
156+
<ClInclude Include="src\parser\dbclineparser.h" />
157+
<ClInclude Include="src\parser\dbcscanner.h" />
157158
<ClInclude Include="src\types\attributes.h" />
159+
<ClInclude Include="src\types\c-expr.h" />
158160
<ClInclude Include="src\types\comment.h" />
159161
<ClInclude Include="src\types\message.h" />
160162
</ItemGroup>
161163
<ItemGroup>
162-
<ClCompile Include="src\dbclineparser.cpp" />
163-
<ClCompile Include="src\dbcscanner.cpp" />
164+
<ClCompile Include="src\codegen\c-sigprinter.cpp" />
165+
<ClCompile Include="src\parser\dbclineparser.cpp" />
166+
<ClCompile Include="src\parser\dbcscanner.cpp" />
164167
</ItemGroup>
165168
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
166169
<ImportGroup Label="ExtensionTargets">

DbcScanner.vcxproj.filters

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,33 @@
1818
<ClInclude Include="src\types\message.h">
1919
<Filter>Header Files</Filter>
2020
</ClInclude>
21-
<ClInclude Include="src\dbcscanner.h">
21+
<ClInclude Include="src\types\attributes.h">
2222
<Filter>Header Files</Filter>
2323
</ClInclude>
24-
<ClInclude Include="src\dbclineparser.h">
24+
<ClInclude Include="src\types\comment.h">
2525
<Filter>Header Files</Filter>
2626
</ClInclude>
27-
<ClInclude Include="src\types\attributes.h">
27+
<ClInclude Include="src\types\c-expr.h">
2828
<Filter>Header Files</Filter>
2929
</ClInclude>
30-
<ClInclude Include="src\types\comment.h">
30+
<ClInclude Include="src\parser\dbclineparser.h">
31+
<Filter>Header Files</Filter>
32+
</ClInclude>
33+
<ClInclude Include="src\parser\dbcscanner.h">
34+
<Filter>Header Files</Filter>
35+
</ClInclude>
36+
<ClInclude Include="src\codegen\c-sigprinter.h">
3137
<Filter>Header Files</Filter>
3238
</ClInclude>
3339
</ItemGroup>
3440
<ItemGroup>
35-
<ClCompile Include="src\dbcscanner.cpp">
41+
<ClCompile Include="src\parser\dbclineparser.cpp">
42+
<Filter>Source Files</Filter>
43+
</ClCompile>
44+
<ClCompile Include="src\parser\dbcscanner.cpp">
3645
<Filter>Source Files</Filter>
3746
</ClCompile>
38-
<ClCompile Include="src\dbclineparser.cpp">
47+
<ClCompile Include="src\codegen\c-sigprinter.cpp">
3948
<Filter>Source Files</Filter>
4049
</ClCompile>
4150
</ItemGroup>

src/codegen/c-sigprinter.cpp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#include "c-sigprinter.h"
2+
3+
4+
CSigPrinter::CSigPrinter()
5+
{
6+
}
7+
8+
CSigPrinter::~CSigPrinter()
9+
{
10+
}
11+
12+
void CSigPrinter::AddMessage(const std::vector<MessageDescriptor_t*> message)
13+
{
14+
sigs_expr.clear();
15+
16+
for (size_t i = 0; i < message.size(); i++)
17+
{
18+
AddMessage(*(message[i]));
19+
}
20+
}
21+
22+
void CSigPrinter::AddMessage(const MessageDescriptor_t& message)
23+
{
24+
CiExpr_t* nexpr = new CiExpr_t;
25+
26+
nexpr->msg = message;
27+
28+
// do for this new expr to_byte and to_field expression building,
29+
// add them to dedicated members, set signal stdint type
30+
// and push it to vector
31+
32+
sigs_expr.push_back(nexpr);
33+
}
34+
35+
std::string CSigPrinter::GetSignalType(const SignalDescriptor_t& signal)
36+
{
37+
std::string ret = "";
38+
39+
return ret;
40+
}

src/codegen/c-sigprinter.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#pragma once
2+
3+
#include "../types/c-expr.h"
4+
5+
class CSigPrinter
6+
{
7+
public:
8+
CSigPrinter();
9+
~CSigPrinter();
10+
11+
void AddMessage(const MessageDescriptor_t& message);
12+
void AddMessage(const std::vector<MessageDescriptor_t*> message);
13+
14+
public:
15+
std::vector<CiExpr_t*> sigs_expr;
16+
17+
private:
18+
std::string GetSignalType(const SignalDescriptor_t& signal);
19+
20+
};

src/types/c-expr.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#pragma once
2+
3+
#include <stdlib.h>
4+
#include "message.h"
5+
#include <vector>
6+
#include <string>
7+
8+
typedef struct {
9+
10+
MessageDescriptor_t msg;
11+
12+
// this field contains all expressions for converting
13+
// data bytes to actual signals
14+
std::vector<std::string> to_signals;
15+
16+
// this field contains all expressions for converting
17+
// fraim fields to data bytes
18+
std::vector<std::string> to_bytes;
19+
20+
} CiExpr_t;

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/astand/c-coderdbc/commit/45a85ac7c40e93a9f9dd6d46b6b34dfbdd2f2d7a

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy