
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://armadeus.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JanosA</id>
		<title>ArmadeusWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://armadeus.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JanosA"/>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Special:Contributions/JanosA"/>
		<updated>2026-04-05T19:46:33Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.3</generator>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=OneWire_GPIO_bus_Master&amp;diff=11830</id>
		<title>OneWire GPIO bus Master</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=OneWire_GPIO_bus_Master&amp;diff=11830"/>
				<updated>2013-05-19T13:56:12Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Informations and HOWTOs for ArmadeuS OneWire support. &lt;br /&gt;
&lt;br /&gt;
Author: JanosA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Supported Board and Software versions ==&lt;br /&gt;
* Use the latest Armadeus GIT/SF repository (the latest stable release Armadeus 5.2 don't have this patches)&lt;br /&gt;
* Currently only the APF28DEV board supported, but it's easy to add support to another boards. (Check linux-2.6.35.3/arch/arm/mach-mx28/apf28dev.c file)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Software installation ==&lt;br /&gt;
* Recompile your Linux kernel with OneWire GPIO bus master (and some slave device) support.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; Dallas's 1-wire support  ---&amp;gt;&lt;br /&gt;
        1-wire Bus Masters  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; GPIO 1-wire busmaster&lt;br /&gt;
        1-wire Slaves  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Thermal family implementation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reflash your Linux kernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware Notes ==&lt;br /&gt;
* Connect the OneWire slave directly to the APF28_DEV board J9 connector:&lt;br /&gt;
  * Vcc 3.3V is pin 1 on J9 connector&lt;br /&gt;
  * DQ is pin 31 on J9 (LCD_D18 / GPIO 1_18)&lt;br /&gt;
  * GND is pin 39 on J9&lt;br /&gt;
* Add an 1.2k pullup resistor between Vcc and DQ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
The OneWire bus master driver every 10 seconds scan the bus for new slave devices.&lt;br /&gt;
&lt;br /&gt;
Each detected OneWire slave device have a sub-directory with it's unique ID in &amp;quot;/sys/devices/w1 bus master&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The sub-directory format is &amp;lt;2 digit family ID&amp;gt;-&amp;lt;12 digit unique ID&amp;gt;.&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# ls -la /sys/devices/w1\ bus\ master/&lt;br /&gt;
total 0&lt;br /&gt;
drwxr-xr-x    4 root     root             0 Jan  1 01:06 .&lt;br /&gt;
drwxr-xr-x    6 root     root             0 Jan  1 01:05 ..&lt;br /&gt;
drwxr-xr-x    3 root     root             0 Jan  1 01:06 28-000001e68904&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 driver -&amp;gt; ../../bus/w1/drivers/w1_master_driver&lt;br /&gt;
drwxr-xr-x    2 root     root             0 Jan  1 01:07 power&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 subsystem -&amp;gt; ../../bus/w1&lt;br /&gt;
-rw-r--r--    1 root     root          4096 Jan  1 01:07 uevent&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_add&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_attempts&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_max_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_name&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_pointer&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_pullup&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_remove&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_search&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slaves&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can list the detected slaves from this files:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slave_count&lt;br /&gt;
1&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slaves&lt;br /&gt;
28-000001e68904&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let's read the temperature: (The 28-xxx family is a DS18B20 temperature sensor in this example.)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/28-000001e68904/w1_slave&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e : crc=1e YES&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e t=29812&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The t=29812 means, the temperature is: 29.812°C&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=OneWire_GPIO_bus_Master&amp;diff=11829</id>
		<title>OneWire GPIO bus Master</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=OneWire_GPIO_bus_Master&amp;diff=11829"/>
				<updated>2013-05-19T13:47:37Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Informations and HOWTOs for ArmadeuS OneWire support. &lt;br /&gt;
&lt;br /&gt;
Author: JanosA&lt;br /&gt;
&lt;br /&gt;
== Supported Board and Software versions ==&lt;br /&gt;
* Use the latest Armadeus GIT/SF repository (the latest stable release Armadeus 5.2 don't have this patches)&lt;br /&gt;
* Currently only the APF28DEV board supported, but it's easy to add support to another boards.&lt;br /&gt;
&lt;br /&gt;
== Software installation ==&lt;br /&gt;
* Recompile your Linux kernel with OneWire GPIO bus master (and some slave device) support.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; Dallas's 1-wire support  ---&amp;gt;&lt;br /&gt;
        1-wire Bus Masters  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; GPIO 1-wire busmaster&lt;br /&gt;
        1-wire Slaves  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Thermal family implementation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reflash your Linux kernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware Notes ==&lt;br /&gt;
* Connect the OneWire slave directly to the APF28_DEV board J9 connector:&lt;br /&gt;
  * Vcc 3.3V is pin 1 on J9 connector&lt;br /&gt;
  * DQ is pin 31 on J9 (LCD_D18 / GPIO 1_18)&lt;br /&gt;
  * GND is pin 39 on J9&lt;br /&gt;
* Add an 1.2k pullup resistor between Vcc and DQ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
The OneWire bus master driver every 10 seconds scan the bus for new slave devices.&lt;br /&gt;
&lt;br /&gt;
Each detected OneWire slave device have a sub-directory with it's unique ID in &amp;quot;/sys/devices/w1 bus master&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The sub-directory format is &amp;lt;2 digit family ID&amp;gt;-&amp;lt;12 digit unique ID&amp;gt;.&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# ls -la /sys/devices/w1\ bus\ master/&lt;br /&gt;
total 0&lt;br /&gt;
drwxr-xr-x    4 root     root             0 Jan  1 01:06 .&lt;br /&gt;
drwxr-xr-x    6 root     root             0 Jan  1 01:05 ..&lt;br /&gt;
drwxr-xr-x    3 root     root             0 Jan  1 01:06 28-000001e68904&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 driver -&amp;gt; ../../bus/w1/drivers/w1_master_driver&lt;br /&gt;
drwxr-xr-x    2 root     root             0 Jan  1 01:07 power&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 subsystem -&amp;gt; ../../bus/w1&lt;br /&gt;
-rw-r--r--    1 root     root          4096 Jan  1 01:07 uevent&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_add&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_attempts&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_max_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_name&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_pointer&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_pullup&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_remove&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_search&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slaves&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can list the detected slaves from this files:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slave_count&lt;br /&gt;
1&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slaves&lt;br /&gt;
28-000001e68904&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let's read the temperature: (The 28-xxx family is a DS18B20 temperature sensor in this example.)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/28-000001e68904/w1_slave&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e : crc=1e YES&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e t=29812&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The t=29812 means, the temperature is: 29.812°C&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Functionalities&amp;diff=11828</id>
		<title>Functionalities</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Functionalities&amp;diff=11828"/>
				<updated>2013-05-19T13:42:35Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: /* RS-485 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Functionalities=&lt;br /&gt;
This page lists all the hardware/software functionnalities available on the boards. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
==Audio==&lt;br /&gt;
===Audio Out===&lt;br /&gt;
*[[TSC2102_Linux_driver | Audio codec]]: TSC2102/TSC2101 audio codec &lt;br /&gt;
*[[Audio_with_PWM|PWM]]: sound generation using a PWM&lt;br /&gt;
*[[MAX9768| Amplifier]]: MAX9768 10W mono class D audio amplifier&lt;br /&gt;
&lt;br /&gt;
===Audio In===&lt;br /&gt;
*[[TSC2102_Linux_driver|Audio codec]]: TSC2101 audio codec&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
*[[ALSA]]: Advanced Linux Sound Architecture&lt;br /&gt;
*[[Madplay]]: Audio player for Unixes&lt;br /&gt;
*[[SDL]]: cross-platform multimedia library&lt;br /&gt;
*[[Gstreamer]]&lt;br /&gt;
*[[Flite]]: fast run-time voice synthesis engine&lt;br /&gt;
*[[Speex]]: speech codec&lt;br /&gt;
*[[Imxssi]]: simple low level I2S development/debug tool&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
===Video Out===&lt;br /&gt;
*[[LCD]]&lt;br /&gt;
*[[BackLight]]&lt;br /&gt;
*[[DVI_/_HDMI]]&lt;br /&gt;
*[[TV_Output]]&lt;br /&gt;
*[[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera_interface]]:&lt;br /&gt;
*[[C38A]]: CMOS sensor module (OV7620)&lt;br /&gt;
*[[GscpaWebcam]]: GSPCA compatible USB webcams&lt;br /&gt;
*[[PWC_Webcams]]&lt;br /&gt;
*[[USB_Webcams]]&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
*[[Video_for_Linux]]: Video 4 Linux&lt;br /&gt;
*[[Qt/Embedded]]: cross-platform general purpose API&lt;br /&gt;
*[[SDL]]: cross-platform multimedia library&lt;br /&gt;
*[[Gstreamer]]&lt;br /&gt;
*[[OpenCV]]&lt;br /&gt;
*[[FBGrab]]: Frame Buffer Grabber&lt;br /&gt;
*[[Mesa]]: Mesa 3D Graphics library&lt;br /&gt;
*[[Using_the_i.MX27_video_codec]]&lt;br /&gt;
*[[LCD4linux]]: driving low cost text and graphical LCD displays&lt;br /&gt;
&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==Wired Communication==&lt;br /&gt;
===UART/RS232===&lt;br /&gt;
*[[RS-232]]: global description&lt;br /&gt;
*[[Activate_i.MX_internal_UARTs]]&lt;br /&gt;
*[[Serial_ports_usage_on_Linux]]&lt;br /&gt;
*[[Serial_port_selection_generalities]]: to be merged with previous entry. text ok ??, copied in usb serial&lt;br /&gt;
*[[OpenCore_16550_IP_Linux_driver|Linux driver for the 16C550 FPGA IP (from OpenCore)]]&lt;br /&gt;
*[[USB_to_serial_adapter]]&lt;br /&gt;
*[[USB_Gadget#To_emulate_a_serial_link| USB gadget serial emulation]]&lt;br /&gt;
*[[Cu/uucp]]  To Be Completed&lt;br /&gt;
*[[RS232_Terminal_configuration]]: host applications to take control of your RS232 link&lt;br /&gt;
*[[Serial_Transfer|Serial transfers from Linux]]&lt;br /&gt;
&lt;br /&gt;
===RS-485===&lt;br /&gt;
*[[RS-485]]: How to use the i.MX internal UART in RS-485 mode&lt;br /&gt;
&lt;br /&gt;
===I2C===&lt;br /&gt;
*[[I2C]]&lt;br /&gt;
*[[I2cread.c]]&lt;br /&gt;
*[[I2cwrite.c]]&lt;br /&gt;
&lt;br /&gt;
===SPI===&lt;br /&gt;
*[[SPI]]: To be completed (spi_dev modif in platform)&lt;br /&gt;
&lt;br /&gt;
===Ethernet / Network===&lt;br /&gt;
* manque une page pour décrire l'interface ethernet + commandes de bases sous linux/uboot&lt;br /&gt;
*[[Ethernet_MAC_address]]&lt;br /&gt;
*[[USB_to_Ethernet_adapter]]&lt;br /&gt;
*[[USB_Gadget#To_emulate_an_Ethernet_link|USB gadget ethernet emulation]]&lt;br /&gt;
*[[FTP]], [[NFS]], [[SSH]], [[Telnet]], [[Tftpboot]]&lt;br /&gt;
*[[Boa]]: BOA web server&lt;br /&gt;
*[[Ethernet console]] (in U-Boot)&lt;br /&gt;
*[[Network interface bandwidth measurement]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
*[[USB]]: create USB_OTG entry and delete this one&lt;br /&gt;
*[[USB_Host]]&lt;br /&gt;
*[[USB_Gadget]]&lt;br /&gt;
*[[USB_OTG]]&lt;br /&gt;
*[[USB_to_Ethernet_adapter]]&lt;br /&gt;
*[[USB_to_WiFi_adapter]]&lt;br /&gt;
*[[USB_to_serial_adapter]]: still under construction ?&lt;br /&gt;
*[[USB Boot]] (Linux)&lt;br /&gt;
*[[USB Webcams]]&lt;br /&gt;
*[[USB to Playstation joypad adapter]]&lt;br /&gt;
&lt;br /&gt;
===CAN Bus===&lt;br /&gt;
*[[CAN_bus_Linux_driver|MCP251X CAN bus controller]]&lt;br /&gt;
*[[CAN_bus_demo_MCP25020|Communication with a Microchip MCP25020 CAN I/O Expander]]&lt;br /&gt;
*[[CAN_bus_Linux_sja1000|SJA1000 CAN Bus controller]]&lt;br /&gt;
&lt;br /&gt;
===OneWire===&lt;br /&gt;
*[[OneWire GPIO bus Master]]&lt;br /&gt;
&lt;br /&gt;
===HMS Modules===&lt;br /&gt;
*[[HMS_anybus_Linux|HMS Anybus]]&lt;br /&gt;
*[[HMS_compactcom | HMS CompactCom]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
==Wireless==&lt;br /&gt;
===Wifi===&lt;br /&gt;
*[[WiFi|WiFi general usage (from Linux)]]&lt;br /&gt;
*[[USB_to_WiFi_adapter|How to use USB to WiFi adapters on your boards]]&lt;br /&gt;
*[[Libertas_driver]]: Marvell Technology Group's Libertas chipset drivers&lt;br /&gt;
*[[WPA supplicant]]&lt;br /&gt;
&lt;br /&gt;
===GSM/GPRS===&lt;br /&gt;
*[[GSM/GPRS]]&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
*[[Bluetooth]]&lt;br /&gt;
*[[OBEX]]&lt;br /&gt;
*[[TCP/IP_with_Bluetooth]]&lt;br /&gt;
*[[Wiimote]]&lt;br /&gt;
&lt;br /&gt;
===GPS===&lt;br /&gt;
*[[GPS]]&lt;br /&gt;
*[[GPS_daemon]]: service daemon monitoring one or more GPSes or AIS receivers&lt;br /&gt;
&lt;br /&gt;
===IR===&lt;br /&gt;
*[[IR_HID_USB_Remote|Infrared USB HID remote ]]&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==Storage / File System==&lt;br /&gt;
*[[MultiMediaCard]]&lt;br /&gt;
*[[USB_Host#USB_Flash_memory_.2F_USB_key_.2F_USB_card_reader_.2F_USB_Hard_Drive|USB drive/dongle usage]]&lt;br /&gt;
*[[USB_Gadget#To_emulate_a_mass_storage_device:|USB gadget mass storage emulation]]&lt;br /&gt;
*[[Create_a_FLASH_partition_to_store_user's_HOME]]&lt;br /&gt;
*[[UBIFS]]&lt;br /&gt;
*[[Using_Initial_RAM_disk]]: still nder construction ?&lt;br /&gt;
*[[Samba]]: access Windows remote partitions&lt;br /&gt;
*[[Network_File_System_configuration|Network File System (NFS)]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
==Realtime==&lt;br /&gt;
===Xenomai===&lt;br /&gt;
*[[Xenomai]]: real time co-kernel which cooperate with Linux via Adeos&lt;br /&gt;
*[[Xenomai:Blinking_LEDs]]: Xenomai:examples_usage&lt;br /&gt;
*[[Xenomai_manual_installation]]&lt;br /&gt;
*[[Adeos]]&lt;br /&gt;
&lt;br /&gt;
===RTC===&lt;br /&gt;
*[[RTC]]&lt;br /&gt;
*[[Watchdog]]&lt;br /&gt;
&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==User Input==&lt;br /&gt;
*[[USB_Host#USB_keyboard.2Fmouse_.28HID:_Human_Interface_Device.29| USB input device]]&lt;br /&gt;
*[[Keypad]]: keypad based on GPIO matrix&lt;br /&gt;
*[[GPIO keys]]: User button connected to a GPIO&lt;br /&gt;
*[[Joystick]]: still under construction ?&lt;br /&gt;
*[[PS/2]]: APF9328 only&lt;br /&gt;
*[[TSC2102_Linux_driver| Touchscreen]]: TSC210x 4 wires resistive touch controler&lt;br /&gt;
*[[APF51_PMIC|touchscreen]]: APF51 PMIC 4/5 wires resistive touch controler&lt;br /&gt;
*[[APF28_PMIC|touchscreen]]: APF28 PMIC 4/5 wires resistive touch controler&lt;br /&gt;
*[[GPM]]: mouse support for Linux on the console&lt;br /&gt;
*[[Wiimote]]&lt;br /&gt;
*[[Tslib]]: Linux touchscreen interface&lt;br /&gt;
*[[USB to Playstation joypad adapter]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
*[[AS1531|AS1531]]: 8 channels 12bits ADC (SPI)&lt;br /&gt;
* [[MCP4912|MCP4912]]: 2 channels 10bits DAC (SPI)&lt;br /&gt;
*[[ADC_max1027|MAX1027]]: 8 channels 10bits ADC (SPI)&lt;br /&gt;
*[[Max5821|MAX5821]]: 2 channels 10bits DAC (I2C)&lt;br /&gt;
*[[BQ27x00]]: series of battery gas gauge&lt;br /&gt;
*[[GPIO Driver]]&lt;br /&gt;
*[[GPIO LEDS]]&lt;br /&gt;
*[[JTAG]]&lt;br /&gt;
*[[Led_sensor|Using a LED as a light sensor]]&lt;br /&gt;
*[[URG_laser]]&lt;br /&gt;
*[[PWM]]&lt;br /&gt;
*[[Watchdog]]&lt;br /&gt;
*[[Power_management]]&lt;br /&gt;
&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
*[[BootLoader | U-Boot useful tips]]&lt;br /&gt;
* [[USB_Boot|Boot linux from a USB key]]&lt;br /&gt;
* [[Connection_with_U-Boot_under_Windows|Connection with U-Boot under Windows]]&lt;br /&gt;
* [[U-Boot_communication_quick_check|U-Boot communication quick check]]&lt;br /&gt;
* [[Uboot_FPGA_firmware_update_from_Linux|Uboot FPGA firmware update from Linux]]&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
==Bootstrap==&lt;br /&gt;
* [[BootStrap | Install U-Boot from scratch or recover your U-Boot if it was corrupted]]&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11827</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11827"/>
				<updated>2013-05-19T13:39:25Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: OneWire moved to main Wiki Tree&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
== Skills ==&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
== My ArmadeuS plans (APF28 based) ==&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
== My works comitted to ArmadeuS project ==&lt;br /&gt;
* [[RS-485]] for APF28/iMX28 mxs-auart and busybox stty patch&lt;br /&gt;
* [[OneWire GPIO bus Master]] for APF28DEV&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Functionalities&amp;diff=11826</id>
		<title>Functionalities</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Functionalities&amp;diff=11826"/>
				<updated>2013-05-19T13:35:36Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: /* OneWire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Functionalities=&lt;br /&gt;
This page lists all the hardware/software functionnalities available on the boards. &lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; summary=&amp;quot;Hardware Add-Ons by functionnalities&amp;quot;&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
==Audio==&lt;br /&gt;
===Audio Out===&lt;br /&gt;
*[[TSC2102_Linux_driver | Audio codec]]: TSC2102/TSC2101 audio codec &lt;br /&gt;
*[[Audio_with_PWM|PWM]]: sound generation using a PWM&lt;br /&gt;
*[[MAX9768| Amplifier]]: MAX9768 10W mono class D audio amplifier&lt;br /&gt;
&lt;br /&gt;
===Audio In===&lt;br /&gt;
*[[TSC2102_Linux_driver|Audio codec]]: TSC2101 audio codec&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
*[[ALSA]]: Advanced Linux Sound Architecture&lt;br /&gt;
*[[Madplay]]: Audio player for Unixes&lt;br /&gt;
*[[SDL]]: cross-platform multimedia library&lt;br /&gt;
*[[Gstreamer]]&lt;br /&gt;
*[[Flite]]: fast run-time voice synthesis engine&lt;br /&gt;
*[[Speex]]: speech codec&lt;br /&gt;
*[[Imxssi]]: simple low level I2S development/debug tool&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
===Video Out===&lt;br /&gt;
*[[LCD]]&lt;br /&gt;
*[[BackLight]]&lt;br /&gt;
*[[DVI_/_HDMI]]&lt;br /&gt;
*[[TV_Output]]&lt;br /&gt;
*[[FrameBuffer]]&lt;br /&gt;
&lt;br /&gt;
===Video In===&lt;br /&gt;
*[[Camera_interface]]:&lt;br /&gt;
*[[C38A]]: CMOS sensor module (OV7620)&lt;br /&gt;
*[[GscpaWebcam]]: GSPCA compatible USB webcams&lt;br /&gt;
*[[PWC_Webcams]]&lt;br /&gt;
*[[USB_Webcams]]&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
*[[Video_for_Linux]]: Video 4 Linux&lt;br /&gt;
*[[Qt/Embedded]]: cross-platform general purpose API&lt;br /&gt;
*[[SDL]]: cross-platform multimedia library&lt;br /&gt;
*[[Gstreamer]]&lt;br /&gt;
*[[OpenCV]]&lt;br /&gt;
*[[FBGrab]]: Frame Buffer Grabber&lt;br /&gt;
*[[Mesa]]: Mesa 3D Graphics library&lt;br /&gt;
*[[Using_the_i.MX27_video_codec]]&lt;br /&gt;
*[[LCD4linux]]: driving low cost text and graphical LCD displays&lt;br /&gt;
&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==Wired Communication==&lt;br /&gt;
===UART/RS232===&lt;br /&gt;
*[[RS-232]]: global description&lt;br /&gt;
*[[Activate_i.MX_internal_UARTs]]&lt;br /&gt;
*[[Serial_ports_usage_on_Linux]]&lt;br /&gt;
*[[Serial_port_selection_generalities]]: to be merged with previous entry. text ok ??, copied in usb serial&lt;br /&gt;
*[[OpenCore_16550_IP_Linux_driver|Linux driver for the 16C550 FPGA IP (from OpenCore)]]&lt;br /&gt;
*[[USB_to_serial_adapter]]&lt;br /&gt;
*[[USB_Gadget#To_emulate_a_serial_link| USB gadget serial emulation]]&lt;br /&gt;
*[[Cu/uucp]]  To Be Completed&lt;br /&gt;
*[[RS232_Terminal_configuration]]: host applications to take control of your RS232 link&lt;br /&gt;
*[[Serial_Transfer|Serial transfers from Linux]]&lt;br /&gt;
&lt;br /&gt;
===RS-485===&lt;br /&gt;
*[[RS-485]]: How to use the RS-485 interface. Thanks JanosA&lt;br /&gt;
&lt;br /&gt;
===I2C===&lt;br /&gt;
*[[I2C]]&lt;br /&gt;
*[[I2cread.c]]&lt;br /&gt;
*[[I2cwrite.c]]&lt;br /&gt;
&lt;br /&gt;
===SPI===&lt;br /&gt;
*[[SPI]]: To be completed (spi_dev modif in platform)&lt;br /&gt;
&lt;br /&gt;
===Ethernet / Network===&lt;br /&gt;
* manque une page pour décrire l'interface ethernet + commandes de bases sous linux/uboot&lt;br /&gt;
*[[Ethernet_MAC_address]]&lt;br /&gt;
*[[USB_to_Ethernet_adapter]]&lt;br /&gt;
*[[USB_Gadget#To_emulate_an_Ethernet_link|USB gadget ethernet emulation]]&lt;br /&gt;
*[[FTP]], [[NFS]], [[SSH]], [[Telnet]], [[Tftpboot]]&lt;br /&gt;
*[[Boa]]: BOA web server&lt;br /&gt;
*[[Ethernet console]] (in U-Boot)&lt;br /&gt;
*[[Network interface bandwidth measurement]]&lt;br /&gt;
&lt;br /&gt;
===USB===&lt;br /&gt;
*[[USB]]: create USB_OTG entry and delete this one&lt;br /&gt;
*[[USB_Host]]&lt;br /&gt;
*[[USB_Gadget]]&lt;br /&gt;
*[[USB_OTG]]&lt;br /&gt;
*[[USB_to_Ethernet_adapter]]&lt;br /&gt;
*[[USB_to_WiFi_adapter]]&lt;br /&gt;
*[[USB_to_serial_adapter]]: still under construction ?&lt;br /&gt;
*[[USB Boot]] (Linux)&lt;br /&gt;
*[[USB Webcams]]&lt;br /&gt;
*[[USB to Playstation joypad adapter]]&lt;br /&gt;
&lt;br /&gt;
===CAN Bus===&lt;br /&gt;
*[[CAN_bus_Linux_driver|MCP251X CAN bus controller]]&lt;br /&gt;
*[[CAN_bus_demo_MCP25020|Communication with a Microchip MCP25020 CAN I/O Expander]]&lt;br /&gt;
*[[CAN_bus_Linux_sja1000|SJA1000 CAN Bus controller]]&lt;br /&gt;
&lt;br /&gt;
===OneWire===&lt;br /&gt;
*[[OneWire GPIO bus Master]]&lt;br /&gt;
&lt;br /&gt;
===HMS Modules===&lt;br /&gt;
*[[HMS_anybus_Linux|HMS Anybus]]&lt;br /&gt;
*[[HMS_compactcom | HMS CompactCom]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
==Wireless==&lt;br /&gt;
===Wifi===&lt;br /&gt;
*[[WiFi|WiFi general usage (from Linux)]]&lt;br /&gt;
*[[USB_to_WiFi_adapter|How to use USB to WiFi adapters on your boards]]&lt;br /&gt;
*[[Libertas_driver]]: Marvell Technology Group's Libertas chipset drivers&lt;br /&gt;
*[[WPA supplicant]]&lt;br /&gt;
&lt;br /&gt;
===GSM/GPRS===&lt;br /&gt;
*[[GSM/GPRS]]&lt;br /&gt;
&lt;br /&gt;
===Bluetooth===&lt;br /&gt;
*[[Bluetooth]]&lt;br /&gt;
*[[OBEX]]&lt;br /&gt;
*[[TCP/IP_with_Bluetooth]]&lt;br /&gt;
*[[Wiimote]]&lt;br /&gt;
&lt;br /&gt;
===GPS===&lt;br /&gt;
*[[GPS]]&lt;br /&gt;
*[[GPS_daemon]]: service daemon monitoring one or more GPSes or AIS receivers&lt;br /&gt;
&lt;br /&gt;
===IR===&lt;br /&gt;
*[[IR_HID_USB_Remote|Infrared USB HID remote ]]&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==Storage / File System==&lt;br /&gt;
*[[MultiMediaCard]]&lt;br /&gt;
*[[USB_Host#USB_Flash_memory_.2F_USB_key_.2F_USB_card_reader_.2F_USB_Hard_Drive|USB drive/dongle usage]]&lt;br /&gt;
*[[USB_Gadget#To_emulate_a_mass_storage_device:|USB gadget mass storage emulation]]&lt;br /&gt;
*[[Create_a_FLASH_partition_to_store_user's_HOME]]&lt;br /&gt;
*[[UBIFS]]&lt;br /&gt;
*[[Using_Initial_RAM_disk]]: still nder construction ?&lt;br /&gt;
*[[Samba]]: access Windows remote partitions&lt;br /&gt;
*[[Network_File_System_configuration|Network File System (NFS)]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
==Realtime==&lt;br /&gt;
===Xenomai===&lt;br /&gt;
*[[Xenomai]]: real time co-kernel which cooperate with Linux via Adeos&lt;br /&gt;
*[[Xenomai:Blinking_LEDs]]: Xenomai:examples_usage&lt;br /&gt;
*[[Xenomai_manual_installation]]&lt;br /&gt;
*[[Adeos]]&lt;br /&gt;
&lt;br /&gt;
===RTC===&lt;br /&gt;
*[[RTC]]&lt;br /&gt;
*[[Watchdog]]&lt;br /&gt;
&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==User Input==&lt;br /&gt;
*[[USB_Host#USB_keyboard.2Fmouse_.28HID:_Human_Interface_Device.29| USB input device]]&lt;br /&gt;
*[[Keypad]]: keypad based on GPIO matrix&lt;br /&gt;
*[[GPIO keys]]: User button connected to a GPIO&lt;br /&gt;
*[[Joystick]]: still under construction ?&lt;br /&gt;
*[[PS/2]]: APF9328 only&lt;br /&gt;
*[[TSC2102_Linux_driver| Touchscreen]]: TSC210x 4 wires resistive touch controler&lt;br /&gt;
*[[APF51_PMIC|touchscreen]]: APF51 PMIC 4/5 wires resistive touch controler&lt;br /&gt;
*[[APF28_PMIC|touchscreen]]: APF28 PMIC 4/5 wires resistive touch controler&lt;br /&gt;
*[[GPM]]: mouse support for Linux on the console&lt;br /&gt;
*[[Wiimote]]&lt;br /&gt;
*[[Tslib]]: Linux touchscreen interface&lt;br /&gt;
*[[USB to Playstation joypad adapter]]&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
*[[AS1531|AS1531]]: 8 channels 12bits ADC (SPI)&lt;br /&gt;
* [[MCP4912|MCP4912]]: 2 channels 10bits DAC (SPI)&lt;br /&gt;
*[[ADC_max1027|MAX1027]]: 8 channels 10bits ADC (SPI)&lt;br /&gt;
*[[Max5821|MAX5821]]: 2 channels 10bits DAC (I2C)&lt;br /&gt;
*[[BQ27x00]]: series of battery gas gauge&lt;br /&gt;
*[[GPIO Driver]]&lt;br /&gt;
*[[GPIO LEDS]]&lt;br /&gt;
*[[JTAG]]&lt;br /&gt;
*[[Led_sensor|Using a LED as a light sensor]]&lt;br /&gt;
*[[URG_laser]]&lt;br /&gt;
*[[PWM]]&lt;br /&gt;
*[[Watchdog]]&lt;br /&gt;
*[[Power_management]]&lt;br /&gt;
&lt;br /&gt;
|----------------&lt;br /&gt;
|- style=&amp;quot;background:#f4f4f4; color:black; -moz-border-radius:18px;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
==Bootloader==&lt;br /&gt;
*[[BootLoader | U-Boot useful tips]]&lt;br /&gt;
* [[USB_Boot|Boot linux from a USB key]]&lt;br /&gt;
* [[Connection_with_U-Boot_under_Windows|Connection with U-Boot under Windows]]&lt;br /&gt;
* [[U-Boot_communication_quick_check|U-Boot communication quick check]]&lt;br /&gt;
* [[Uboot_FPGA_firmware_update_from_Linux|Uboot FPGA firmware update from Linux]]&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
==Bootstrap==&lt;br /&gt;
* [[BootStrap | Install U-Boot from scratch or recover your U-Boot if it was corrupted]]&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=RS-485&amp;diff=11825</id>
		<title>RS-485</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=RS-485&amp;diff=11825"/>
				<updated>2013-05-19T12:08:31Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Informations and HOWTOs for ArmadeuS RS-485 support.&lt;br /&gt;
&lt;br /&gt;
RS-485 mostly used in half duplex operation mode, and uses a differential balanced line over twisted pair. RS-485 drivers need to be put in transmit mode explicitly by asserting a signal to the driver. This allows RS-485 to implement linear topologies using only two wires, and it can span relatively large distances (up to 1,200m @ 100kbit/s).&lt;br /&gt;
&lt;br /&gt;
Before the RS-485 related parts, please have a look on: [[Serial ports usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
Author: JanosA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Supported Board and Software versions ==&lt;br /&gt;
* Use the latest Armadeus GIT/SF repository (the latest stable release Armadeus 5.2 don't have this patches)&lt;br /&gt;
* Currently only the APF28 (iMX28) board with Linux kernel v2.6.35.3 supported. (mxs-auart patch)&lt;br /&gt;
* Linux stty patch included in buildroot 2012.02 to only busybox v1.19.4&lt;br /&gt;
* Linux stty patch included in buildroot 2013.02 to all busybox versions starting from v1.19.4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changing port parameters ==&lt;br /&gt;
* Setup APF28 serial port for RS-485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 9600&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays (if needed) for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS-485 parameters. (If the port device supports the RS-485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used. (Only used by atmel_serial.c and crisv10.c drivers)&lt;br /&gt;
* If the RS-485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to use it from C code ==&lt;br /&gt;
* The RS-485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS-485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS-485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware Notes ==&lt;br /&gt;
* The RS-485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS-485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS-485 bus lockups.&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=RS-485&amp;diff=11824</id>
		<title>RS-485</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=RS-485&amp;diff=11824"/>
				<updated>2013-05-19T11:48:46Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Informations and HOWTOs for ArmadeuS RS-485 support.&lt;br /&gt;
&lt;br /&gt;
Before the RS-485 related parts, please have a look on: [[Serial ports usage on Linux]]&lt;br /&gt;
&lt;br /&gt;
Author: JanosA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Supported Board and Software versions ==&lt;br /&gt;
* Use the latest Armadeus GIT/SF repository (the latest stable release Armadeus 5.2 don't have this patches)&lt;br /&gt;
* Currently only the APF28 (iMX28) board with Linux kernel v2.6.35.3 supported. (mxs-auart patch)&lt;br /&gt;
* Linux stty patch included in buildroot 2012.02 to only busybox v1.19.4&lt;br /&gt;
* Linux stty patch included in buildroot 2013.02 to all busybox versions starting from v1.19.4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changing port parameters ==&lt;br /&gt;
* Setup APF28 serial port for RS-485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 9600&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays (if needed) for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS-485 parameters. (If the port device supports the RS-485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used. (Only used by atmel_serial.c and crisv10.c drivers)&lt;br /&gt;
* If the RS-485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to use it from C code ==&lt;br /&gt;
* The RS-485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS-485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS-485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware Notes ==&lt;br /&gt;
* The RS-485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS-485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS-485 bus lockups.&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=RS-485&amp;diff=11820</id>
		<title>RS-485</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=RS-485&amp;diff=11820"/>
				<updated>2013-05-15T19:07:30Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: Add supported platforms&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Informations and HOWTOs for ArmadeuS RS-485 support.&lt;br /&gt;
&lt;br /&gt;
Author: JanosA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Supported Board and Software versions ==&lt;br /&gt;
* Currently only the APF28 (iMX28) board with Linux kernel v2.6.35.3 supported. (mxs-auart patch)&lt;br /&gt;
* Linux stty patch included only in busybox v1.19.4 (Patch already submitted to the busybox mailing list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Linux stty ==&lt;br /&gt;
* Setup APF28 serial port for RS-485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays (if needed) for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS-485 parameters. (If the port device supports the RS-485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used. (Only used by atmel_serial.c and crisv10.c drivers)&lt;br /&gt;
* If the RS-485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== C code ==&lt;br /&gt;
* The RS-485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS-485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS-485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware Notes ==&lt;br /&gt;
* The RS-485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS-485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS-485 bus lockups.&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11819</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11819"/>
				<updated>2013-05-15T18:53:41Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: RS-485 moved to main Wiki Tree&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
=== Skills ===&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
=== My ArmadeuS plans (APF28 based) ===&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS-485 ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches moved to the main Wiki tree: [[RS-485]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OneWire ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28DEV OneWire patch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software installation ===&lt;br /&gt;
* Recompile your Linux kernel with OneWire GPIO bus master (and some slave device) support.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; Dallas's 1-wire support  ---&amp;gt;&lt;br /&gt;
        1-wire Bus Masters  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; GPIO 1-wire busmaster&lt;br /&gt;
        1-wire Slaves  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Thermal family implementation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reflash your Linux kernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* Connect the OneWire slave directly to the APF28_DEV board J9 connector:&lt;br /&gt;
  * Vcc 3.3V is pin 1 on J9 connector&lt;br /&gt;
  * DQ is pin 31 on J9 (LCD_D18 / GPIO 1_18)&lt;br /&gt;
  * GND is pin 39 on J9&lt;br /&gt;
* Add an 1.2k pullup resistor between Vcc and DQ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
The OneWire bus master driver every 10 seconds scan the bus for new slave devices.&lt;br /&gt;
&lt;br /&gt;
Each detected OneWire slave device have a sub-directory with it's unique ID in &amp;quot;/sys/devices/w1 bus master&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The sub-directory format is &amp;lt;2 digit family ID&amp;gt;-&amp;lt;12 digit unique ID&amp;gt;.&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# ls -la /sys/devices/w1\ bus\ master/&lt;br /&gt;
total 0&lt;br /&gt;
drwxr-xr-x    4 root     root             0 Jan  1 01:06 .&lt;br /&gt;
drwxr-xr-x    6 root     root             0 Jan  1 01:05 ..&lt;br /&gt;
drwxr-xr-x    3 root     root             0 Jan  1 01:06 28-000001e68904&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 driver -&amp;gt; ../../bus/w1/drivers/w1_master_driver&lt;br /&gt;
drwxr-xr-x    2 root     root             0 Jan  1 01:07 power&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 subsystem -&amp;gt; ../../bus/w1&lt;br /&gt;
-rw-r--r--    1 root     root          4096 Jan  1 01:07 uevent&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_add&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_attempts&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_max_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_name&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_pointer&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_pullup&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_remove&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_search&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slaves&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can list the detected slaves from this files:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slave_count&lt;br /&gt;
1&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slaves&lt;br /&gt;
28-000001e68904&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let's read the temperature: (The 28-xxx family is a DS18B20 temperature sensor in this example.)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/28-000001e68904/w1_slave&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e : crc=1e YES&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e t=29812&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The t=29812 means, the temperature is: 29.812°C&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11810</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11810"/>
				<updated>2013-05-09T22:00:04Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
=== Skills ===&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
=== My ArmadeuS plans (APF28 based) ===&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Linux stty ===&lt;br /&gt;
* Setup APF28 serial port for RS485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS485 parameters. (If the port device supports the RS485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used. (Only used by atmel_serial.c and crisv10.c drivers)&lt;br /&gt;
* If the RS485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== C code ===&lt;br /&gt;
* The RS485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* The RS485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS485 bus lockups.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OneWire ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28DEV OneWire patch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software installation ===&lt;br /&gt;
* Recompile your Linux kernel with OneWire GPIO bus master (and some slave device) support.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; Dallas's 1-wire support  ---&amp;gt;&lt;br /&gt;
        1-wire Bus Masters  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; GPIO 1-wire busmaster&lt;br /&gt;
        1-wire Slaves  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Thermal family implementation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reflash your Linux kernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* Connect the OneWire slave directly to the APF28_DEV board J9 connector:&lt;br /&gt;
  * Vcc 3.3V is pin 1 on J9 connector&lt;br /&gt;
  * DQ is pin 31 on J9 (LCD_D18 / GPIO 1_18)&lt;br /&gt;
  * GND is pin 39 on J9&lt;br /&gt;
* Add an 1.2k pullup resistor between Vcc and DQ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
The OneWire bus master driver every 10 seconds scan the bus for new slave devices.&lt;br /&gt;
&lt;br /&gt;
Each detected OneWire slave device have a sub-directory with it's unique ID in &amp;quot;/sys/devices/w1 bus master&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The sub-directory format is &amp;lt;2 digit family ID&amp;gt;-&amp;lt;12 digit unique ID&amp;gt;.&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# ls -la /sys/devices/w1\ bus\ master/&lt;br /&gt;
total 0&lt;br /&gt;
drwxr-xr-x    4 root     root             0 Jan  1 01:06 .&lt;br /&gt;
drwxr-xr-x    6 root     root             0 Jan  1 01:05 ..&lt;br /&gt;
drwxr-xr-x    3 root     root             0 Jan  1 01:06 28-000001e68904&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 driver -&amp;gt; ../../bus/w1/drivers/w1_master_driver&lt;br /&gt;
drwxr-xr-x    2 root     root             0 Jan  1 01:07 power&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 subsystem -&amp;gt; ../../bus/w1&lt;br /&gt;
-rw-r--r--    1 root     root          4096 Jan  1 01:07 uevent&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_add&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_attempts&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_max_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_name&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_pointer&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_pullup&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_remove&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_search&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slaves&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can list the detected slaves from this files:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slave_count&lt;br /&gt;
1&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slaves&lt;br /&gt;
28-000001e68904&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let's read the temperature: (The 28-xxx family is a DS18B20 temperature sensor in this example.)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/28-000001e68904/w1_slave&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e : crc=1e YES&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e t=29812&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The t=29812 means, the temperature is: 29.812°C&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11809</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11809"/>
				<updated>2013-05-09T20:23:19Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
=== Skills ===&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
=== My ArmadeuS plans (APF28 based) ===&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Linux stty ===&lt;br /&gt;
* Setup APF28 serial port for RS485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS485 parameters. (If the port device supports the RS485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used. (Only used by atmel_serial.c and crisv10.c drivers)&lt;br /&gt;
* If the RS485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== C code ===&lt;br /&gt;
* The RS485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* The RS485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS485 bus lockups.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OneWire ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28DEV OneWire patch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software installation ===&lt;br /&gt;
* Recompile your Linux kernel with OneWire GPIO bus master (and some slave device) support.&lt;br /&gt;
* The driver works only in static compiled mode. (Load as module did not work.)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; Dallas's 1-wire support  ---&amp;gt;&lt;br /&gt;
        1-wire Bus Masters  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; GPIO 1-wire busmaster&lt;br /&gt;
        1-wire Slaves  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Thermal family implementation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reflash your Linux kernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* Connect the OneWire slave directly to the APF28_DEV board J9 connector:&lt;br /&gt;
  * Vcc 3.3V is pin 1 on J9 connector&lt;br /&gt;
  * DQ is pin 31 on J9 (LCD_D18 / GPIO 1_18)&lt;br /&gt;
  * GND is pin 39 on J9&lt;br /&gt;
* Add an 1.2k pullup resistor between Vcc and DQ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
The OneWire bus master driver every 10 seconds scan the bus for new slave devices.&lt;br /&gt;
&lt;br /&gt;
Each detected OneWire slave device have a sub-directory with it's unique ID in &amp;quot;/sys/devices/w1 bus master&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The sub-directory format is &amp;lt;2 digit family ID&amp;gt;-&amp;lt;12 digit unique ID&amp;gt;.&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# ls -la /sys/devices/w1\ bus\ master/&lt;br /&gt;
total 0&lt;br /&gt;
drwxr-xr-x    4 root     root             0 Jan  1 01:06 .&lt;br /&gt;
drwxr-xr-x    6 root     root             0 Jan  1 01:05 ..&lt;br /&gt;
drwxr-xr-x    3 root     root             0 Jan  1 01:06 28-000001e68904&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 driver -&amp;gt; ../../bus/w1/drivers/w1_master_driver&lt;br /&gt;
drwxr-xr-x    2 root     root             0 Jan  1 01:07 power&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 subsystem -&amp;gt; ../../bus/w1&lt;br /&gt;
-rw-r--r--    1 root     root          4096 Jan  1 01:07 uevent&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_add&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_attempts&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_max_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_name&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_pointer&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_pullup&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_remove&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_search&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slaves&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can list the detected slaves from this files:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slave_count&lt;br /&gt;
1&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slaves&lt;br /&gt;
28-000001e68904&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let's read the temperature: (The 28-xxx family is a DS18B20 temperature sensor in this example.)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/28-000001e68904/w1_slave&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e : crc=1e YES&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e t=29812&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The t=29812 means, the temperature is: 29.812°C&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11808</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11808"/>
				<updated>2013-05-09T20:20:11Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
=== Skills ===&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
=== My ArmadeuS plans (APF28 based) ===&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
=== Currently I working on: ===&lt;br /&gt;
* RS485 support for driver: mxs-auart.c (APF28 2.6.35.3+ kernel)&lt;br /&gt;
* Next will be: Integrate and test the Linux kernel's one wire (w1) driver with APF28.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Linux stty ===&lt;br /&gt;
* Setup APF28 serial port for RS485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS485 parameters. (If the port device supports the RS485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used. (Only used by atmel_serial.c and crisv10.c drivers)&lt;br /&gt;
* If the RS485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== C code ===&lt;br /&gt;
* The RS485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* The RS485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS485 bus lockups.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OneWire ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28DEV OneWire patches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software installation ===&lt;br /&gt;
* Recompile your Linux kernel with OneWire GPIO bus master (and some slave device) support.&lt;br /&gt;
* The driver works only in static compiled mode. (Load as module did not work.)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; Dallas's 1-wire support  ---&amp;gt;&lt;br /&gt;
        1-wire Bus Masters  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; GPIO 1-wire busmaster&lt;br /&gt;
        1-wire Slaves  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Thermal family implementation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reflash your Linux kernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* Connect the OneWire slave directly to the APF28_DEV board J9 connector:&lt;br /&gt;
  * Vcc 3.3V is pin 1 on J9 connector&lt;br /&gt;
  * DQ is pin 31 on J9 (LCD_D18 / GPIO 1_18)&lt;br /&gt;
  * GND is pin 39 on J9&lt;br /&gt;
* Add an 1.2k pullup resistor between Vcc and DQ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
The OneWire bus master driver every 10 seconds scan the bus for new slave devices.&lt;br /&gt;
&lt;br /&gt;
Each detected OneWire slave device have a sub-directory with it's unique ID in &amp;quot;/sys/devices/w1 bus master&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The sub-directory format is &amp;lt;2 digit family ID&amp;gt;-&amp;lt;12 digit unique ID&amp;gt;.&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# ls -la /sys/devices/w1\ bus\ master/&lt;br /&gt;
total 0&lt;br /&gt;
drwxr-xr-x    4 root     root             0 Jan  1 01:06 .&lt;br /&gt;
drwxr-xr-x    6 root     root             0 Jan  1 01:05 ..&lt;br /&gt;
drwxr-xr-x    3 root     root             0 Jan  1 01:06 28-000001e68904&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 driver -&amp;gt; ../../bus/w1/drivers/w1_master_driver&lt;br /&gt;
drwxr-xr-x    2 root     root             0 Jan  1 01:07 power&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 subsystem -&amp;gt; ../../bus/w1&lt;br /&gt;
-rw-r--r--    1 root     root          4096 Jan  1 01:07 uevent&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_add&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_attempts&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_max_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_name&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_pointer&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_pullup&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_remove&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_search&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slaves&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can list the detected slaves from this files:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slave_count&lt;br /&gt;
1&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slaves&lt;br /&gt;
28-000001e68904&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let's read the temperature: (The 28-xxx family is a DS18B20 temperature sensor in this example.)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/28-000001e68904/w1_slave&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e : crc=1e YES&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e t=29812&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The t=29812 means, the temperature is: 29.812°C&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11807</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11807"/>
				<updated>2013-05-09T20:17:53Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
=== Skills ===&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
=== My ArmadeuS plans (APF28 based) ===&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
=== Currently I working on: ===&lt;br /&gt;
* RS485 support for driver: mxs-auart.c (APF28 2.6.35.3+ kernel)&lt;br /&gt;
* Next will be: Integrate and test the Linux kernel's one wire (w1) driver with APF28.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Linux stty ===&lt;br /&gt;
* Setup APF28 serial port for RS485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS485 parameters. (If the port device supports the RS485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used. (Only used by atmel_serial.c and crisv10.c drivers)&lt;br /&gt;
* If the RS485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== C code ===&lt;br /&gt;
* The RS485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* The RS485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS485 bus lockups.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OneWire ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28DEV OneWire patches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software installation ===&lt;br /&gt;
* Recompile your Linux kernel with OneWire GPIO bus master (and some slave device) support.&lt;br /&gt;
* The driver works only in static compiled mode. (Load as module did not work.)&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; Dallas's 1-wire support  ---&amp;gt;&lt;br /&gt;
        1-wire Bus Masters  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; GPIO 1-wire busmaster&lt;br /&gt;
        1-wire Slaves  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Thermal family implementation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reflash your Linux kernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* Connect the OneWire slave directly to the APF28_DEV board J9 connector:&lt;br /&gt;
  * Vcc 3.3V is pin 1 on J9 connector&lt;br /&gt;
  * DQ is pin 31 on J9 (LCD_D18 / GPIO 1_18)&lt;br /&gt;
  * GND is pin 39 on J9&lt;br /&gt;
* Add an 1.2k pullup resistor between Vcc and DQ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
The OneWire bus master driver every 10 seconds scan the bus for new slave devices.&lt;br /&gt;
&lt;br /&gt;
Each detected OneWire slave device have a sub-directory with it's unique ID in &amp;quot;/sys/devices/w1 bus master&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The sub-directory format is &amp;lt;2 digit family ID&amp;gt;-&amp;lt;12 digit unique ID&amp;gt;.&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# ls -la /sys/devices/w1\ bus\ master/&lt;br /&gt;
total 0&lt;br /&gt;
drwxr-xr-x    4 root     root             0 Jan  1 01:06 .&lt;br /&gt;
drwxr-xr-x    6 root     root             0 Jan  1 01:05 ..&lt;br /&gt;
drwxr-xr-x    3 root     root             0 Jan  1 01:06 28-000001e68904&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 driver -&amp;gt; ../../bus/w1/drivers/w1_master_driver&lt;br /&gt;
drwxr-xr-x    2 root     root             0 Jan  1 01:07 power&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 subsystem -&amp;gt; ../../bus/w1&lt;br /&gt;
-rw-r--r--    1 root     root          4096 Jan  1 01:07 uevent&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_add&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_attempts&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_max_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_name&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_pointer&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_pullup&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_remove&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_search&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slaves&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can list the detected slaves from this files:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slave_count&lt;br /&gt;
1&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slaves&lt;br /&gt;
28-000001e68904&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let's read the temperature:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/28-000001e68904/w1_slave&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e : crc=1e YES&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e t=29812&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The t=29812 means, the temperature is: 29.812°C&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11806</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11806"/>
				<updated>2013-05-09T19:09:23Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: Adding OneWire Informations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
=== Skills ===&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
=== My ArmadeuS plans (APF28 based) ===&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
=== Currently I working on: ===&lt;br /&gt;
* RS485 support for driver: mxs-auart.c (APF28 2.6.35.3+ kernel)&lt;br /&gt;
* Next will be: Integrate and test the Linux kernel's one wire (w1) driver with APF28.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Linux stty ===&lt;br /&gt;
* Setup APF28 serial port for RS485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS485 parameters. (If the port device supports the RS485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used. (Only used by atmel_serial.c and crisv10.c drivers)&lt;br /&gt;
* If the RS485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== C code ===&lt;br /&gt;
* The RS485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* The RS485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS485 bus lockups.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OneWire ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28DEV OneWire patches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Software installation ===&lt;br /&gt;
* Recompile your Linux kernel with OneWire GPIO bus master (and some slave device) support:&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make linux-menuconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;config&amp;quot;&amp;gt;&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; Dallas's 1-wire support  ---&amp;gt;&lt;br /&gt;
        1-wire Bus Masters  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; GPIO 1-wire busmaster&lt;br /&gt;
        1-wire Slaves  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Thermal family implementation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;host&amp;quot;&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Reflash your Linux kernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* Connect the OneWire slave directly to the APF28_DEV board J9 connector:&lt;br /&gt;
  * Vcc 3.3V is pin 1 on J9 connector&lt;br /&gt;
  * DQ is pin 31 on J9 (LCD_D18 / GPIO 1_18)&lt;br /&gt;
  * GND is pin 39 on J9&lt;br /&gt;
* Add an 1.2k pullup resistor between Vcc and DQ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== How it works ===&lt;br /&gt;
The OneWire bus master driver every 10 seconds scan the bus for new slave devices.&lt;br /&gt;
&lt;br /&gt;
Each detected OneWire slave device have a sub-directory with it's unique ID in &amp;quot;/sys/devices/w1 bus master&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The sub-directory format is &amp;lt;2 digit family ID&amp;gt;-&amp;lt;12 digit unique ID&amp;gt;.&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# ls -la /sys/devices/w1\ bus\ master/&lt;br /&gt;
total 0&lt;br /&gt;
drwxr-xr-x    4 root     root             0 Jan  1 01:06 .&lt;br /&gt;
drwxr-xr-x    6 root     root             0 Jan  1 01:05 ..&lt;br /&gt;
drwxr-xr-x    3 root     root             0 Jan  1 01:06 28-000001e68904&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 driver -&amp;gt; ../../bus/w1/drivers/w1_master_driver&lt;br /&gt;
drwxr-xr-x    2 root     root             0 Jan  1 01:07 power&lt;br /&gt;
lrwxrwxrwx    1 root     root             0 Jan  1 01:07 subsystem -&amp;gt; ../../bus/w1&lt;br /&gt;
-rw-r--r--    1 root     root          4096 Jan  1 01:07 uevent&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_add&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_attempts&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_max_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_name&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_pointer&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_pullup&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_remove&lt;br /&gt;
-rw-rw-rw-    1 root     root          4096 Jan  1 01:07 w1_master_search&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slave_count&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_slaves&lt;br /&gt;
-r--r--r--    1 root     root          4096 Jan  1 01:07 w1_master_timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can list the detected slaves from this files:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slave_count&lt;br /&gt;
1&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/w1_master_slaves&lt;br /&gt;
28-000001e68904&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Let's read the temperature:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# cat /sys/devices/w1\ bus\ master/28-000001e68904/w1_slave&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e : crc=1e YES&lt;br /&gt;
dd 01 4b 46 7f ff 03 10 1e t=29812&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The t=29812 means, the temperature is: 29.812°C&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11805</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11805"/>
				<updated>2013-05-06T21:55:37Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
=== Skills ===&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
=== My ArmadeuS plans (APF28 based) ===&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
=== Currently I working on: ===&lt;br /&gt;
* RS485 support for driver: mxs-auart.c (APF28 2.6.35.3+ kernel)&lt;br /&gt;
* Next will be: Integrate and test the Linux kernel's one wire (w1) driver with APF28.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches.&lt;br /&gt;
&lt;br /&gt;
=== Linux stty ===&lt;br /&gt;
* Setup APF28 serial port for RS485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS485 parameters. (If the port device supports the RS485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used. (Only used by atmel_serial.c and crisv10.c drivers)&lt;br /&gt;
* If the RS485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
=== C code ===&lt;br /&gt;
* The RS485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* The RS485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS485 bus lockups.&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11804</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11804"/>
				<updated>2013-05-06T21:50:19Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About Me ==&lt;br /&gt;
I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
=== Skills ===&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
=== My ArmadeuS plans (APF28 based) ===&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
=== Currently I working on: ===&lt;br /&gt;
* RS485 support for driver: mxs-auart.c (APF28 2.6.35.3+ kernel)&lt;br /&gt;
* Next will be: Integrate and test the Linux kernel's one wire (w1) driver with APF28.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches.&lt;br /&gt;
&lt;br /&gt;
=== Linux stty ===&lt;br /&gt;
* Setup APF28 serial port for RS485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS485 parameters. (If the port device supports the RS485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used.&lt;br /&gt;
* If the RS485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
=== C code ===&lt;br /&gt;
* The RS485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* The RS485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS485 bus lockups.&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11803</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11803"/>
				<updated>2013-05-06T21:46:08Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
== Skills ==&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
== My ArmadeuS plans (APF28 based) ==&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
Informations and mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches.&lt;br /&gt;
&lt;br /&gt;
=== Linux stty ===&lt;br /&gt;
* Setup APF28 serial port for RS485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS485 parameters. (If the port device supports the RS485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes for the APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used.&lt;br /&gt;
* If the RS485 mode is turned on, it will override (turn off) the RTS/CTS hardware flow settings of the uart, don't care what is configured.&lt;br /&gt;
&lt;br /&gt;
=== C code ===&lt;br /&gt;
* The RS485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hardware Notes ===&lt;br /&gt;
* The RS485 Transmit Enable (TXEN) output will be the RTS pin of the uart. &lt;br /&gt;
* The TXEN/RTS output is _active low_, it must be inverted to use it with the popular RS485 transceiver ICs.&lt;br /&gt;
* When the u-boot runs and the board start to boot, the RTS pin works as input, please add a pullup resistor to this pin before the inverter, to prevent RS485 bus lockups.&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11802</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11802"/>
				<updated>2013-05-06T21:26:59Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
== Skills ==&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
== My ArmadeuS plans (APF28 based) ==&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
Mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches.&lt;br /&gt;
&lt;br /&gt;
* Setup APF28 serial port for RS485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS485 parameters. (If the port device supports the RS485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes only for APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The RS485 mode can be turned on with ioctl calls from C code, here is the example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/ioctl.h&amp;gt;&lt;br /&gt;
#include &amp;lt;linux/serial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;asm-generic/ioctls.h&amp;gt; /* TIOCGRS485 + TIOCSRS485 ioctl definitions */&lt;br /&gt;
&lt;br /&gt;
int main(void) {&lt;br /&gt;
         struct serial_rs485 rs485conf;&lt;br /&gt;
&lt;br /&gt;
         int fd = open (&amp;quot;/dev/ttySP0&amp;quot;, O_RDWR);&lt;br /&gt;
         if (fd &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't open: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         /* Don't forget to read first the current state of the RS485 options with ioctl.&lt;br /&gt;
            If You don't do this, You will destroy the rs485conf.delay_rts_last_char_tx&lt;br /&gt;
            parameter which is automatically calculated by the driver when You opens the&lt;br /&gt;
            port device. */&lt;br /&gt;
         if (ioctl (fd, TIOCGRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCGRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         /* Enable RS485 mode: */&lt;br /&gt;
         rs485conf.flags |= SER_RS485_ENABLED;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay before send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_before_send = 0;&lt;br /&gt;
&lt;br /&gt;
         /* Set rts/txen delay after send, if needed: (in microseconds) */&lt;br /&gt;
         rs485conf.delay_rts_after_send = 0;&lt;br /&gt;
&lt;br /&gt;
         if (ioctl (fd, TIOCSRS485, &amp;amp;rs485conf) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: TIOCSRS485 ioctl not supported.\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         fcntl(fd, F_SETFL, 0);&lt;br /&gt;
         int n = write(fd, &amp;quot;ABC\r\n&amp;quot;, 5);&lt;br /&gt;
         if (n &amp;lt; 0) {&lt;br /&gt;
                 /* Error handling */&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
         if (close (fd) &amp;lt; 0) {&lt;br /&gt;
                 printf(&amp;quot;Error: Can't close: /dev/ttySP0\n&amp;quot;);&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11801</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11801"/>
				<updated>2013-05-06T21:04:30Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
== Skills ==&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
== My ArmadeuS plans (APF28 based) ==&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RS485 ==&lt;br /&gt;
Mini HOWTOs for my APF28/iMX28 mxs-auart and busybox stty patches.&lt;br /&gt;
&lt;br /&gt;
* Setup APF28 serial port for RS485 communication:&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 raw&lt;br /&gt;
# stty -F /dev/ttySP0 -echo -echoe -echok&lt;br /&gt;
# stty -F /dev/ttySP0 rs485&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set extra delays for TXEN/RTS signaling before and after the transmitted packet (in microseconds):&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delaybefore 100&lt;br /&gt;
# stty -F /dev/ttySP0 rs485delayafter 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get current RS485 parameters. (If the port device supports the RS485 options you will see the last two lines)&lt;br /&gt;
&amp;lt;pre class=apf&amp;gt;&lt;br /&gt;
# stty -F /dev/ttySP0&lt;br /&gt;
speed 9600 baud; line = 0;&lt;br /&gt;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = &amp;lt;undef&amp;gt;;&lt;br /&gt;
eol2 = &amp;lt;undef&amp;gt;; swtch = &amp;lt;undef&amp;gt;; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;&lt;br /&gt;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;&lt;br /&gt;
-brkint -imaxbel&lt;br /&gt;
rs485 -rs485rtsonsend -rs485rtsaftersend -rs485rxduringtx&lt;br /&gt;
rs485delaybefore = 100; rs485delayafter = 100; rs485delaylastchartx = 1250;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Please note:&lt;br /&gt;
* You can't set the &amp;quot;rs485delaylastchartx&amp;quot; parameter, it's calculated automatically from the baudrate.&lt;br /&gt;
Special notes only for APF28/iMX28 mxs-auart driver:&lt;br /&gt;
* All delays are in microseconds.&lt;br /&gt;
* The &amp;quot;rs485delaylastchartx&amp;quot; parameter is not used in DMA mode.&lt;br /&gt;
* The parameters: &amp;quot;rs485rtsonsend&amp;quot; &amp;quot;rs485rtsaftersend&amp;quot; &amp;quot;rs485rxduringtx&amp;quot; are not used.&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=Members&amp;diff=11795</id>
		<title>Members</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=Members&amp;diff=11795"/>
				<updated>2013-04-26T10:13:49Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: /* Google Map */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Google Map==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;googlemap lat=&amp;quot;47&amp;quot; lon=&amp;quot;6&amp;quot; width=640 height=480 zoom=4&amp;gt;&lt;br /&gt;
47.270377, 6.025314, [[User:JulienB]] Besancon&lt;br /&gt;
47.752598,7.301788, ARMadeus Systems&lt;br /&gt;
47.760791, 7.339897, [[User:Salocin68]] Mulhouse&lt;br /&gt;
47.734392,7.316975, [[User:FabienM]] Mulhouse&lt;br /&gt;
46.946161,7.517052, [[User:Jorasse]] Gümligen&lt;br /&gt;
47.681108, 7.390366, [[User:Carbure]] Helfranzkirch&lt;br /&gt;
47.436448, 8.429947, [[User:SonZerro]] Baden&lt;br /&gt;
44.653992, 6.176672, [[User:JulienN]] Chabottes&lt;br /&gt;
48.573342, 7.911476,  [[User:KroMignon]] Legelshurst&lt;br /&gt;
42.734405, 2.894211, ELIAUS Perpignan&lt;br /&gt;
47.653363, 6.862335, UTBM Belfort&lt;br /&gt;
45.689589, 5.026395, [[User:OlivierT]] St Bonnet de Mure&lt;br /&gt;
48.879619, 2.351074, Paris - 21 members&lt;br /&gt;
43.622159, 1.442642, Toulouse - 2 members&lt;br /&gt;
-21.115141, 55.536384, La Réunion - 1 member&lt;br /&gt;
14.551684, -60.912323, La Martinique - 1 member&lt;br /&gt;
48.682805, 2.169186, [[User:BrunoL]] Les Ulis&lt;br /&gt;
47.399744, 8.53775, Zurich - 1 member&lt;br /&gt;
46.810282, 7.151241, Fribourg&lt;br /&gt;
47.574904, 7.580566, Basel&lt;br /&gt;
48.839250, 2.392584, [[User:jmn12]] Paris  &lt;br /&gt;
60.187238, 24.819231, [[User:EemeliA]] Espoo&lt;br /&gt;
53.371859, -6.2677, Dublin - 1 member&lt;br /&gt;
50.637704, 5.608521, Liège - 1 member&lt;br /&gt;
50.67, 3.48, Velaines - 1 member&lt;br /&gt;
48.199964, 11.57959, Munich - 1 member&lt;br /&gt;
48.109588, -1.678752, Rennes - 1 member&lt;br /&gt;
47.750109, -3.366339, [[User:MatthieuT]] Lorient&lt;br /&gt;
48.70,2.03, [[User:JulienPeeters]] Chevreuse&lt;br /&gt;
45.190325, 5.700316, [[User:NicolasL]] Fontaine&lt;br /&gt;
49.279296, 2.472973 [[User:DavidC]] Nogent sur Oise&lt;br /&gt;
46.208644, 6.130027, [[User:EugeneR]] Genève&lt;br /&gt;
48.667158, 2.706585, [[User:BernardR]] Soignolles en Brie, France&lt;br /&gt;
45.188963, 5.709822, [[User:OlivierS]], [[User:HugoP|Hugo Petit]] - Grenoble, France&lt;br /&gt;
47.214613, -0.737329, [[User:BrunoS]] Chemillé, France&lt;br /&gt;
47.225164, -1.556625, [[User:KevinP]] Nantes, France&lt;br /&gt;
43.609234, 1.442642, [[User:PierreBa]] Toulouse, France&lt;br /&gt;
41.668809, -0.87616, [[User:AntonioMB]] Zaragoza, España&lt;br /&gt;
49.200145, 0.407136, [[User:JeanFrancoisR]] - Asnières&lt;br /&gt;
48.109588, -1.678752, [[User:MichelTe]] - Rennes&lt;br /&gt;
49.163073, 2.550201, [[User:JulienBa]] - Pontarmé&lt;br /&gt;
43.488299, 5.494709, [[User:FrankA]] - Meyreuil&lt;br /&gt;
43.622159, 1.442642, [[User:PierreAlexandreS]] - Toulouse, France&lt;br /&gt;
51.46513, -0.9692, [[User:AlexG]] - Reading, UK&lt;br /&gt;
43.312439, 10.517693, [[User:PaoloB]] - Cecina, Italy&lt;br /&gt;
52.63, 4.75, Alkmaar - 1 member&lt;br /&gt;
50.776093, 14.632759, [[User:PetrD]] - Cvikov, ČR&lt;br /&gt;
48.42097, -4.471693, [[User:OlivierR]] - Brest, France&lt;br /&gt;
48.575244, -4.563446, [[User:JeanChristopheL]] - Brest, France&lt;br /&gt;
49.417767, 2.826945, [[User:PhilippeL]] - Compiègne, France&lt;br /&gt;
48.806044, 2.347512, [[User:PierreDe]] - Arcueil, France&lt;br /&gt;
50.803050, 4.358533, [[User:SebastienVC]] - Bruxelles, Belgique&lt;br /&gt;
45.535213, -73.668823, [[User:PhilBB]] - Montreal, Canada&lt;br /&gt;
48.830759, 2.359204, [[User:Théo179]] - Arcueil, France&lt;br /&gt;
48.694563, 2.184605, [[User:IdrissB|Idriss]] - Courbevoie, France&lt;br /&gt;
41.563161, 2.020814, [[User:JaumeF|Jaume Figueras]] - Terrassa, Catalunya, Spain&lt;br /&gt;
35.415303,139.595332, [[User:HiroshiM]] - Yokohama, Japan&lt;br /&gt;
45.203191,5.716288, [[User:GaelV|Gaël Vanderbruggen]] - St Martin le Vinoux, France&lt;br /&gt;
48.700223, 2.22766, [[User:JeanMarcM| pieddemamouth/ Jean-Marc Montanier]] - Villebon-sur-Yvette, France&lt;br /&gt;
48.419351, -4.469765, [[User:MohamedS]] - Brest, FRANCE&lt;br /&gt;
47.319276, 0.285645, [[User:StephaneD]] - Joué les Tours, FRANCE&lt;br /&gt;
49.183274,-0.37096,[[User:ArnaudB]] - Caen, France&lt;br /&gt;
40.416691,-3.700345, [[User:AntonioD]] - Madrid, Spain&lt;br /&gt;
49.674442,-1.736793, [[User:FrancoisL]] - Urville-Nacqueville, France&lt;br /&gt;
-1.45502,-48.502368, [[User:MarcusF]] - Belém-PA, Brazil&lt;br /&gt;
47.219335,-1.555939, [[User:PhilippeLe]] - Nantes, France&lt;br /&gt;
49.652024,3.28098, [[User:JeremieG|Jeremie Girouard]] - Vouel&lt;br /&gt;
49.119666,6.176905, [[User:PierreB]] - Metz, France&lt;br /&gt;
38.895308,-77.036133, [[User:KennethM]] - Washington DC, United States&lt;br /&gt;
45.35510,6.30504, [[User:VincentC]] - Saint-Avre, France&lt;br /&gt;
47.0667,6.75,[[User:FlorianM]] - Le Locle, Suisse&lt;br /&gt;
50.063606,19.943039,[[User:VascoB]] - Kraków, Poland&lt;br /&gt;
39.656225,-8.575344,[[User:VascoB]] - Ourém, Portugal&lt;br /&gt;
47.49772,19.039993,[[User:JanosA]] - Budapest, Hungary&lt;br /&gt;
&amp;lt;/googlemap&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How to add your position===&lt;br /&gt;
* go to http://maps.google.com/&lt;br /&gt;
* type in the name of your town and launch &amp;quot;Search Google Maps&amp;quot;, for example:&lt;br /&gt;
[[Image:Google_maps_search.png]]&lt;br /&gt;
* right click on &amp;quot;Get URL of this page&amp;quot; and copy the URL&lt;br /&gt;
[[Image:Google_maps_url.png]]&lt;br /&gt;
* you should get something like that:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://maps.google.com/maps?f=q&amp;amp;hl=fr&amp;amp;geocode=&amp;amp;q=besan%C3%A7on&amp;amp;ie=UTF8&amp;amp;ll=47.257796,6.025314&amp;amp;spn=0.216236,0.601501&amp;amp;z=11&amp;amp;iwloc=addr&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* the data between ''&amp;amp;ll='' and ''&amp;amp;spn'' are the needed one (latitude/longitude)&lt;br /&gt;
* extract them and copy them in the &amp;quot;Edit&amp;quot; of this wiki page. Add it you wiki name and your town. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;googlemap lat=&amp;quot;47&amp;quot; lon=&amp;quot;6&amp;quot; width=640 height=480 zoom=4&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Others coordinates&lt;br /&gt;
...&lt;br /&gt;
47.257796, 6.025314, [[User:YourID|YourName]] - Your Town&lt;br /&gt;
&amp;lt;/googlemap&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Association]]&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=MemberList&amp;diff=11794</id>
		<title>MemberList</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=MemberList&amp;diff=11794"/>
				<updated>2013-04-26T10:10:46Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: /* Here is the list of the (active) members and their skills */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Here is the list of the (active) members and their skills==&lt;br /&gt;
&lt;br /&gt;
This list is maintained by the users themself.&lt;br /&gt;
&lt;br /&gt;
*0: Novice&lt;br /&gt;
*1: Notions. At least one successfull experiment&lt;br /&gt;
*2: Confirmed&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; summary=&amp;quot;Signal connections&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background:#efefef;&amp;quot;&lt;br /&gt;
! '''Name / IRC Nickname''' || '''Linux Apps'''|| '''Linux Drivers'''|| '''FPGA''' || '''Board Design''' || '''Projet/Domain'''&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:Salocin68|Nicolas Colombain / Salocin]] || 1 || 1 || 1 || 2 || domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienB|Julien Boibessot / Artemys]] || 2 || 2 || 0 || 1 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanBaptisteM|Jean-Baptiste Mayer / JiBee]] || 2 || 1 || 1 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:NicolasA|Nicolas Aguirre]] || 2 || 0 || 1 || 1 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BenoitC|Benoît Canet]] || 2 || 0 || 0 || 0 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SonZerro|Sonzerro]] || 0 || 0 || 1 || 2 || domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:HenriG|Henri Geist]] || 1 || 1 || 0 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BorredonB|Bernard Borredon]] || 2 || 1 || 0 || 1 || domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:ThomasB|Thomas Bores]] || 2 || 0 || 0 || 1 || Entertainment&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FabriceM|Fabrice Mousset / KroMignon]] || 1 || 1 || 2 || 1 || Domotics &amp;amp; multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:AmineH|Amine EL HEDADI]] || 2 || 2 || 0 || 0 || domotics &amp;amp; robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PhilippeM|Philippe Monteil]] || 2 || 0 || 0 || 0 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:CedricZ|Cédric Zmyj]] || 0 || 0 || 0 || 0 || domotics &amp;amp; robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanMichelN|Jean Michel Naimo / jeanmi12 ]] || 2 || 1 || 1 || 1 || Domotics &amp;amp; entertainment&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:OlivierC|Olivier Coutanceau]] || 1 || 0 || 0 || 0 || multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:ArnaudC|Arnaud COFFINET]] || 0 || 0 || 1 || 2 || multimedia &amp;amp; domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SylvainP|Sylvain PARRINO]] || 2 || 1 || 0 || 0 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:AurelienH|Aurélien HIRON]] || 2 || 0 || 0 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:GuillaumeT|Guillaume TRANNOY]] || 0 || 0 || 0 || 2 || domotics &amp;amp; robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienN|Julien NICOLAS / jujun]] || 2 || 1 || 0 || 1 || multimedia &amp;amp; network&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:StephaneF|Stéphane Falck]] || 0 || 0 || 0 || 0 || multimedia &amp;amp; robotics &amp;amp; domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:GillesD|Gilles DUSSIN/ Sellig]] || 1 || 0 || 1 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MaximeL|Maxime Liron]] || 0 || 0 || 0 || 0 || domotics, robotics &amp;amp; multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:NicolasC|Nicolas CHARLERY/ realniko]] || 2 || 0 || 0 || 0 || electronic&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BenoitJ|Benoit JESTER]] || 0 || 0 || 0 || 0 || robotics &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FabienM|Fabien MARTEAU/ FabM]] || 1 || 2 || 1 || 1 || robotics,domotics &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:XavierA|Xavier AZNAR]] || 1 || 1 || 0 || 0 || environment, entertainment, domotic &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:AlbericA|Albéric AUBLANC / PoueT]] || 2 || 0 || 1 || 0 || domotics &amp;amp; multimedia, robotics, entertainment, &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FredericB| Frédéric Blain / creber]] || 2 || 1 || 0 || 0 || system, domotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanBaptisteMa| Jean-Baptiste Maillet]] || 2 || 1 || 0 || 0 || system&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanFrancoisR| Jean-François Rousval]] || 2 || 1 || 0 || 1 || &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienPeeters| Julien Peeters]] || 2 || 1 || 0 || 0 || domotics, real-time, entertainment, network&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:YoannC| Yoann Congal / Alpheb]] || 0 || 0 || 0 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MatthieuT| Matthieu Texier / weeber]] || 1 || 0 || 1 || 0 || robotics, real-time&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MartialG| Martial Guex]] || 2 || 1 || 1 || 2 || transceiver RF, real-time, wireless&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:NicolasL| Nicolas Lantz]] || 2 || 2 || 1 || 1 ||&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:GuillaumeD| Guillaume DELVIT]] || 1 || 1 || 1 || 1 || system, asynchronous CPU&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BernardR|Bernard REMOND ]] || x || x || x || x || &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SamirH| Samir HAMNACHE]] || 0 || 0 || 0 || 1 || électronique&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:OlivierT|Olivier TARDIEU]] || 0 || 0 || 0 || 1 || électronique,robotics,domotics &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:ThibautR|Thibault Rétornaz]] || 1 || 1 || 1 || 0 || bio-med, électronique&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FrancoisM|Francois Minaud]] || 1 || 1 || 1 || 0 || domotics, real-time, network&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BrunoS|Bruno Suarez]] || 2 || 0 || 0 || 0 ||  électronique, Network&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:guillaumeDe|Guillaume Denis]] || 0 || 0 || 2 || 1 || Electronique numérique, FPGA&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:KevinP|Kévin PETIT]] || 1 || 0 || 1 || 1 || Multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PierreBa|Pierre Baudemont / b4ud3]] || 2 || 0 || 1 || 0 || domotics, robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:BrunoL|Bruno Landré]] || 0 || 0 || 0 || 0 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:AntonioMB|Antonio Meléndez]] || 0 || 0 || 1 || 2 || domotics, robotics, eletcronics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MichelTe|Michel Le Mer]] || 0 || 0 || 2 || 2 || electronics, software&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienBa|Julien Baley]] || 0 || 0 || 0 || 0 || &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FrankA|Frank ANJEAUX]] || 1 || 0 || 0 || 1 || software,robotics, domotics, electronics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienViaud|Julien viaud/polric]] || 2 || 0 || 1 || 1 || &lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:NicolasCa|Nicolas CARTIER]] || 1 || 1 || 0 || 2 || domotics &amp;amp; robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PierreAlexandreS|Pierre Alexandre SCHEMBRI]] || 2 || 1 || 2 || 2 || electronics, board design, embedded software, FPGA, robotics, low power&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:AlexG|Alex GONZALEZ]] || 2 || 2 || 0 || 1 || telecommunications, network &amp;amp; multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JulienL|Julien Lefrique / apapi]] || 1 || 0 || 1 || 1 ||&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PaoloB|Paolo Bernini / nihil84]] || 2 || 1 || 0 || 0 || robotics, real-time&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MichielE|Michiel Ettema]] || 0 || 0 || 0 || 1 || telecommunications, networking&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:NicolasD|Nicolas Duclos]] || 2 || 1 || 0 || 0 || telecommunications, domotics and funs&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SebastienP|Sebastien Philippe]] || 1 || 2 || 1 || 2 || electronics, board design, embedded linux&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PaulM|Paul MONSINJON]] || 1 || 1 || 2 || 1 || robotics, fpga, embedded linux&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:OlivierR|Olivier REYNET]] || 1 || 0 || 0 || 0 || robotics, linux, networking&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:HugoP|Hugo Petit]] || 0 || 0 || 1 || 2 || electronics, automotive, board design, embedded software&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PhilippeL|Philippe Leduc]] || 1 || 0 || 1 || 1 || robotics, real-time, embedded software, domotic&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PierreDe|Pierre Delarboulas]] || 1 || 1 || 0 || 0 || robotics, domotic&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:WilliamB|William Benharbone]] || 0 || 0 || 1 || 1 || electronics, board design and funs&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanJacquesP|JeanJacques Pitrolle]] || 2 || 1 || 0 || 0 || embedded software, robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SebastienVC|Sébastien Van Cauwenberghe]] || 2 || 2 || 2 || 0 || Power Electronics, Embedded Systems, FPGA's&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PhilBB|Phil Bergeron-Burns]] || 0 || 0 || 2 || 0 || bio-medical&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JaumeF|Jaume Figueras i Jové]] || 0 || 0 || 2 || 0 || academic, mapping&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:MathieuB|Mathieu Boucher]] || 1 || 2 || 1 || 0 ||&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:SamuelM|Samuel Martin / smartin]] || 2 || 0 || 1 || 1 || embedded systems, real-time, robotics, multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:GaelV|Gaël Vanderbruggen]] || 1 || 0 || 0 || 0 || bio-medical, robotics, multimedia&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeanMarcM| pieddemamouth/Jean-Marc Montanier]] || 1 || 0 || 0 || 1 || robotics&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:ChaoyiH| Chaoyi HU]] || 1 || 0 || 0 || 2 || entertainement, telecommunications, electronic&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:FrancoisG| Francois Goudal / Fanfwe]] || 2 || 2 || 1 || 1 || robotics, telecommunications&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:PhilippeLe| Philippe Le Rhun]] || 1 || 0 || 0 || 2 || entertainement, robotics, domotic&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:JeremieG| Jeremie Girouard]] || 0 || 0 || 0 || 0 || expérimentations,learning, Embedded Systems&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:RafalK| Rafal Kapela]] || 2 || 0 || 2 || 0 || Multimedia, real-time video content processing&lt;br /&gt;
|----------------&lt;br /&gt;
|[[User:XavierB| Xavier Bruhière]] || 1 || 1 || 1 || 1 || Robotics, domotic, learning&lt;br /&gt;
|----------------&lt;br /&gt;
||[[User:HerveDa| Dang Hervé]] || 0 || 0 || 0 || 0 || Robotics, aeronautics...&lt;br /&gt;
|----------------&lt;br /&gt;
||[[User:SergioB| Sergio Borghese]] || 2 || 1 || 0 || 0 || Networking, cryptography, embedded&lt;br /&gt;
|----------------&lt;br /&gt;
||[[User:KennethM| Ken Cracraft]] || 2 || 1 || 2 || 0 || embedded systems, FPGA, telecommunications, linux, networking&lt;br /&gt;
|----------------&lt;br /&gt;
||[[User:DimitriL| Dimitri Labouesse]] || 0 || 0 || 0 || 0 || domotics&lt;br /&gt;
|----------------&lt;br /&gt;
||[[User:VincentC| Vincent Cagnard]] || 2 || 1 || 0 || 1 || robotics, multimedia, aeronautics&lt;br /&gt;
|----------------&lt;br /&gt;
||[[User:SouleB| Soule Ba]] || 2 || 0 || 1 || 0|| &lt;br /&gt;
|----------------&lt;br /&gt;
||[[User:VascoB| Vasco Baptista]] || 0 || 1 || 0 || 2 || domotics, electronics, IEEE802.15.4, PCB design&lt;br /&gt;
|----------------&lt;br /&gt;
||[[User:JanosA| Janos Angeli]] || 1 || 1 || 0 || 1 || home automation, serial communications, networking&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [[Members | Geographical position of the members]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Association]]&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11656</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11656"/>
				<updated>2013-02-25T19:06:33Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: /* Skills */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
