Open AT Application Framework provides two different ways to access data over physical UART, viz. Open UART and FCM service. The use of either of the service depends on the use case of the application. Below is a brief comparison that will help the developer to decide which one to use.
FCM provides partial access to UART. Can only send and receive raw data.
whereas Open UART has full access to UART including line coding, flow control and FIFO buffers.
In FCM,data is transferred across various layers of the firmware.
But Open UART provides direct access to the FIFO buffers.
FCM has application level priority, not real time.
Open UART has Interrupt level priority, real time access.
When using FCM,UART accessible by the firmware as well as by the application. Implementation only concerns data transfer.
But when Open UART is used, UART is not accessible to the firmware. Everything has to be handled in the application.
AT commands can be processed when not in data mode, without switching off the FCM service.
But in case of Open UART,application has to release the UART completely and only then AT commands can be processed by the firmware.
Easy implementation as the application has to take care only of data transfer,in case of FCM.
Whereas in case of Open UART implementation is complex as compared to FCM as the application has full control over UART.
FCM service is more suitable for applications that require simple data transfer between the connected peripherals. For example, metering application.
Open UART is more suitable for applications that require real time access to data coming over UART. For example automotive applications.