Telecominfraproject / OpenCellular

OpenCellular (OC) is open source access platform with main focus on rural connectivity. OC is an eco-system of open-source project(s) focusing on hardware, software, testing automation, manufacturing and building tools for ease of deployments and operations.
http://www.telecominfraproject.com/opencellular
Creative Commons Attribution 4.0 International
142 stars 38 forks source link

Feature Request: Create OCWare host emulator for CLI Testing #18

Open ghost opened 5 years ago

ghost commented 5 years ago

Product: (OC-SDR, OC-LTE, OC-LTE, OC-Power, others)

OC-SDR

Component: (PSU, GBC, BBU, FEM, LED, ME)

GBC

Category:

Description

Describe the solution you'd like Create host emulator for CLI/OC-admin. Idea is to run the OCWare without the need of physical hardware.

Is your feature request related to a problem? Please describe. In order to fully test CLI it would be useful to have a full emulator to break dependency on hardware for tests.

ghost commented 5 years ago

Originally commented by mayuri2016 Added few comments on this feature requirement. Will call for discussion to explore this option more and feasible solution.

Proposed Functionality Details:

This capability will provide host emulator platform removing dependency of actual physical hardware.

• Required transmitter which can generate OCMP packets as its generated by host SW to send to firmware • Required receiver to receive these packets, validate the packet content and send response back • Transmitter can be either a host Linux machine where CLI SW can be run and OCMP packets can be generated • If there is need to explore additional functionalities for Intel, option for qemu emulator can be checked. But only for OCMP packets testing, this may not be required. • Checked for TI microcontroller emulator- currently there is no open source simulator available for these low cost microcontroller. Keil or IAR provides this feature, but that comes with a license. • TI recommends to use Launchpad to emulate tiva microcontroller as its most easier approach.

For the receive part, below 4 ways can be explored: o Use TI DK Launchpad to receive OCMP packets and send response, while other HW functionalities can be stubbed out o If its just needs to be sw component to send/receive OCMP packets independent of TIVA, current host sw can be customized to make it work like this. o Unit test framework might be doing similar functionalities for host sw- receiving commands from CLI and sending back dummy reply

ghost commented 5 years ago

Originally commented by samudhira We implemented OCWARE_STUB application to stubbing the config and status parameter values requested from the CLI application. In that, we are using Ethernet UDP communication to send/receive the message frame from/to middleware application. So far we have implemented config and status parameters for all te subsystem. Now we are in under discussion for command, alerts and other parameters.