== Skills ==&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP, Javascript, Html programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
== My ArmadeuS plans (APF28 based) ==&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	<entry>
		<id>http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11655</id>
		<title>User:JanosA</title>
		<link rel="alternate" type="text/html" href="http://armadeus.org/wiki/index.php?title=User:JanosA&amp;diff=11655"/>
				<updated>2013-02-25T19:04:26Z</updated>
		
		<summary type="html">&lt;p&gt;JanosA: New page: I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.  My hobby is programming embedded systems and creating my own small electronic b...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am IP Network and Datacenter engineer, currently I'm working for an Internet Service Provider in Hungary.&lt;br /&gt;
&lt;br /&gt;
My hobby is programming embedded systems and creating my own small electronic boards.&lt;br /&gt;
&lt;br /&gt;
== Skills ==&lt;br /&gt;
* Assembly programming: PIC 8bit family&lt;br /&gt;
* C programming: PIC 8bit / PIC32MX family, Linux&lt;br /&gt;
* Perl, PHP programming with MySQL&lt;br /&gt;
* Linux system administration&lt;br /&gt;
* RS-232/485 serial communications: Ascii, Modbus, Saia Sbus, etc.&lt;br /&gt;
* IP networking&lt;br /&gt;
&lt;br /&gt;
== My ArmadeuS plans (APF28 based) ==&lt;br /&gt;
* Creating an universal home automation hardware for my friends, with easy programming in perl or PHP. :)&lt;br /&gt;
* Datacenter temperature monitoring, with RS-485 and OneWire communications.&lt;br /&gt;
* Data logger for Saia Sbus based intelligent power meters.&lt;/div&gt;</summary>
		<author><name>JanosA</name></author>	</entry>

	</feed>