Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
efc49c55
Commit
efc49c55
authored
Oct 30, 2014
by
Damien George
Browse files
stmhal: Improve CAN print function.
parent
6a15ac80
Changes
3
Hide whitespace changes
Inline
Side-by-side
stmhal/can.c
View file @
efc49c55
...
...
@@ -144,7 +144,7 @@ STATIC void pyb_can_print(void (*print)(void *env, const char *fmt, ...), void *
if
(
!
self
->
is_enabled
)
{
print
(
env
,
"CAN(%u)"
,
self
->
can_id
);
}
else
{
print
(
env
,
"CAN(%u, "
,
self
->
can_id
);
print
(
env
,
"CAN(%u,
CAN.
"
,
self
->
can_id
);
qstr
mode
;
switch
(
self
->
can
.
Init
.
Mode
)
{
case
CAN_MODE_NORMAL
:
mode
=
MP_QSTR_NORMAL
;
break
;
...
...
@@ -152,7 +152,7 @@ STATIC void pyb_can_print(void (*print)(void *env, const char *fmt, ...), void *
case
CAN_MODE_SILENT
:
mode
=
MP_QSTR_SILENT
;
break
;
case
CAN_MODE_SILENT_LOOPBACK
:
default
:
mode
=
MP_QSTR_SILENT_LOOPBACK
;
break
;
}
print
(
env
,
"%s, "
,
qstr_str
(
mode
));
print
(
env
,
"%s,
extframe=
"
,
qstr_str
(
mode
));
if
(
self
->
extframe
)
{
mode
=
MP_QSTR_True
;
}
else
{
...
...
@@ -162,7 +162,7 @@ STATIC void pyb_can_print(void (*print)(void *env, const char *fmt, ...), void *
}
}
/// \method init(mode, prescaler=100, *, sjw=1, bs1=6, bs2=8)
/// \method init(mode,
extframe=False,
prescaler=100, *, sjw=1, bs1=6, bs2=8)
///
/// Initialise the CAN bus with the given parameters:
///
...
...
@@ -184,6 +184,7 @@ STATIC mp_obj_t pyb_can_init_helper(pyb_can_obj_t *self, mp_uint_t n_args, const
mp_arg_parse_all
(
n_args
,
pos_args
,
kw_args
,
MP_ARRAY_SIZE
(
allowed_args
),
allowed_args
,
args
);
self
->
extframe
=
args
[
1
].
u_bool
;
// set the CAN configuration values
memset
(
&
self
->
can
,
0
,
sizeof
(
self
->
can
));
CAN_InitTypeDef
*
init
=
&
self
->
can
.
Init
;
...
...
tests/pyb/can.py
View file @
efc49c55
from
pyb
import
CAN
can
=
CAN
(
1
,
CAN
.
LOOPBACK
)
can
=
CAN
(
1
)
print
(
can
)
can
.
init
(
CAN
.
LOOPBACK
)
print
(
can
)
print
(
can
.
any
(
0
))
can
.
send
(
'abcd'
,
123
)
print
(
can
.
any
(
0
))
print
(
can
.
recv
(
0
))
...
...
@@ -37,6 +41,3 @@ else:
print
(
'passed'
)
else
:
print
(
'failed, wrong data received'
)
print
(
'end'
)
\ No newline at end of file
tests/pyb/can.py.exp
View file @
efc49c55
CAN(1, LOOPBACK, False)
CAN(1)
CAN(1, CAN.LOOPBACK, extframe=False)
False
True
(123, 0, 0, b'abcd')
(2047, 0, 0, b'abcd')
(0, 0, 0, b'abcd')
passed
CAN(1, LOOPBACK, True)
CAN(1,
CAN.
LOOPBACK,
extframe=
True)
passed
end
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