Menu

Todo List

Class device::nic::CAN::avrCANARY

Use the supported features of the avr CAN hardware e.g. more message objects, transmit interrupt, ...

Global device::nic::ieee802_15_4::DRV802_15_4::send (const uint8_t *buffer, uint8_t size)

determin the destination adress/route if message is not broadcasted

use enum parameter for sanity check of maximal payload

Global device::nic::ieee802_15_4::DRV802_15_4::tx_Interrupt
Provide functionality of using tx_interrupt

Class device::nic::ieee802_15_4::DRV802_15_4< RFLayer >

standard error handling

use actual size of availeble payload during compile time

use MOB as provided by the communication layer (template parameter)

Global device::nic::serial::AsioSerialDriver::onReady
provide functionality for the onReady() interrupt

Class device::nic::serial::AsioSerialDriver< PL, SFD >

separate hardware management from package format management

use same framing/stuffing implementation as the AtmelDriver

Global device::nic::serial::AtmelSerialDriver::onReady
provide functionality for the onReady() interrupt

Class device::nic::serial::AtmelSerialDriver< DEV, PL, BR, SFD >

minimize number of delegates used

move implementation of CFrame to FAMOUSO

use same framing/stuffing implementation as the AsioDriver

Global famouso::init ()
allow initialization of a GW only in case of more then one network layer available. This can be determind with the help of a configured NetworkAdapter. Is this type is missing in general non Gateway may exist.

Global famouso::mw::anl::AbstractNetworkLayer::publish (const SNN &snn, const Event &e)
Save copy operation in fragmentation case (needs AFP interface extension returning AFP header and payload separately and Packet/NL adaption)

Global famouso::mw::api::EventChannel::mw_action_trampoline

Save RAM by replacing this with another type of delegate wich does not store an object pointer, because the this pointer is known at invocation time.

Save RAM for configurations without a management channel by leaving it out in that cases.

Class famouso::mw::attributes::access::Attribute_RT
The implementation of getValue and setValue should be more resource efficient because if different Attributes are in use, the methods are compiler-generated multiple times. However, this needs not to be so. A possible solution would be to factor out the common parts and only the for type-safety let the compiler generate a small cast method.

Global famouso::mw::el::EventLayer::fetch (famouso::mw::nl::DistinctNL *bnl=0)
The default value of zero describes that we have no fetching request from a lower layer. This is for further enhancements like fetching in a time-triggered system, where we fetch periodically without interrupt support from lower network layer.

Global famouso::mw::nal::NetworkAdapter::fetch (const SNN &snn, Event &e, const famouso::mw::nl::DistinctNL *bnl)
fetching of stacked gateway are not implemented at this stage and time triggered fetching is also not supported.

Namespace famouso::mw::nl::awds::detail
The elements at this namespace should moved to the right places later.

Class famouso::mw::nl::awds::detail::FlowMgmtIDs
Change ids to be grater than SystemIDs::nonSystem when Bug #80 is closed.

Class famouso::mw::nl::awds::NodeRepository
We can't handle multiple publisher with same subject and different attributes. We use the attributes of latest announce for now.

Global famouso::mw::nl::awds::NodeRepository::reg (Node::type &node, SNN &subject, Attributes::type &attribs)
If the subject is not registered, this function should do nothing.

Global famouso::mw::nl::CAN::ccp::Client::ccp_configure_tx_node (const UID &uid, CAN_Driver &canDriver)
RealTimeClasses for the CAN-Bus needs to be defined somewhere

Class famouso::mw::nl::CAN::etagBP::Client< CAN_Driver >
The etagBP is not reentrant. This could be a problem on Gateways especially on those, using the InterruptEnabler. Using the PreventBlockingOfMiddlewareCoreInBlockingProtocol it is always safe because it synchronises the reactivation of the BP in a way, that it is not executed in parallel.

Global famouso::mw::nl::CANNL::rx_interrupt ()

ueber das Auslesen einer CAN Nachricht und deren Zwischenspeichern muss noch mal nachgedacht werden. Insbesonder fuer den AVR ist dies vielleicht nicht immer notwendig bzw der zusaetzliche Speicherbedarf nicht gerechtfertigt.

die Code-Introduktions der verschiedenen Protokolle sind ueber Aspecte oder ueber Feature-Orientierte Technicken zu realisieren.

Global famouso::mw::nl::CANNL::tx_interrupt ()
Provide functionality to use tx_interrupt

Global famouso::mw::nl::IEEE_802_15_4_NL::deliver (const Packet_t &p)
transmit p.fragment

Global famouso::mw::nl::IEEE_802_15_4_NL::fetch (Packet_t &p)
transmit p.fragment

Global famouso::mw::nl::IEEE_802_15_4_NL::tx_interrupt ()
Provide functionality to use tx_interrupt

Class famouso::mw::nl::IEEE_802_15_4_NL< driver_t >

use template parameter (enum) to determin actually usable payload size during compile time

test possibility to reduce memory space by using the provided mob_t object

Global famouso::mw::nl::SerialNL::deliver (const Packet_t &p)
insert value of p.fragment into message

Global famouso::mw::nl::SerialNL::fetch (Packet_t &p)
get value of p.fragment from message

Global famouso::mw::nl::SerialNL::tx_interrupt ()
Provide functionality to use tx_interrupt

Class object::ConstantSizeList< T, N, callDestructor >
ConstantSizeList supports up to 255 elements, at the moment. To avoid false usage, the parameter N should be checked against this boundary, and if N is defined to high, a compile time error has to arise. It is also possible to invent an implementation, that configures automatically the correct types to circumvent the shortcoming.