Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

What can I do with IGEP SMARC iMX6

3,699 bytes added, 15:48, 25 October 2016
no edit summary
The board has two user bicolor (green/red) leds available that can be controlled. In its simplest form, you can control of LEDs from
userspace. LEDs appear in /sys/class/leds/igep and you can turn on and off with following commands:
<pre>
<pre>
echo 1 > /sys/class/leds/base\:blue\:led0/brightness
echo 0 > /sys/class/leds/base\:blue\:led0/brightness
echo 1 > /sys/class/leds/base\:red\:led0/brightness
echo 0 > /sys/class/leds/base\:blue\:led0/brightness
echo 0 > /sys/class/leds/base\:red\:led0/brightness
</pre>
 
== How to use S1200 pushbutton ==
 
The board has one pushbutton. You can see with following commands:
 
<pre>
cd /dev/input
cat event0
</pre>
 
Next step: push the button.
== How to use UART (RS485) ==
== CAN BUS ==
To be able to communicate the board via CAN bus, we will use can0 interface and the J1002 connector. We can communicate with another IGEP0046 or an IGEP0030 (via J9001 in IGEP BERLIN), but also with a wide variety of CAN sensors and devices. In this example, we use two an IGEP0046 and an IGEP0030 on a BASE0010 IGEP boardsBERLIN.The connections are as depicted below:<br>[[File:CAN_BUS_CONNECTION_IGEP0046.PNG]][[File:CAN_BUS_CONNECTION_IGEP0046_BASE0010.PNG]]
* We must, first of all, set the interface up in each device. We can do it with ip commands:
* To stop receiving data, press '''Ctrl+C''' in the listening device.
== Get sound out (audio out) == Connect an external output audio device to the 3.5mm jack Audio Out connector in the board, such as external stereo powered speakers. The amplifiers for the headset output are disabled by default, so the first thing you'll do is enable these amplifiers with:  $ amixer set -D hw:0 'PCM' 0dB $ amixer set -D hw:0 'HP DAC' 0dB Then you can easily play a *.wav sound with the application Aplay, for example:  $ aplay /usr/share/sounds/alsa/Side_Left.wav == Get sound in (audio in) == External Audio input devices, such as a powered microphone or the audio output of a PC or MP3 player, can be connected to the via a 3.5mm jack (Audio IN).
You can record audio in with the application arecord, for example: <pre>arecord -t wav -c 2 -r 44100 -f S16_LE -v audio-in.wav</pre> Following output is expected on console:  Recording WAVE 'audio-in.wav': Signed 16 bit Little Endian, Rate 44100 Hz, Stereo Plug PCM: Direct Snoop PCM Its setup is: stream : CAPTURE access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 44100 exact rate : 44100 (44100/1) msbits : 16 buffer_size : 15876 period_size : 1764 period_time : 40000 tstamp_mode : NONE period_step : 1 avail_min : 1764 period_event : 0 start_threshold : 1 stop_threshold : 15876 silence_threshold: 0 silence_size : 0 boundary : 2080899072  When ever you think you want to stop recording just press CTRL+C == Get microphone in (audio in) == Connect an external microphone in the MIC-N connector. Enable for the input microphone:   $ amixer -c 0 sset 'under constructionRight PGA Mixer Mic3R'on $ amixer -c 0 sset 'Left PGA Mixer Mic3L'on $ amixer -c 0 sset 'Right PGA Mixer Line1R' off $ amixer -c 0 sset 'Left PGA Mixer Line1L' off You can record microphone in with the application arecord, for example:  $ arecord -t wav -c 2 -r 44100 -f S16_LE -v audio-in.wav When ever you think you want to stop recording just press CTRL+C
== Install firmware in eMMC ==
In order to access the eMMC and be capable of flashing it, we can make use of igep-flash script:*Launch the script from terminal specifying the image you want to flash in eMMC. The script itself searches for the device to flash, so no more parameters are needed:<pre>igep-flash --image /opt/firmware/isee-image-dev-imx6*-igep0046.tar* --skip-nandtest</pre>''Where '''/opt/firmware/isee-image-dev-imx6*-igep0046.tar*''' is the image you want to flash (in this case, the one supplied from ISEE with the official firmware), and '''--skip-nandtest''' is an option to skip checking for bad blocks (this accelerates the process, and it's optional if you don't mind bad blocks on eMMC)''*LEDs near U1200 should flash in orange while the eMMC is being written. They will flash in green when process successfully finishes. * We can also use the UMS (U-boot Mass Storage gadget).
* Plug a microUSB to USB cable from J602 USB OTG connector to your computer. Boot the board from the microSD card and abort autoboot pressing a key when U-boot is waiting before loading the kernel. Then, start UMS with the following command:
<pre>cat /sys/devices/soc0/soc.0/2100000.aips-bus/21a8000.i2c/i2c-2/2-0050/eeprom</pre>
* Following output is expected on console:
<pre>data</pre>ddrate=115200boot_fdt=trybootcmd=echo Try first mmc (SD)...; mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; fi; fi; fi; echo Try addrate=115200boot_fdt=trybootcmd=echo Try first mmc (SD)...; mmc dev ${mmcdev};* EEPROM is where UBoot environment variables are stored, so if mmc rescan; then if run loadbootscript; then run bootscript; you see something else if run loadimage; then run mmcboot; fi; fi; fi; echo Try addrate=115200boot_fdt=trybootcmd=echo Try first mmc (SD)than what you wrote, it's part of those variables...; mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; fi; fi; fi; echo Try ad</pre>
When ever you think you want to stop recording just press CTRL+C
<pre>mkdir Documents </pre>
* Create a file in the directory:
<pre>cd Documents/touch prova</pre>
* Write something in the file:
<pre>echo "data" > prova</pre>
In this example, we will connect to an Access Point.
* First of all, we must disable Soft Blocking on the wlan0 interface via rfkill:
<pre>rfkill unblock 0all</pre>
* Then we can set the interface up:
:To start the supplicant, we specify the interface, the configuration file and the driver to be used. In this case:
<pre>wpa_supplicant -Dnl80211 -i wlan0 -c /etc/wpa_supplicant.conf&</pre>
:*On the other hand, if it is a WEP secured Access Point, you must enter the next command. If your AP doesn't have a password, omit the key part:
<pre>iw wlan0 connect IGEP_example key 0:12345</pre>
 
