|
TNeo
v1.09
|
TNeo changelog
no changes yet
Release date: 2024-12-28
Most of the changes are various bugfixes provided by the community. Thanks a lot guys, I really appreciate the time and effort you spent on making this project better!
tn_eventgrp_wait, where the waiting result was wrong. Thanks to Anatol Shiro for identifying and fixing this bug;TN_TASK_CREATE_OPT_START flag was set, the kernel should switch context to the new task right away, but it wasn't happening. Again, thanks to Travis Griggs for this fix;unsigned long int and int have different sizes. Thanks to alecoding for the fix;#TN_USE_MUTEXES or #TN_MUTEX_DEADLOCK_DETECT;-pedantic mode for Cortex-M architectures.Release date: 2017-02-25
#TN_TimerFunc is called with global interrupts enabled.#TN_FORCED_INLINE#TN_MAX_INLINERelease date: 2015-03-17
#TN_CHECK_PARAM set to 0#TN_PROFILER or #TN_STACK_OVERFLOW_CHECK)#TN_INIT_INTERRUPT_STACK_SPACEtn_fmem_free_blocks_cnt_get() / tn_fmem_used_blocks_cnt_get()) and items in the queue (tn_queue_free_items_cnt_get() / tn_queue_used_items_cnt_get()).tn_tick_int_processing(), since they aren't too useful there, but they add overhead (See bitbucket issue #2 )tn_sched_dis_save() / tn_sched_restore().enum #TN_ObjId) are moved to the beginning of object structures, to make memory corruptions detected earlier.Release date: 2015-01-02.
#TN_STACK_OVERFLOW_CHECK for details.struct #TN_TaskTiming for details.#TN_OLD_EVENT_API for details.#TN_EVENTGRP_WMODE_AUTOCLR flag which allows to clear event bits atomically when task successfully finishes waiting for these event bits.Added run-time check which ensures that build-time options for the kernel match ones for the application. For details, refer to the option #TN_CHECK_BUILD_CFG. Note: in your existing project that uses TNeo as a separate library, you need either:
<tneo_path>/src/tn_app_check.c to the application project (recommended);tn_cfg.h file, set #TN_CHECK_BUILD_CFG to 0 and rebuild the kernel with the new configuration (not recommended).But if you build TNeo together with the application, this option is useless, so then just set #TN_CHECK_BUILD_CFG to 0.
lib_project directory. If you use these library projects from the repository directly in your application, you need to modify path to the library project in your application project.Release date: 2014-11-04.
NULL, BOOL, TRUE, FALSE now have the TN_ prefix: #TN_NULL, #TN_BOOL, #TN_TRUE, #TN_FALSE. This is because non-prefixed symbols may be defined by some other program module, which leads to conflicts. The easiest and robust way is to add unique prefix.tneo.X to tneo_pic32.X.tn_soft_isr() -> tn_p32_soft_isr(), tn_srs_isr() -> tn_p32_srs_isr(). It is much easier to maintain documentation for different macros if they have different names; more, the signature of these macros is architecture-dependent. Old names are also available for backward compatibility.Release date: 2014-10-20.
examples/queue_eventgrp_conn.tn_p32_soft_isr() or tn_p32_srs_isr(): interrupts can be defined with standard way too: this particular ISR will use task's stack instead of interrupt stack, therefore it takes much more RAM and works a bit faster. There are no additional constraints on ISR defined without kernel-provided macro: in either ISR, you can call the same set of kernel services. Refer to the page Interrupts for details.#TN_PRIORITIES_CNT.examples/queue that demonstrates the pattern on how to use queue together with fixed memory pool effectively.Release date: 2014-10-14.
tn_sys_time_set() function, because now TNeo uses internal system tick count for timers, and modifying system tick counter by user is a really bad idea.Release date: 2014-10-09.
tn_queue_receive() and tn_fmem_get() : if non-zero timeout is in effect, then #TN_RC_TIMEOUT is returned, but user-provided pointer is altered anyway (some garbage data is written there). This bug was inherited from TNKernel.tn_task_state_get()tn_sem_acquire() and friends are renamed to tn_sem_wait() and friends. More on this read here. Old name is still available through tn_oldsymbols.h.Release date: 2014-10-01.
1.8.17