Difference between revisions of "Example serial test"

From wiki.emacinc.com
Jump to: navigation, search
(Created page with "{{todo|InProgress(12.31.13-13:58->JG+)|Jgreene|project=oe 4,oe 5,jg,md,Review}} This is a guide to the <code>serial</code> C example project included in the EMAC OE SDK. This...")
 
m (Added redirect to intended page)
(Tag: New redirect)
 
(18 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{todo|InProgress(12.31.13-13:58->JG+)|Jgreene|project=oe 4,oe 5,jg,md,Review}}
+
#REDIRECT [[Example_serial]]
 +
{{todo|SEOKWREV (12.31.13-14:56->JG+);(1.2.14-11:20->MD+);(1.2.14-15:35->MG+);(04.07.14-10:00->BS+);(04.10.14-11:20->BS+)|Jgreene|project=oe 4,oe 5,jg,md,SEOKWREV,mg,bs}}
 +
 
 +
{{#seo:
 +
|title=serial test
 +
|titlemode=append
 +
|keywords=Serial Test,Serial Port,Asynchronous
 +
|description=This is a guide to the <code>serial</code> C example project included in the EMAC OE SDK.
 +
}}
 
This is a guide to the <code>serial</code> C example project included in the EMAC OE SDK.
 
This is a guide to the <code>serial</code> C example project included in the EMAC OE SDK.
  
This is a simple backlight brightness control. It's written for the EMAC PPC-E7 and SoM-9307 but it will probably run on anything with a backlight. It implements a slider application in GTK+ that directly controls the backlight through its sysfs interface. It has been tested under Xfbdev/Matchbox.
+
This application sets up and tests asynchronous IO on a serial port using '''poll()''' and '''fasync()'''.
  
The <code>serial</code> project builds one executable: <code>serial</code>.
+
The <code>serial</code> project builds one executable: <code>serial_test</code>.
  
 
== Opening, Building and Uploading the Project Files ==
 
== Opening, Building and Uploading the Project Files ==
  
<big>1. Open the C/C++ editing perspective.</big>
+
For information on opening the project from within Eclipse, please see [[Importing the EMAC OE SDK Projects with Eclipse]].  Then, follow [[Using the EMAC OE SDK Projects with Eclipse]] for information on how to build, upload and execute the example.
 +
 
 +
Alternatively, the <code>Makefile</code> can be used with the <code>make</code> command from the commandline to build and upload the example. For information on this method, please see [[Using EMAC OE SDK Example Projects]].
 +
 
 +
====EMAC SDK 5.X====
 +
 
 +
