openserial does not respect OpenWSN layering

Description

The openserial module is part of the drivers. This causes the 02drv_openserial* projects to fail when built with toolchain mspgcc or iar-proj.

The drivers are built on top of the BSP, and use the OS, but don't know anything about the stack.

openserial violates this rule because is uses the following (stack) functions:

  • asnWriteToSerial()

  • idmanager_getMyID()

  • idmanager_triggerAboutRoot()

  • idmanager_triggerAboutBridge()

  • openbridge_triggerData()

  • tcpinject_trigger()

  • udpinject_trigger()

  • icmpv6echo_trigger()

  • debugPrint_isSync()

  • debugPrint_id()

  • debugPrint_myDAGrank()

  • debugPrint_asn()

  • debugPrint_macStats()

  • debugPrint_schedule()

  • debugPrint_backoff()

  • debugPrint_queue()

  • debugPrint_neighbors()

I propose to split what is now openserial in two modules:

  • openhdlc which lives in drivers/

  • openserial which lives in openwsn/cross-layer/

The 02drv_openserial* sample application need to be rewritten to either becomes 03oos_* application, or modified to do have the same behavior, but with a little more intelligence (preferred).

Environment

None

Status

Assignee

Unassigned

Reporter

Thomas Watteyne

Labels

None

Story Points

None

Affects versions

1.6.0

Priority

Minor