*Then you can configure your device as you would normally do.
*After a few seconds, the link should be established. We can now check the connection pinging a known server, for example:
<pre>ping www.google.com</pre>
 
*If you want to set an Access Point up with the Wilink8 chip, you should use hostapd.
<pre>hostapd /etc/hostapd.conf &</pre>
 
*After some seconds, the Access Point should be up and working. Its SSID is "test" if using the official firmware. You can now connect to the board via wifi without the need of an external AP or network.
== HDMI resolution ==
*Stop autoboot by pressing a key when prompted to access terminal and type:
<pre>printenv</pre>
*Then change hdmi resolution by tweaking changing video_args_hdmi:
<pre>setenv video_args_hdmi setenv video_args $video_args video=mxcfb${fb}:dev=hdmi,1920x1080M@60,if=RGB24</pre>
''Where '''1920''' is horizontal resolution in pixels, '''1080''' is vertical resolution in pixels, and '''60''' is the refresh rate in Hz.''
*In userspace, you can check available resolutions:
<pre>cat /sys/devices/soc0/fb.19/graphics/fb0/modes</pre>
*You can also show current resolution:
<pre>fbset</pre>
Which would return something like this:
<pre>mode "1280x720-60"
# D: 74.250 MHz, H: 45.000 kHz, V: 60.000 Hz
geometry 1280 720 1280 720 16
timings 13468 220 110 20 5 40 5
hsync high
vsync high
rgba 5/11,6/5,5/0,0/0
endmode</pre>
 
*Supported iMX6 resolutions are:
<br>
|}
== HDMI audio ==
 
Connect the HDMI connector to a monitor with speakers.
 
Then you can easily play a *.wav sound with the application Aplay, for example:
 
$ aplay -D plughw:1,0 /usr/share/sounds/alsa/Side_Left.wav
 
== Secondary HDMI (DVI connector on J501) ==
 
'''under construction'''
== Modem USB ==