For information on opening the project from within QtCreator, please see [[Getting_Started_With_Qt_Creator#Adding_Source_Files | QtCreator: Adding Source Files]].  Then, follow [[Getting Started With Qt Creator]] for information on how to build, upload and execute the example.
 +
 
 +
Alternatively, the <code>CMakefile.txt</code> can be used with the <code>cmake</code> command from the commandline to build and upload the example.  For information on this method, please see [[Getting_Started_with_the_EMAC_OE_SDK#Target_Machine_Compiling | Getting Started with the EMAC OE SDK]].
 +
 
 +
==Usage and Behavior==
 +
 
 +
<code>serial_test</code> performs an asynchronous IO test on the specified serial device using either '''poll''' or '''FASYNC''' mode. It performs the test, reports, tests, report, etc. It will keep running until it is stopped manually via '''CTRL-C'''.
 +
 
 +
===Hardware Requirements===
 +
 
 +
It should run just fine on any device with a serial port.
 +
 
 +
===Using <code>serial_test</code>===
 +
 
 +
<code>./serial_test DEVICE -[p] [-f]</code>
 +
 
 +
;DEVICE: The serial device to use
 +
;-p: Use '''poll''' mode for asynchronous IO
 +
;-f: Use '''FASYNC''' mode for asynchronous IO
 +
 
 +
===Usage Example: Test asynchronous IO using the '''poll''' mode===
 +
 
 +
Perform the test on device <code>/dev/ttyS1</code>
  
stub
+
<syntaxhighlight lang="text">
 +
root@som9g20:/tmp# ./serial_test /dev/ttyS1 -p
 +
Testing on /dev/ttyS1 using poll()
 +
Received: : 21
 +
Received: : 11
 +
Received: : 6
 +
Received: : 2
 +
Received: : 1
 +
Received: : 1
 +
.
 +
.
 +
.
 +
Received: : 1
 +
Received: : 1
 +
Received: : 1
 +
^C
 +
</syntaxhighlight>
  
<big>2. Open the project files.</big>
+
Hit CTRL-C to stop testing. In this example, no errors were reported.
  
stub
+
===Usage Example. Test asynchronous IO using the '''FASYNC''' mode===
  
<big>3. Build the project.</big>
+
Perform the test on device <code>/dev/ttyS1</code>
  
stub
+
<syntaxhighlight lang="text">
 +
root@som9g20:/tmp# ./serial_test /dev/ttyS1 -f
 +
Testing on /dev/ttyS1 using FASYNC
 +
Received SIGIO signal.
 +
: : 21
 +
Received SIGIO signal.
 +
: : 11
 +
Received SIGIO signal.
 +
: : 6
 +
Received SIGIO signal.
 +
: : 2
 +
Received SIGIO signal.
 +
: : 1
 +
Received SIGIO signal.
 +
: : 1
 +
Received SIGIO signal.
 +
: : 1
 +
.
 +
.
 +
.
 +
Received SIGIO signal.
 +
: : 1
 +
Received SIGIO signal.
 +
: : 1
 +
Received SIGIO signal.
 +
: : 1
 +
^C
 +
</syntaxhighlight>
  
<big>4. Upload the executables to the target system.</big>
+
Hit CTRL-C to stop testing. In this example, no errors were reported.
  
stub
+
==Summary==
  
==Usage and Behavior==
+
The <code>serial</code> C example project application performs an asynchronous IO test on the specified serial device using either '''poll''' or '''FASYNC''' mode.

Latest revision as of 10:28, 25 September 2020

Redirect to:

TODO: {{#todo:SEOKWREV (12.31.13-14:56->JG+);(1.2.14-11:20->MD+);(1.2.14-15:35->MG+);(04.07.14-10:00->BS+);(04.10.14-11:20->BS+)|Jgreene|oe 4,oe 5,jg,md,SEOKWREV,mg,bs}}

This is a guide to the serial C example project included in the EMAC OE SDK.

This application sets up and tests asynchronous IO on a serial port using poll() and fasync().

The serial project builds one executable: serial_test.

Opening, Building and Uploading the Project Files

For information on opening the project from within Eclipse, please see Importing the EMAC OE SDK Projects with Eclipse. Then, follow Using the EMAC OE SDK Projects with Eclipse for information on how to build, upload and execute the example.

Alternatively, the Makefile can be used with the make command from the commandline to build and upload the example. For information on this method, please see Using EMAC OE SDK Example Projects.

EMAC SDK 5.X

For information on opening the project from within QtCreator, please see QtCreator: Adding Source Files. Then, follow Getting Started With Qt Creator for information on how to build, upload and execute the example.

Alternatively, the CMakefile.txt can be used with the cmake command from the commandline to build and upload the example. For information on this method, please see Getting Started with the EMAC OE SDK.

Usage and Behavior

serial_test performs an asynchronous IO test on the specified serial device using either poll or FASYNC mode. It performs the test, reports, tests, report, etc. It will keep running until it is stopped manually via CTRL-C.

Hardware Requirements

It should run just fine on any device with a serial port.

Using serial_test

./serial_test DEVICE -[p] [-f] 
DEVICE
The serial device to use
-p
Use poll mode for asynchronous IO
-f
Use FASYNC mode for asynchronous IO

Usage Example: Test asynchronous IO using the poll mode

Perform the test on device /dev/ttyS1

root@som9g20:/tmp# ./serial_test /dev/ttyS1 -p
Testing on /dev/ttyS1 using poll() 
Received: : 21
Received: : 11
Received: : 6
Received: : 2
Received: : 1
Received: : 1
.
.
.
Received: : 1
Received: : 1
Received: : 1
^C

Hit CTRL-C to stop testing. In this example, no errors were reported.

Usage Example. Test asynchronous IO using the FASYNC mode

Perform the test on device /dev/ttyS1

root@som9g20:/tmp# ./serial_test /dev/ttyS1 -f
Testing on /dev/ttyS1 using FASYNC 
Received SIGIO signal.
: : 21
Received SIGIO signal.
: : 11
Received SIGIO signal.
: : 6
Received SIGIO signal.
: : 2
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
.
.
.
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
Received SIGIO signal.
: : 1
^C

Hit CTRL-C to stop testing. In this example, no errors were reported.

Summary

The serial C example project application performs an asynchronous IO test on the specified serial device using either poll or FASYNC mode.