Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit45a85ac

Browse files
committed
Added sig-expression and sig-printer base code.
1 parent6350af4 commit45a85ac

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-
<ClIncludeInclude="src\dbclineparser.h" />
156-
<ClIncludeInclude="src\dbcscanner.h" />
155+
<ClIncludeInclude="src\codegen\c-sigprinter.h" />
156+
<ClIncludeInclude="src\parser\dbclineparser.h" />
157+
<ClIncludeInclude="src\parser\dbcscanner.h" />
157158
<ClIncludeInclude="src\types\attributes.h" />
159+
<ClIncludeInclude="src\types\c-expr.h" />
158160
<ClIncludeInclude="src\types\comment.h" />
159161
<ClIncludeInclude="src\types\message.h" />
160162
</ItemGroup>
161163
<ItemGroup>
162-
<ClCompileInclude="src\dbclineparser.cpp" />
163-
<ClCompileInclude="src\dbcscanner.cpp" />
164+
<ClCompileInclude="src\codegen\c-sigprinter.cpp" />
165+
<ClCompileInclude="src\parser\dbclineparser.cpp" />
166+
<ClCompileInclude="src\parser\dbcscanner.cpp" />
164167
</ItemGroup>
165168
<ImportProject="$(VCTargetsPath)\Microsoft.Cpp.targets" />
166169
<ImportGroupLabel="ExtensionTargets">

‎DbcScanner.vcxproj.filters‎

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,33 @@
1818
<ClIncludeInclude="src\types\message.h">
1919
<Filter>Header Files</Filter>
2020
</ClInclude>
21-
<ClIncludeInclude="src\dbcscanner.h">
21+
<ClIncludeInclude="src\types\attributes.h">
2222
<Filter>Header Files</Filter>
2323
</ClInclude>
24-
<ClIncludeInclude="src\dbclineparser.h">
24+
<ClIncludeInclude="src\types\comment.h">
2525
<Filter>Header Files</Filter>
2626
</ClInclude>
27-
<ClIncludeInclude="src\types\attributes.h">
27+
<ClIncludeInclude="src\types\c-expr.h">
2828
<Filter>Header Files</Filter>
2929
</ClInclude>
30-
<ClIncludeInclude="src\types\comment.h">
30+
<ClIncludeInclude="src\parser\dbclineparser.h">
31+
<Filter>Header Files</Filter>
32+
</ClInclude>
33+
<ClIncludeInclude="src\parser\dbcscanner.h">
34+
<Filter>Header Files</Filter>
35+
</ClInclude>
36+
<ClIncludeInclude="src\codegen\c-sigprinter.h">
3137
<Filter>Header Files</Filter>
3238
</ClInclude>
3339
</ItemGroup>
3440
<ItemGroup>
35-
<ClCompileInclude="src\dbcscanner.cpp">
41+
<ClCompileInclude="src\parser\dbclineparser.cpp">
42+
<Filter>Source Files</Filter>
43+
</ClCompile>
44+
<ClCompileInclude="src\parser\dbcscanner.cpp">
3645
<Filter>Source Files</Filter>
3746
</ClCompile>
38-
<ClCompileInclude="src\dbclineparser.cpp">
47+
<ClCompileInclude="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+
voidCSigPrinter::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+
voidCSigPrinter::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::stringCSigPrinter::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+
classCSigPrinter
6+
{
7+
public:
8+
CSigPrinter();
9+
~CSigPrinter();
10+
11+
voidAddMessage(const MessageDescriptor_t& message);
12+
voidAddMessage(const std::vector<MessageDescriptor_t*> message);
13+
14+
public:
15+
std::vector<CiExpr_t*> sigs_expr;
16+
17+
private:
18+
std::stringGetSignalType(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+
typedefstruct {
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+
// frame fields to data bytes
18+
std::vector<std::string> to_bytes;
19+
20+
} CiExpr_t;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp