TNeoKernel
v1.04
|
TNeoKernel changelog
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.tneokernel.X
to tneokernel_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 TNeoKernel 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.