Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Adrian Byszuk
cheby
Commits
156d4e4e
Commit
156d4e4e
authored
Nov 19, 2018
by
Pieter Van Trappen
Browse files
gen-custom: testfile added
parent
9c0c00f7
Changes
1
Hide whitespace changes
Inline
Side-by-side
testfiles/custom/gen_custom.py
0 → 100644
View file @
156d4e4e
import
cheby.tree
as
tree
def
gen_header
(
fd
,
root
):
tag
=
root
.
name
.
upper
()
+
'_FUNCTIONS_H_'
fd
.
write
(
'#ifndef {}
\n
'
.
format
(
tag
))
fd
.
write
(
'#define {}
\n\n
'
.
format
(
tag
))
def
gen_footer
(
fd
,
root
):
fd
.
write
(
'
\n
#endif
\n
'
)
def
gen_macro
(
fd
,
root
,
acc
,
prefix
,
middle
,
suffix
):
for
r
in
root
.
children
:
if
isinstance
(
r
,
tree
.
Reg
):
if
r
.
access
==
acc
:
if
'set'
in
prefix
:
fd
.
write
(
'{}{}{}{}{}'
.
format
(
prefix
,
r
.
name
,
middle
,
r
.
c_address
,
suffix
))
else
:
fd
.
write
(
'{}{}{}{}{}'
.
format
(
prefix
,
r
.
c_address
,
middle
,
r
.
name
,
suffix
))
def
generate_custom
(
fd
,
root
):
setpref
=
"block->set"
setmid
=
"(fasec->read_reg("
setsuff
=
"));
\\\n
"
getpref
=
"fasec->write_reg("
getmid
=
",block->get"
getsuff
=
"());
\\\n
"
gen_header
(
fd
,
root
)
fd
.
write
(
'//read functions ro data
\n
'
)
fd
.
write
(
'#define {}_read_ro
\\\n
'
.
format
(
root
.
name
))
gen_macro
(
fd
,
root
,
'ro'
,
setpref
,
setmid
,
setsuff
)
fd
.
write
(
'
\n
//read functions rw data
\n
'
)
fd
.
write
(
'#define {}_read_rw
\\\n
'
.
format
(
root
.
name
))
gen_macro
(
fd
,
root
,
'rw'
,
setpref
,
setmid
,
setsuff
)
fd
.
write
(
'
\n
//write functions rw data
\n
'
)
fd
.
write
(
'#define {}_write_rw
\\\n
'
.
format
(
root
.
name
))
gen_macro
(
fd
,
root
,
'rw'
,
getpref
,
getmid
,
getsuff
)
gen_footer
(
fd
,
root
)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment