[cpp_check.py 80 INFO] bsp/w60x/drivers/drv_rtc.c:58:11: error: Syntax Error: AST broken, binary operator '&=' doesn't have two operands. [internalAstError]
[cpp_check.py 80 INFO] libcpu/arm/s3c24x0/rtc.c:34:12: error: Expression 'RTCCON|=RTCCON|=0x01' depends on order of evaluation of side effects [unknownEvaluationOrder]
Add dependent of RT_USING_SERIAL_V2 in Kconfig to
make sure utest for serial_v2 is only available
when RT_USING_SERIAL_V2 is enabled.
Otherwise menuconfig allow people enable UTEST_SERIAL_TC
but building of utestcases failed. It looks weird and
better to be fixed.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Add dependent of RT_USING_SERIAL_BYPASS in Kconfig to
make sure utest for serial-bypass is only available
when RT_USING_SERIAL_BYPASS is enabled.
Otherwise building of utestcases failed when UTEST_SERIAL_BYPASS
is enabled.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
The current test environment is mainly based on Ubuntu
22.04 LTS and doxygen version is 1.9.1.
But when we switch to Ubuntu 24.04, the default Doxygen
version on Ubuntu 24.04 is 1.9.8.
The supported configuration and layout file formats
differ from those in 1.9.1 (Ubuntu 22.04).
In particular, the layout XML file format of 1.9.8 is
incompatible with the older format(1.9.1). Therefore,
to support Doxygen on Ubuntu 24.04, we need to load
different configuration and layout files. (The layout
file is specified using the LAYOUT_FILE parameter in
the configuration file.)
Solution: Provide corresponding configuration and layout
files for different Doxygen versions, distinguished by
the Doxygen version number.
Currently, only Doxygen versions 1.9.1 and above are supported.
If the doxygen version is >= 1.9.1 but < 1.9.8, the 1.9.1
configuration and layout are used by default. If the doxygen
version is >= 1.9.8, the 1.9.8 configuration and layout are used.
Only 1.9.1 and 1.9.8 have been tested, as these are the
default doxygen versions on Ubuntu 22.04 LTS and Ubuntu
24.04. Other versions have not been tested yet. If
necessary, we will change the configuration based on
the same approach in the future.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
* doxygen: remove @return command if function return void
When doxygen is upgraded to v1.9.8 (on ubuntu 24.04), doxygen
reports: "doxygen error: found documented return type for xxx
that does not return anything" for those functions which return
void but declare "@return" in doxygen comment.
Solution: remove "@return" for those cases, and update
guide document for how to write doxgen comment for functions.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
* doxygen: fixed a minor typo for uart doc
This error is found when building with doxygen 1.9.8, but not
detecetd on 1.9.1.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
The cleanup involved three parts:
- Merging the standalone "/**@{*/" into
"@addtogroup group_thread_management"
- Changing "/**@}*/" to "/** @} group_thread_management */",
adding the group name makes it easier to find the matching "@{" part.
- Deleting the "@addtogroup" directive in "include/rtthread.h"
because this header file doesn't have doxygen comments.
All doxygen comments for function bodies are defined in other .c files.
Note, we remian two doxygen comments for rt_thread_inited_hookproto_t
and rt_thread_idle_sethook in the "include/rtthread.h".
rt_thread_inited_hookproto_t is really defined here.
For rt_thread_idle_sethook, please see FIXME comment for reason.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
The cleanup involved three parts:
- Merging the standalone "/**@{*/" into
"@addtogroup group_object_management"
- Changing "/**@}*/" to "/** @} group_object_management */",
adding the group name makes it easier to find the matching "@{" part.
- Deleting the "@addtogroup" directive in "include/rtthread.h"
because this header file doesn't have doxygen comments.
All doxygen comments for function bodies are defined in "src/object.c".
Plus minor cleanup for group_hook in src/object.c.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
The names and number of macro parameters in doxygen comments
must match the actual macro definition; otherwise, a warning
will be generated.
Our goal is to eliminate all warnings.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
- Added support for non-blocking mode CAN message sending, including software ring buffer management and dynamic memory allocation options.
- Improved related comments and error handling.
- Updated example code to demonstrate the usage of both blocking and non-blocking sending modes, and corrected some structure field naming and macro definitions.
src/utest/device_tc.c is testing API: rt_device_find(),
which is a function defined in components/drivers/core/device.c.
So it should be a testcase for drivers core, not for core.
Move it to under components/drivers/core.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Many modules' utests currently don't support enabling all
tests at once. Furthermore, some modules' tests are complex,
for example due to their numerous dependencies on other
modules. This makes it nearly impossible to enable all
tests with a single global switch. Consequently, the
previously defined `RT_UTEST_USING_ALL_CASES` has lost
its original meaning.
We recommend deprecating this configuration switch. If a
module needs to enable a group of functional tests through
its own configuration, this local enable all switch should
be implemented by the module itself, and a global RTT enable
switch will no longer be provided.
If such a requirement arises in the future, we recommend
careful design, especially considering how to ensure that
turning on a single switch enables all dependencies for
all involved modules for ease of use.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
Otherwise report runtime error:
[E/kernel.obj] Object name sys workq exceeds RT_NAME_MAX=8, consider increasing RT_NAME_MAX.
(obj_name_len <= RT_NAME_MAX - 1) assertion failed at function:rt_object_allocate, line number:520
Increase the value of RT_NAME_MAX to 16 for c906B.
The value of RT_NAME_MAX for BSP of C906L and ARM core already meet
the requirement of more than 8.
Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
RT_TIMER_CTRL_SET_TIME expects a pointer to rt_tick_t (ticks).
period_tick is derived from periodMS (milliseconds) via rt_tick_from_millisecond
to ensure correct units are passed.