<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.iotmaxx.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bernhard+Bleitner</id>
	<title>WIKI IoTmaxx GmbH - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.iotmaxx.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bernhard+Bleitner"/>
	<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Spezial:Beitr%C3%A4ge/Bernhard_Bleitner"/>
	<updated>2026-09-04T15:54:24Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1917</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1917"/>
		<updated>2021-06-04T11:37:03Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Serial interfaces and busses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPIN2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:MultiPurposeGPIO.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:ADC_internal.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1916</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1916"/>
		<updated>2021-06-04T11:36:45Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Serial interfaces and busses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPIN2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:MultiPurposeGPIO.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:ADC_internal.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1915</id>
		<title>Maxx GW4102</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1915"/>
		<updated>2021-06-04T11:34:57Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital and analog I/Os (new libgpiod mapping) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4102 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
The PLC I/O interface expansion enhances the basic unit with 16 isolated digital inputs and four isolated digital outputs.  The inputs are divided into four groups of four inputs with a common negative terminal for each group.&lt;br /&gt;
&lt;br /&gt;
This constellation allows the connection of up to four devices (e.g. PLCs) with minimal wiring effort while keeping each device isolated from each other.&lt;br /&gt;
&lt;br /&gt;
The maxx GW4102 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4102 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4102.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated outputs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[ #isolated outputs ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_A2&lt;br /&gt;
| 2A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 3&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_OUT_A4&lt;br /&gt;
| 4A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 4&lt;br /&gt;
|-&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_B3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_OUT_B4&lt;br /&gt;
| 4B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group A==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group A&lt;br /&gt;
| IN A1&lt;br /&gt;
| A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_A_P2&lt;br /&gt;
| A2&lt;br /&gt;
| IN A2&lt;br /&gt;
|-&lt;br /&gt;
| IN A3&lt;br /&gt;
| A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_A_P4&lt;br /&gt;
| A4&lt;br /&gt;
| IN A4&lt;br /&gt;
|-&lt;br /&gt;
| GND B&lt;br /&gt;
| B-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_A_N&lt;br /&gt;
| A-&lt;br /&gt;
| GND A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group B==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group B&lt;br /&gt;
| IN B1&lt;br /&gt;
| B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_B_P2&lt;br /&gt;
| B2&lt;br /&gt;
| IN B2&lt;br /&gt;
|-&lt;br /&gt;
| IN B3&lt;br /&gt;
| B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_B_P4&lt;br /&gt;
| B4&lt;br /&gt;
| IN B4&lt;br /&gt;
|-&lt;br /&gt;
| GND C&lt;br /&gt;
| C-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_B_N&lt;br /&gt;
| B-&lt;br /&gt;
| GND B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group C==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group C&lt;br /&gt;
| IN C1&lt;br /&gt;
| C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_C_P2&lt;br /&gt;
| C2&lt;br /&gt;
| IN C2&lt;br /&gt;
|-&lt;br /&gt;
| IN C3&lt;br /&gt;
| C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_C_P4&lt;br /&gt;
| C4&lt;br /&gt;
| IN C4&lt;br /&gt;
|-&lt;br /&gt;
| GND D&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_C_N&lt;br /&gt;
| C-&lt;br /&gt;
| GND C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group D&lt;br /&gt;
| IN D1&lt;br /&gt;
| D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_D_P2&lt;br /&gt;
| D2&lt;br /&gt;
| IN D2&lt;br /&gt;
|-&lt;br /&gt;
| IN D3&lt;br /&gt;
| D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_D_P4&lt;br /&gt;
| D4&lt;br /&gt;
| IN D4&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_D_N&lt;br /&gt;
| D-&lt;br /&gt;
| GND D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==isolated inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 2.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cascading inputs===&lt;br /&gt;
&lt;br /&gt;
Each group of four inputs features a common negative terminal to reduce wiring effort. Furthermore the groups can be cascaded as shown in the following diagrams. Other configurations following the same method are possible.&lt;br /&gt;
&lt;br /&gt;
====4x4 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 3.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x8 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 4.png ]]&lt;br /&gt;
&lt;br /&gt;
====1x16 configuration====&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 5.png ]]&lt;br /&gt;
&lt;br /&gt;
==isolated outputs==&lt;br /&gt;
&lt;br /&gt;
The device contains two Panasonic AQW282 solid state relais to realize four independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 6.png ]]&lt;br /&gt;
&lt;br /&gt;
===Cascading outputs===&lt;br /&gt;
====4x1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 7.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x2 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 8.png ]]&lt;br /&gt;
&lt;br /&gt;
====3+1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 9.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio198&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio67&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio65&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio66&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio182&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio180&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio179&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio181&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 15&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 18&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN-C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 3&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 22&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs &lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 20&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 19&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 21&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1914</id>
		<title>Maxx GW4102</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1914"/>
		<updated>2021-06-04T11:34:46Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital and analog I/Os (deprecated sysfs mapping) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4102 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
The PLC I/O interface expansion enhances the basic unit with 16 isolated digital inputs and four isolated digital outputs.  The inputs are divided into four groups of four inputs with a common negative terminal for each group.&lt;br /&gt;
&lt;br /&gt;
This constellation allows the connection of up to four devices (e.g. PLCs) with minimal wiring effort while keeping each device isolated from each other.&lt;br /&gt;
&lt;br /&gt;
The maxx GW4102 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4102 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4102.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated outputs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[ #isolated outputs ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_A2&lt;br /&gt;
| 2A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 3&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_OUT_A4&lt;br /&gt;
| 4A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 4&lt;br /&gt;
|-&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_B3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_OUT_B4&lt;br /&gt;
| 4B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group A==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group A&lt;br /&gt;
| IN A1&lt;br /&gt;
| A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_A_P2&lt;br /&gt;
| A2&lt;br /&gt;
| IN A2&lt;br /&gt;
|-&lt;br /&gt;
| IN A3&lt;br /&gt;
| A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_A_P4&lt;br /&gt;
| A4&lt;br /&gt;
| IN A4&lt;br /&gt;
|-&lt;br /&gt;
| GND B&lt;br /&gt;
| B-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_A_N&lt;br /&gt;
| A-&lt;br /&gt;
| GND A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group B==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group B&lt;br /&gt;
| IN B1&lt;br /&gt;
| B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_B_P2&lt;br /&gt;
| B2&lt;br /&gt;
| IN B2&lt;br /&gt;
|-&lt;br /&gt;
| IN B3&lt;br /&gt;
| B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_B_P4&lt;br /&gt;
| B4&lt;br /&gt;
| IN B4&lt;br /&gt;
|-&lt;br /&gt;
| GND C&lt;br /&gt;
| C-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_B_N&lt;br /&gt;
| B-&lt;br /&gt;
| GND B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group C==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group C&lt;br /&gt;
| IN C1&lt;br /&gt;
| C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_C_P2&lt;br /&gt;
| C2&lt;br /&gt;
| IN C2&lt;br /&gt;
|-&lt;br /&gt;
| IN C3&lt;br /&gt;
| C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_C_P4&lt;br /&gt;
| C4&lt;br /&gt;
| IN C4&lt;br /&gt;
|-&lt;br /&gt;
| GND D&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_C_N&lt;br /&gt;
| C-&lt;br /&gt;
| GND C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group D&lt;br /&gt;
| IN D1&lt;br /&gt;
| D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_D_P2&lt;br /&gt;
| D2&lt;br /&gt;
| IN D2&lt;br /&gt;
|-&lt;br /&gt;
| IN D3&lt;br /&gt;
| D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_D_P4&lt;br /&gt;
| D4&lt;br /&gt;
| IN D4&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_D_N&lt;br /&gt;
| D-&lt;br /&gt;
| GND D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==isolated inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 2.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cascading inputs===&lt;br /&gt;
&lt;br /&gt;
Each group of four inputs features a common negative terminal to reduce wiring effort. Furthermore the groups can be cascaded as shown in the following diagrams. Other configurations following the same method are possible.&lt;br /&gt;
&lt;br /&gt;
====4x4 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 3.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x8 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 4.png ]]&lt;br /&gt;
&lt;br /&gt;
====1x16 configuration====&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 5.png ]]&lt;br /&gt;
&lt;br /&gt;
==isolated outputs==&lt;br /&gt;
&lt;br /&gt;
The device contains two Panasonic AQW282 solid state relais to realize four independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 6.png ]]&lt;br /&gt;
&lt;br /&gt;
===Cascading outputs===&lt;br /&gt;
====4x1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 7.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x2 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 8.png ]]&lt;br /&gt;
&lt;br /&gt;
====3+1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 9.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio198&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio67&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio65&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio66&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio182&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio180&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio179&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio181&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 15&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 18&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN-C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 3&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 22&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs &lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 20&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 19&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 21&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1913</id>
		<title>Maxx GW4102</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1913"/>
		<updated>2021-06-04T11:34:33Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital and analog I/Os (deprecated sysfs mapping) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4102 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
The PLC I/O interface expansion enhances the basic unit with 16 isolated digital inputs and four isolated digital outputs.  The inputs are divided into four groups of four inputs with a common negative terminal for each group.&lt;br /&gt;
&lt;br /&gt;
This constellation allows the connection of up to four devices (e.g. PLCs) with minimal wiring effort while keeping each device isolated from each other.&lt;br /&gt;
&lt;br /&gt;
The maxx GW4102 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4102 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4102.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated outputs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[ #isolated outputs ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_A2&lt;br /&gt;
| 2A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 3&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_OUT_A4&lt;br /&gt;
| 4A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 4&lt;br /&gt;
|-&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_B3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_OUT_B4&lt;br /&gt;
| 4B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group A==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group A&lt;br /&gt;
| IN A1&lt;br /&gt;
| A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_A_P2&lt;br /&gt;
| A2&lt;br /&gt;
| IN A2&lt;br /&gt;
|-&lt;br /&gt;
| IN A3&lt;br /&gt;
| A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_A_P4&lt;br /&gt;
| A4&lt;br /&gt;
| IN A4&lt;br /&gt;
|-&lt;br /&gt;
| GND B&lt;br /&gt;
| B-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_A_N&lt;br /&gt;
| A-&lt;br /&gt;
| GND A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group B==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group B&lt;br /&gt;
| IN B1&lt;br /&gt;
| B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_B_P2&lt;br /&gt;
| B2&lt;br /&gt;
| IN B2&lt;br /&gt;
|-&lt;br /&gt;
| IN B3&lt;br /&gt;
| B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_B_P4&lt;br /&gt;
| B4&lt;br /&gt;
| IN B4&lt;br /&gt;
|-&lt;br /&gt;
| GND C&lt;br /&gt;
| C-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_B_N&lt;br /&gt;
| B-&lt;br /&gt;
| GND B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group C==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group C&lt;br /&gt;
| IN C1&lt;br /&gt;
| C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_C_P2&lt;br /&gt;
| C2&lt;br /&gt;
| IN C2&lt;br /&gt;
|-&lt;br /&gt;
| IN C3&lt;br /&gt;
| C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_C_P4&lt;br /&gt;
| C4&lt;br /&gt;
| IN C4&lt;br /&gt;
|-&lt;br /&gt;
| GND D&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_C_N&lt;br /&gt;
| C-&lt;br /&gt;
| GND C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group D&lt;br /&gt;
| IN D1&lt;br /&gt;
| D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_D_P2&lt;br /&gt;
| D2&lt;br /&gt;
| IN D2&lt;br /&gt;
|-&lt;br /&gt;
| IN D3&lt;br /&gt;
| D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_D_P4&lt;br /&gt;
| D4&lt;br /&gt;
| IN D4&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_D_N&lt;br /&gt;
| D-&lt;br /&gt;
| GND D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==isolated inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 2.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cascading inputs===&lt;br /&gt;
&lt;br /&gt;
Each group of four inputs features a common negative terminal to reduce wiring effort. Furthermore the groups can be cascaded as shown in the following diagrams. Other configurations following the same method are possible.&lt;br /&gt;
&lt;br /&gt;
====4x4 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 3.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x8 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 4.png ]]&lt;br /&gt;
&lt;br /&gt;
====1x16 configuration====&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 5.png ]]&lt;br /&gt;
&lt;br /&gt;
==isolated outputs==&lt;br /&gt;
&lt;br /&gt;
The device contains two Panasonic AQW282 solid state relais to realize four independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 6.png ]]&lt;br /&gt;
&lt;br /&gt;
===Cascading outputs===&lt;br /&gt;
====4x1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 7.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x2 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 8.png ]]&lt;br /&gt;
&lt;br /&gt;
====3+1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 9.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio198&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio67&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio65&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio66&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio182&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio180&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio179&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio181&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 15&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 18&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN-C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 3&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 22&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs &lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 20&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 19&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 21&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1912</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1912"/>
		<updated>2021-06-04T11:32:20Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital and analog I/Os (deprecated sysfs mapping) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPIN2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:MultiPurposeGPIO.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:ADC_internal.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1911</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1911"/>
		<updated>2021-06-04T11:31:49Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital and analog I/Os (new libgpiod mapping) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPIN2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:MultiPurposeGPIO.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:ADC_internal.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1910</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1910"/>
		<updated>2021-06-04T11:30:25Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Multi-purpose I/O */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPIN2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:MultiPurposeGPIO.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:ADC_internal.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Datei:MultiPurposeGPIO.png&amp;diff=1909</id>
		<title>Datei:MultiPurposeGPIO.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Datei:MultiPurposeGPIO.png&amp;diff=1909"/>
		<updated>2021-06-04T11:29:52Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1908</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1908"/>
		<updated>2021-06-04T10:50:51Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* On board ADCs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPIN2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:multi-purpose.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:ADC_internal.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Datei:ADC_internal.png&amp;diff=1907</id>
		<title>Datei:ADC internal.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Datei:ADC_internal.png&amp;diff=1907"/>
		<updated>2021-06-04T10:48:37Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1906</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1906"/>
		<updated>2021-06-04T10:43:35Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital and analog I/Os (new libgpiod mapping) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPIN2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:multi-purpose.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1905</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1905"/>
		<updated>2021-06-04T10:43:16Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Linux mapping */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPIN2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:multi-purpose.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1904</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1904"/>
		<updated>2021-06-04T10:42:08Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPIN2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:multi-purpose.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1903</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1903"/>
		<updated>2021-06-04T10:41:39Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout Digital IN/OUT connector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPIN2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:multi-purpose.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1902</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1902"/>
		<updated>2021-06-04T10:40:42Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPI1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPI2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPI3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPI4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:multi-purpose.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1901</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1901"/>
		<updated>2021-06-04T10:21:47Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout Digital IN/OUT connector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPI1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPI2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPI3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPI4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:multi-purpose.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1900</id>
		<title>Maxx GW4100</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4100&amp;diff=1900"/>
		<updated>2021-06-04T10:21:39Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout RS232, RS485, CAN-Bus, 1-Wire connector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
=The Device=&lt;br /&gt;
==Linux login==&lt;br /&gt;
&lt;br /&gt;
Per default login to the Linux system is possible by the use of a ssh connection on eth0 or via the serial console on the RS232 interface (115.200 baud, 8N1).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;login:&#039;&#039;&#039; root&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;password:&#039;&#039;&#039; iotmaxx&lt;br /&gt;
&lt;br /&gt;
Please be advised to at least change the password and deactivate the serial console before deploying the device. The use of further security measures (PSK etc.) is strongly encouraged.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4100 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4100.jpg| 400px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS232, RS485, CAN-Bus, 1-Wire connector==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #1-wire ]]&lt;br /&gt;
| 1-Wire&lt;br /&gt;
| 1w&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Data&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| +5V&lt;br /&gt;
| 5V&lt;br /&gt;
| Power 1-Wire&lt;br /&gt;
|-&lt;br /&gt;
| [[ #CAN ]]&lt;br /&gt;
| CAN high &lt;br /&gt;
| CH&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | High&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| Low&lt;br /&gt;
| CL&lt;br /&gt;
| CAN Low&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| [[ #RS485 ]]&lt;br /&gt;
| RS485&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| D-&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| D+&lt;br /&gt;
| D+&lt;br /&gt;
| RS485&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #RS232 ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
| TXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| TXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| CTS&lt;br /&gt;
| CTS&lt;br /&gt;
|  rowspan=&amp;quot;2&amp;quot; | RS232&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RXD&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| RTS&lt;br /&gt;
| RTS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT connector==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| [[ #Multi-purpose I/O ]]&lt;br /&gt;
| Multi-purpose I/O 1&lt;br /&gt;
| G1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIO1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GPIO2&lt;br /&gt;
| G2&lt;br /&gt;
| Multi-purpose I/O 2&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[ #Digital inputs ]]&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| l1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPI1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| GPI2&lt;br /&gt;
| l2&lt;br /&gt;
| Digital Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| l3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GPI3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GPI4&lt;br /&gt;
| I4&lt;br /&gt;
| Digital Input 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Power==&lt;br /&gt;
&lt;br /&gt;
The device requires an external ES1/PS2 DC power supply 8-30V, 25W.&lt;br /&gt;
&lt;br /&gt;
==Ethernet==&lt;br /&gt;
&lt;br /&gt;
10/100MBit ethernet interface, per default configured as DHCP server with IP address 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
==USB==&lt;br /&gt;
&lt;br /&gt;
USB 2.0 host interface for connection of external USB devices. Please note that an appropriate Linux driver ist required for many devices.&lt;br /&gt;
&lt;br /&gt;
==SD card==&lt;br /&gt;
&lt;br /&gt;
Micro SD card interface for adding additional non-volatile memory to the system. Please use a SD card to store rapidly changing data (e.g. databases etc.) as the internal flash memory allows limited write cycles before potential memory corruption may occur.&lt;br /&gt;
&lt;br /&gt;
==CAN==&lt;br /&gt;
&lt;br /&gt;
The interface according to the CAN 2.0B protocol specification is relaized using the i.MX7D’s flexcan interface and a NXP TJA1051 transceiver. It features a switchable 120R termination resistor.&lt;br /&gt;
&lt;br /&gt;
On the Linux side a SocketCAN interface (can0) with a default bitrate of 250.000 bit/s is provided.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is activated by driving CAN_TERM_EN_n low. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
A non-isolated RS485 interface is available as /dev/ttymxc3. The interface does not include a termination resistor.&lt;br /&gt;
&lt;br /&gt;
==RS232==&lt;br /&gt;
&lt;br /&gt;
A 4-wire RS232 interface is available as /dev/ttymxc2. In default configuration this interface will provide a Linux serial console at 115200 baud (8N1).&lt;br /&gt;
&lt;br /&gt;
==1-wire==&lt;br /&gt;
&lt;br /&gt;
The GW4100 incorporates a DS2482 I2C to 1-wire bridge device from Maxim Integrated (https://www.maximintegrated.com/en/products/interface/controllers-expanders/DS2482-100.html#). The corresponding driver is integrated in the Linux mainline kernel and all 1-wire functions are exposed to the sysfs filesystem.&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/w1/w1-generic.html for a detailed description of the user space interface.&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of  push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
Please note that the input is inverted internally so that in case the input is either unconnected or connected to a voltage above the threshold will be read as logical 0 (low level), when connected to a voltage below the threshold (e.g. 0V) it will be read as logical 1 (high level)&lt;br /&gt;
&lt;br /&gt;
The GPIs are exposed to the sysfs filesystem on the linux side an can be automatically inverted again for user conveniance.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==Multi-purpose I/O==&lt;br /&gt;
&lt;br /&gt;
The device contains two multi-purpose GPIOs which can be configured as in- or output. When required an internal pullup resistor can be activated.&lt;br /&gt;
&lt;br /&gt;
Furthermore can the GPIO be used as an analog input as the input voltage is also connected to one of the internal 12-bit ADC channels (s. On board ADCs) . &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:multi-purpose.png ]]&lt;br /&gt;
&lt;br /&gt;
The GPIO is current limited (tbd mA) in the high- and lowside current paths so closing high- and lowside switches at the same time will not damage the device (neither will an external short-circuit condition), it is nevertheless not advised to do so and use break-before-make logic instead.&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example&lt;br /&gt;
&lt;br /&gt;
==GSM==&lt;br /&gt;
&lt;br /&gt;
TE connectivity with fallback to 3G and 2G is provided by an integrated Quectel EC21 module. On the Linux side the device is controlled by ModemManager (see https://core.docs.ubuntu.com/en/stacks/network/modem-manager/docs/).&lt;br /&gt;
&lt;br /&gt;
ModemManager uses /dev/ttyUSB3 for communication with the EC21, /dev/ttyUSB2 is available for AT command execution from user space.&lt;br /&gt;
&lt;br /&gt;
The status of the GSM module can additionally be monitored by the means of GSM_PWR_IND_n which will be driven low when the module is on.&lt;br /&gt;
&lt;br /&gt;
The GW4100 contains two SIM holders to allow the use of 2FF (Mini SIM) or 3FF (Micro SIM) cards. It is possible to populate both cards to allow e.g. the use of different networks. The active SIM card is selected by the following procedure.&lt;br /&gt;
&lt;br /&gt;
===SIM select procedure===&lt;br /&gt;
&lt;br /&gt;
First the EC21 has to be configured via AT commands to allow SIM hot-swapping:&lt;br /&gt;
&lt;br /&gt;
((ABB))&lt;br /&gt;
&lt;br /&gt;
Please note that a module restart by AT+CFUN is required, the setting will be persistent.&lt;br /&gt;
&lt;br /&gt;
Next the SIM has to be “logically removed” by setting SIM_EN low.&lt;br /&gt;
&lt;br /&gt;
Afterwards the active SIM can be selected by SIM_SEL (default high -&amp;gt; 2FF SIM)&lt;br /&gt;
&lt;br /&gt;
Then the SIM can be “logically inserted” again by driving SIM_EN high&lt;br /&gt;
&lt;br /&gt;
TODO: check if accessible old/new interface&lt;br /&gt;
&lt;br /&gt;
===Activating the data connection===&lt;br /&gt;
&lt;br /&gt;
The modem can then be used with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: dd1983f3c13bd25a19647d2fca076dad57ef5c57&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: Quectel&lt;br /&gt;
         |                model: EC21&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: ttyUSB2&lt;br /&gt;
         |                ports: ttyUSB0 (qcdm), ttyUSB2 (at), ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: +4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: disabled&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |       signal quality: 0% (cached)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: none&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After every reset the modem increases its number.&lt;br /&gt;
&lt;br /&gt;
To add a new connection issue:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ nmcli c add type gsm ifname &amp;quot;*&amp;quot; con-name telekom apn &amp;quot;internet.t-mobile&amp;quot;&lt;br /&gt;
Connection &#039;telekom&#039; (17bdada4-4361-4eca-8506-f6eab6b26a48) successfully added.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And then to enable the connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ nmcli c up telekom&lt;br /&gt;
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)&lt;br /&gt;
&lt;br /&gt;
root@Gateway:~ mmcli -m 0&lt;br /&gt;
--------------------------------&lt;br /&gt;
General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0&lt;br /&gt;
         |            device id: 794eb538900f787165b66d8af66496a4e7cd0c8b&lt;br /&gt;
--------------------------------&lt;br /&gt;
Hardware |         manufacturer: QUALCOMM INCORPORATED&lt;br /&gt;
         |                model: QUECTEL Mobile Broadband Module&lt;br /&gt;
         |    firmware revision: EC21EFAR06A02M4G&lt;br /&gt;
         |       carrier config: default&lt;br /&gt;
         |         h/w revision: 10000&lt;br /&gt;
         |            supported: gsm-umts, lte&lt;br /&gt;
         |              current: gsm-umts, lte&lt;br /&gt;
         |         equipment id: 867962042149685&lt;br /&gt;
--------------------------------&lt;br /&gt;
System   |               device: /sys/devices/platform/soc/30800000.bus/30b30000.usb/ci_hdrc.1/usb1/1-1/1-1.1&lt;br /&gt;
         |              drivers: qmi_wwan, option1&lt;br /&gt;
         |               plugin: Quectel&lt;br /&gt;
         |         primary port: cdc-wdm0&lt;br /&gt;
         |                ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net),&lt;br /&gt;
         |                       ttyUSB3 (at)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Numbers  |                  own: 4915140075573&lt;br /&gt;
--------------------------------&lt;br /&gt;
Status   |                 lock: sim-pin2&lt;br /&gt;
         |       unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10)&lt;br /&gt;
         |                state: connected&lt;br /&gt;
         |          power state: on&lt;br /&gt;
         |          access tech: gsm&lt;br /&gt;
         |       signal quality: 41% (recent)&lt;br /&gt;
--------------------------------&lt;br /&gt;
Modes    |            supported: allowed: 2g; preferred: none&lt;br /&gt;
         |                       allowed: 3g; preferred: none&lt;br /&gt;
         |                       allowed: 4g; preferred: none&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g; preferred: 2g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 4g; preferred: 2g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 3g&lt;br /&gt;
         |                       allowed: 2g, 3g, 4g; preferred: 2g&lt;br /&gt;
         |              current: allowed: 2g, 3g, 4g; preferred: 4g&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bands    |            supported: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
         |              current: egsm, dcs, utran-1, utran-5, utran-8, eutran-1, eutran-3,&lt;br /&gt;
         |                       eutran-5, eutran-7, eutran-8, eutran-20&lt;br /&gt;
--------------------------------&lt;br /&gt;
IP       |            supported: ipv4, ipv6, ipv4v6&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP     |                 imei: 867962042149685&lt;br /&gt;
         |          operator id: 26201&lt;br /&gt;
         |         registration: home&lt;br /&gt;
--------------------------------&lt;br /&gt;
3GPP EPS | ue mode of operation: csps-2&lt;br /&gt;
--------------------------------&lt;br /&gt;
SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0&lt;br /&gt;
--------------------------------&lt;br /&gt;
Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GNSS==&lt;br /&gt;
&lt;br /&gt;
For geo positioning  a GNSS receiver integrated in the Quectel EC21 module is available. NMEA data is output on /dev/ttyUSB1. The GNSS receiver is activated with the following AT command:&lt;br /&gt;
&lt;br /&gt;
AT+QGPS=1&lt;br /&gt;
&lt;br /&gt;
For a detailed description of the available configuration options please consult the EC21 documentation (https://www.quectel.com/product/ec21.htm).&lt;br /&gt;
&lt;br /&gt;
Active antenna supply is provided by regulator 9 of the Qorvo ACT8847 power management ic (PMIC). Following commands from user space are required to activate the supply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# regulator 3.0V&lt;br /&gt;
i2cset -y 2 0x5a 0x70 0x36 i&lt;br /&gt;
# regulator on&lt;br /&gt;
i2cset -y 2 0x5a 0x71 0x80 i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==User LEDs==&lt;br /&gt;
&lt;br /&gt;
The device contains two user controllable LEDs (e.g. status signal). These are exposed to the sysfs under /sys/class/leds/. See Linux mapping for details.&lt;br /&gt;
&lt;br /&gt;
please see https://www.kernel.org/doc/Documentation/leds/leds-class.txt for details.&lt;br /&gt;
&lt;br /&gt;
==User Button==&lt;br /&gt;
&lt;br /&gt;
There is a consealed button available for user defined functions (e.g. reset to factory default)&lt;br /&gt;
&lt;br /&gt;
TODO: add linux example, picture&lt;br /&gt;
&lt;br /&gt;
==On board ADCs==&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the usage of the eight 12-bit ADCs of the i.MX7D processor.&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board.png ]]&lt;br /&gt;
&lt;br /&gt;
ADC 0 provides access to the voltage levels of the two multi-purpose GPIOs and the supply voltage as well as a board temperature indicator while ADC 1 is used to monitor system health status.&lt;br /&gt;
&lt;br /&gt;
All ADC values are accessible from Linux user space via sysfs mapping (/sys/bus/iio/devices/).&lt;br /&gt;
&lt;br /&gt;
Example 1: reading the actual value of the 5V supply lane&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw&lt;br /&gt;
3789&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 3.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 2: reading the system supply voltage&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage2_raw&lt;br /&gt;
2145&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of voltage:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 5.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please note that measurement is taken behind the input diode and therefor the actual supply voltage is aprox. 0.5V higher (in this case the actual supply voltage is 24V)&lt;br /&gt;
&lt;br /&gt;
Example 3: reading the board temperature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ cat /sys/bus/iio/devices/iio:device0/in_voltage3_raw&lt;br /&gt;
2576&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calculation of NTC resistance:&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 7.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 8.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:on board 9.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consulting the resistance lookup table in the resistors (NCP15XV103J03RC) datasheet the board temperature is at about 37°C.&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio3&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio33&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio34&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio90&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RTC_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio61&lt;br /&gt;
| RTC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio91&lt;br /&gt;
| User switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio89&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio112&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio108&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio115&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| GPI1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 10&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPI2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPI3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| GPI4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 15&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;10&amp;quot; | Multi-purpose I/Os&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage0_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 0&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_IN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 9&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_ADC &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/iio/devices/iio:device0/in_voltage1_raw&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_HIGHSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 4&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_LOWSIDE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1_PULLUP&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip0&lt;br /&gt;
| line 8&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr1/&lt;br /&gt;
| &lt;br /&gt;
| LED B&lt;br /&gt;
|-&lt;br /&gt;
| LED_USR2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/leds/iotmaxx:green:usr2/&lt;br /&gt;
| &lt;br /&gt;
| LED A&lt;br /&gt;
|-&lt;br /&gt;
| PBSTAT_IRQ_n &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 1&lt;br /&gt;
| PMIC PBSTAT IRQ&lt;br /&gt;
|-&lt;br /&gt;
| 5V_PERIPH_EN &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 2&lt;br /&gt;
| N/A, always on&lt;br /&gt;
|-&lt;br /&gt;
| ACT8847_IRQ_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 26&lt;br /&gt;
| PMIC IRQ&lt;br /&gt;
|-&lt;br /&gt;
| RCT_INTA_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip1&lt;br /&gt;
| line 29&lt;br /&gt;
| RTC IRQ &lt;br /&gt;
|-&lt;br /&gt;
| USR_SWITCH_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 27&lt;br /&gt;
| USER switch&lt;br /&gt;
|-&lt;br /&gt;
| SIM_ENABLE&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 25&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | SIM select&lt;br /&gt;
|-&lt;br /&gt;
| SIM_SEL&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| CAN_TERM_EN_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 12&lt;br /&gt;
| CAN termination resistor&lt;br /&gt;
|-&lt;br /&gt;
| GSM_PWR_IND_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip3&lt;br /&gt;
| line 19&lt;br /&gt;
| GSM power indicator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: exporting and reading GPIN1 (high level applied to input pin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 11 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo 1 &amp;gt; /sys/class/gpio/gpio11/active_low&lt;br /&gt;
root@Gateway:~ cat /sys/class/gpio/gpio11/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: exporting and enabling GPIO1 pullup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ echo 8 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@Gateway:~ echo high &amp;gt; /sys/class/gpio/gpio8/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://www.kernel.org/doc/html/latest/admin-guide/gpio/sysfs.html for a detailed description of the sysfs gpio interface.&lt;br /&gt;
&lt;br /&gt;
==GPIO Linux user space examples (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
Example: reading GPIN1 (high level applied to input pin), no export required&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@Gateway:~ gpioget --active-low gpiochip0 11&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: enabling GPIO1 pullup, no export required&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gpioset gpiochip0 8=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/tree/README for a description of the libgpiod interface.&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| RS232&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc2&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | linux console&lt;br /&gt;
|-&lt;br /&gt;
| RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc3&lt;br /&gt;
|-&lt;br /&gt;
| 1-wire&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/bus/w1/&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | see kernel.org&lt;br /&gt;
|-&lt;br /&gt;
| CAN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | can0 network interface &lt;br /&gt;
|-&lt;br /&gt;
| Ethernet&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | eth network interface&lt;br /&gt;
|-&lt;br /&gt;
| USB&lt;br /&gt;
| &lt;br /&gt;
| device dependent&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1899</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1899"/>
		<updated>2021-06-04T10:21:00Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Serial interfaces and busses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The following diagram shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:IsolatedInput.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1898</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1898"/>
		<updated>2021-06-04T10:20:44Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital and analog I/Os (new libgpiod mapping) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The following diagram shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:IsolatedInput.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1897</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1897"/>
		<updated>2021-06-04T10:20:32Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital and analog I/Os (deprecated sysfs mapping) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The following diagram shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:IsolatedInput.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1896</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1896"/>
		<updated>2021-06-04T10:20:16Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital and analog I/Os (deprecated sysfs mapping) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The following diagram shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:IsolatedInput.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1895</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1895"/>
		<updated>2021-06-04T10:18:22Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Isolated inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The following diagram shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:IsolatedInput.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Datei:IsolatedInput.png&amp;diff=1894</id>
		<title>Datei:IsolatedInput.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Datei:IsolatedInput.png&amp;diff=1894"/>
		<updated>2021-06-04T10:17:34Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1893</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1893"/>
		<updated>2021-06-04T10:12:22Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The following diagram shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINxSim.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Datei:GPINxSim.png&amp;diff=1892</id>
		<title>Datei:GPINxSim.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Datei:GPINxSim.png&amp;diff=1892"/>
		<updated>2021-06-04T10:11:46Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1891</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1891"/>
		<updated>2021-06-04T10:00:28Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The following diagram shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:GPINx.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Datei:GPINx.png&amp;diff=1890</id>
		<title>Datei:GPINx.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Datei:GPINx.png&amp;diff=1890"/>
		<updated>2021-06-04T09:59:52Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1889</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1889"/>
		<updated>2021-06-04T08:56:29Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* 4-20mA current loop output */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The following diagram shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1888</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1888"/>
		<updated>2021-06-04T08:55:42Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* 4-20mA current loop inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The following diagram shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1887</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1887"/>
		<updated>2021-06-04T08:53:02Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* 4-20mA current loop inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The following figure shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1886</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1886"/>
		<updated>2021-06-04T08:52:44Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* 4-20mA current loop inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The figure shows the connectivity of a self powered current source sensor examplary on input 4.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1885</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1885"/>
		<updated>2021-06-04T08:50:59Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* 4-20mA current loop inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The figure shows the connectivity of a self powered current source sensor on input 4&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1884</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1884"/>
		<updated>2021-06-04T08:49:21Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* 4-20mA current loop inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The figure shows the connectivity of a self powered current source on input 4&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1883</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1883"/>
		<updated>2021-06-04T08:09:51Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* 4-20mA current loop inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
&lt;br /&gt;
The next figure shows the connectivity of a self powered current source on input 4&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1882</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1882"/>
		<updated>2021-06-04T08:05:00Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* 4-20mA current loop inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoopExt.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1881</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1881"/>
		<updated>2021-06-04T08:04:25Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* 4-20mA current loop inputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:CurrentLoop.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Datei:CurrentLoopExt.png&amp;diff=1880</id>
		<title>Datei:CurrentLoopExt.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Datei:CurrentLoopExt.png&amp;diff=1880"/>
		<updated>2021-06-04T08:03:44Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Datei:CurrentLoop.png&amp;diff=1879</id>
		<title>Datei:CurrentLoop.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Datei:CurrentLoop.png&amp;diff=1879"/>
		<updated>2021-06-04T08:03:30Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1878</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1878"/>
		<updated>2021-06-04T07:28:13Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout RTD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1877</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1877"/>
		<updated>2021-06-04T07:28:04Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout 4-20mA IN/OUT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1876</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1876"/>
		<updated>2021-06-04T07:27:53Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout Digital IN/OUT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1875</id>
		<title>Maxx GW4101</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4101&amp;diff=1875"/>
		<updated>2021-06-04T07:27:38Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout RS485 isolated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4101 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
&lt;br /&gt;
The basic unit (left part of the device) is described under [[maxx GW4100]]&lt;br /&gt;
&lt;br /&gt;
The sensor interface expansion enhances the basic unit with interfaces for PT100/1000 temperature sensors and the widely used 4 – 20 mA current loop interface, as well as other digital inputs and outputs.&lt;br /&gt;
The maxx GW4101 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4101.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pinout RS485 isolated==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;40%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Pin !! Pin !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#RS485]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| D+&lt;br /&gt;
| IN D+&lt;br /&gt;
|-&lt;br /&gt;
| ISO GND&lt;br /&gt;
| IG&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| D-&lt;br /&gt;
| IN D-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout Digital IN/OUT==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Label&#039;&#039;&#039;&amp;quot; describes the labeling on the frontplate&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;&#039;Signal&#039;&#039;&#039;&amp;quot; describes the reference to the Linux mapping&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[#Isolated outputs]]&lt;br /&gt;
| OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| OUT 1&lt;br /&gt;
|-&lt;br /&gt;
| OUT 2&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#Isolated inputs]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | Iso Input 1-&lt;br /&gt;
| 1-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_N1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | iso Input 1+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | Iso Input 2-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_IN_P2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | iso Input 2+&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | Iso Input 3-&lt;br /&gt;
| 3-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD | iso Input 3+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | Iso Input 4-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| ISO_IN_P4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | iso Input 4+&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[#Digital inputs]] &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Digital Input 1&lt;br /&gt;
| I1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 16&lt;br /&gt;
| GPIN2&lt;br /&gt;
| I2&lt;br /&gt;
| Digtal Input 2&lt;br /&gt;
|-&lt;br /&gt;
| Digital Input 3&lt;br /&gt;
| I3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | GPIN3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 18&lt;br /&gt;
| GPIN4&lt;br /&gt;
| I4&lt;br /&gt;
| Digtal Input 4 &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout 4-20mA IN/OUT==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | [[#4-20mA current loop output]]&lt;br /&gt;
| Current Loop Output&lt;br /&gt;
| O+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | OUT +&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; | [[#4-20mA current loop inputs]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFCBCB | Current Loop Input 2&lt;br /&gt;
| 2+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_P2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| IN_P3&lt;br /&gt;
| 3+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#FFEBAD | Current Loop Input 3&lt;br /&gt;
|-&lt;br /&gt;
| 2-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | IN_N2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| IN_N3&lt;br /&gt;
| 3-&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B9FFC5 | Current Loop Input 4&lt;br /&gt;
| 4+&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_P4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| IN_P1&lt;br /&gt;
| 1+&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#B3B7FF | Current Loop Input 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 4-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| IN_N4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 12&lt;br /&gt;
| IN_N1&lt;br /&gt;
| 1-&lt;br /&gt;
|- &lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 14&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
| GND&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout RTD==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| --&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| NC&lt;br /&gt;
| --&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | [[#RTD]]&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (A)&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| RTD_B1&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;background:#B3B7FF | RTD 1 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (A)&lt;br /&gt;
| 2A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | RTD_A2&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| RTD_B2&lt;br /&gt;
| 2B&lt;br /&gt;
| style=&amp;quot;background:#FFCBCB | RTD 2 (B)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (A)&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| RTD_B3&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;background:#FFEBAD |RTD 3 (B)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (A)&lt;br /&gt;
| 4A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| RTD_A4&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| RTD_B4&lt;br /&gt;
| 4B&lt;br /&gt;
| style=&amp;quot;background:#B9FFC5 | RTD 4 (B)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==RS485==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
An isolated RS485 interface is available as /dev/ttymxc1. The interface includes a switchable termination resistor.&lt;br /&gt;
&lt;br /&gt;
The termination resistor is enabled by driving RS485_TERM_EN high.&lt;br /&gt;
&lt;br /&gt;
==Analog inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The GW4101 offers connection options for up to four resistive thermal devices (RTD, e.g. PT100/PT1000) and up to four 4-20mA current loop inputs. &lt;br /&gt;
&lt;br /&gt;
Internally an Texas Instruments ADS1220 16-bit ADC ist used.  On the Linux side the ADC is accessible via SPI bus. &lt;br /&gt;
&lt;br /&gt;
The cost effective measurement circuit uses a single ADC which is multiplexed to the different measurement channel. To select a channel as well for RTD as also for loop current measurement the channel number (0-3) has to be written to RTDSEL[1..0].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===RTD===&lt;br /&gt;
&lt;br /&gt;
The following picture shows a simplified schematic of the ratiometric measurement circuit to determine the actual resistive value of the RTD devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:rtd.png ]]&lt;br /&gt;
&lt;br /&gt;
===4-20mA current loop inputs===&lt;br /&gt;
&lt;br /&gt;
The measurement of the four loop currents is done one channel at a time by the means of a shunt resistor. The GW4101 provides a per channel current limited (30mA) 24V power supply for easy connection of external sensors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==4-20mA current loop output==&lt;br /&gt;
&lt;br /&gt;
The device features a 4-20mA current loop output with integrated loop supply voltage. It is internally realized using a Microchip MCP4716 10-bit ADC with I2C interface.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal architecture of this output.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:loop output.png ]]&lt;br /&gt;
&lt;br /&gt;
==Digital inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the internal design of the four digital inputs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This design allows the connection of push-pull- and open-collector-outputs with a threshold of about 4.5V. It is also possible to use a mechanical switch or a relais to connect the input to GND without the need for an additional pullup resistor.&lt;br /&gt;
&lt;br /&gt;
Following diagram shows a simplified design:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:digital inputs 2.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated inputs==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated inputs.png ]]&lt;br /&gt;
&lt;br /&gt;
==Isolated outputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device contains a Panasonic AQW282 solid state relais to realize two independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:isolated outputs.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
| digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio206&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Typ&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 18&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| GPIN1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| GPIN2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| GPIN3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| GPIN4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| RS485_TERM_EN&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 15&lt;br /&gt;
| RS485 termination resisitor&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL0&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | analog channel select&lt;br /&gt;
|-&lt;br /&gt;
| RTDSEL1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ADC_DRDY_n&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 14&lt;br /&gt;
| ADC IRQ&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Serial interfaces and busses==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Interface or bus !! Linux mapping !! &lt;br /&gt;
|-&lt;br /&gt;
| isolated RS485&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/ttymxc1&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| SPI&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/spidev2.0&lt;br /&gt;
| ADS1220&lt;br /&gt;
|-&lt;br /&gt;
| I²C&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /dev/i2c-3&lt;br /&gt;
| MCP4716&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1874</id>
		<title>Maxx GW4102</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1874"/>
		<updated>2021-06-04T07:19:34Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Linux mapping */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4102 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
The PLC I/O interface expansion enhances the basic unit with 16 isolated digital inputs and four isolated digital outputs.  The inputs are divided into four groups of four inputs with a common negative terminal for each group.&lt;br /&gt;
&lt;br /&gt;
This constellation allows the connection of up to four devices (e.g. PLCs) with minimal wiring effort while keeping each device isolated from each other.&lt;br /&gt;
&lt;br /&gt;
The maxx GW4102 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4102 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4102.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated outputs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[ #isolated outputs ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_A2&lt;br /&gt;
| 2A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 3&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_OUT_A4&lt;br /&gt;
| 4A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 4&lt;br /&gt;
|-&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_B3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_OUT_B4&lt;br /&gt;
| 4B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group A==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group A&lt;br /&gt;
| IN A1&lt;br /&gt;
| A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_A_P2&lt;br /&gt;
| A2&lt;br /&gt;
| IN A2&lt;br /&gt;
|-&lt;br /&gt;
| IN A3&lt;br /&gt;
| A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_A_P4&lt;br /&gt;
| A4&lt;br /&gt;
| IN A4&lt;br /&gt;
|-&lt;br /&gt;
| GND B&lt;br /&gt;
| B-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_A_N&lt;br /&gt;
| A-&lt;br /&gt;
| GND A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group B==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group B&lt;br /&gt;
| IN B1&lt;br /&gt;
| B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_B_P2&lt;br /&gt;
| B2&lt;br /&gt;
| IN B2&lt;br /&gt;
|-&lt;br /&gt;
| IN B3&lt;br /&gt;
| B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_B_P4&lt;br /&gt;
| B4&lt;br /&gt;
| IN B4&lt;br /&gt;
|-&lt;br /&gt;
| GND C&lt;br /&gt;
| C-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_B_N&lt;br /&gt;
| B-&lt;br /&gt;
| GND B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group C==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group C&lt;br /&gt;
| IN C1&lt;br /&gt;
| C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_C_P2&lt;br /&gt;
| C2&lt;br /&gt;
| IN C2&lt;br /&gt;
|-&lt;br /&gt;
| IN C3&lt;br /&gt;
| C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_C_P4&lt;br /&gt;
| C4&lt;br /&gt;
| IN C4&lt;br /&gt;
|-&lt;br /&gt;
| GND D&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_C_N&lt;br /&gt;
| C-&lt;br /&gt;
| GND C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group D&lt;br /&gt;
| IN D1&lt;br /&gt;
| D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_D_P2&lt;br /&gt;
| D2&lt;br /&gt;
| IN D2&lt;br /&gt;
|-&lt;br /&gt;
| IN D3&lt;br /&gt;
| D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_D_P4&lt;br /&gt;
| D4&lt;br /&gt;
| IN D4&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_D_N&lt;br /&gt;
| D-&lt;br /&gt;
| GND D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==isolated inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 2.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cascading inputs===&lt;br /&gt;
&lt;br /&gt;
Each group of four inputs features a common negative terminal to reduce wiring effort. Furthermore the groups can be cascaded as shown in the following diagrams. Other configurations following the same method are possible.&lt;br /&gt;
&lt;br /&gt;
====4x4 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 3.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x8 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 4.png ]]&lt;br /&gt;
&lt;br /&gt;
====1x16 configuration====&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 5.png ]]&lt;br /&gt;
&lt;br /&gt;
==isolated outputs==&lt;br /&gt;
&lt;br /&gt;
The device contains two Panasonic AQW282 solid state relais to realize four independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 6.png ]]&lt;br /&gt;
&lt;br /&gt;
===Cascading outputs===&lt;br /&gt;
====4x1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 7.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x2 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 8.png ]]&lt;br /&gt;
&lt;br /&gt;
====3+1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 9.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio198&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio67&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio65&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio66&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio182&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio180&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio179&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio181&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 15&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 18&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN-C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 3&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 22&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs &lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 20&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 19&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 21&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1873</id>
		<title>Maxx GW4102</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1873"/>
		<updated>2021-06-04T07:19:20Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Digital and analog I/Os (deprecated sysfs mapping) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4102 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
The PLC I/O interface expansion enhances the basic unit with 16 isolated digital inputs and four isolated digital outputs.  The inputs are divided into four groups of four inputs with a common negative terminal for each group.&lt;br /&gt;
&lt;br /&gt;
This constellation allows the connection of up to four devices (e.g. PLCs) with minimal wiring effort while keeping each device isolated from each other.&lt;br /&gt;
&lt;br /&gt;
The maxx GW4102 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4102 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4102.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated outputs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[ #isolated outputs ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_A2&lt;br /&gt;
| 2A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 3&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_OUT_A4&lt;br /&gt;
| 4A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 4&lt;br /&gt;
|-&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_B3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_OUT_B4&lt;br /&gt;
| 4B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group A==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group A&lt;br /&gt;
| IN A1&lt;br /&gt;
| A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_A_P2&lt;br /&gt;
| A2&lt;br /&gt;
| IN A2&lt;br /&gt;
|-&lt;br /&gt;
| IN A3&lt;br /&gt;
| A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_A_P4&lt;br /&gt;
| A4&lt;br /&gt;
| IN A4&lt;br /&gt;
|-&lt;br /&gt;
| GND B&lt;br /&gt;
| B-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_A_N&lt;br /&gt;
| A-&lt;br /&gt;
| GND A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group B==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group B&lt;br /&gt;
| IN B1&lt;br /&gt;
| B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_B_P2&lt;br /&gt;
| B2&lt;br /&gt;
| IN B2&lt;br /&gt;
|-&lt;br /&gt;
| IN B3&lt;br /&gt;
| B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_B_P4&lt;br /&gt;
| B4&lt;br /&gt;
| IN B4&lt;br /&gt;
|-&lt;br /&gt;
| GND C&lt;br /&gt;
| C-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_B_N&lt;br /&gt;
| B-&lt;br /&gt;
| GND B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group C==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group C&lt;br /&gt;
| IN C1&lt;br /&gt;
| C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_C_P2&lt;br /&gt;
| C2&lt;br /&gt;
| IN C2&lt;br /&gt;
|-&lt;br /&gt;
| IN C3&lt;br /&gt;
| C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_C_P4&lt;br /&gt;
| C4&lt;br /&gt;
| IN C4&lt;br /&gt;
|-&lt;br /&gt;
| GND D&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_C_N&lt;br /&gt;
| C-&lt;br /&gt;
| GND C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group D&lt;br /&gt;
| IN D1&lt;br /&gt;
| D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_D_P2&lt;br /&gt;
| D2&lt;br /&gt;
| IN D2&lt;br /&gt;
|-&lt;br /&gt;
| IN D3&lt;br /&gt;
| D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_D_P4&lt;br /&gt;
| D4&lt;br /&gt;
| IN D4&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_D_N&lt;br /&gt;
| D-&lt;br /&gt;
| GND D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==isolated inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 2.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cascading inputs===&lt;br /&gt;
&lt;br /&gt;
Each group of four inputs features a common negative terminal to reduce wiring effort. Furthermore the groups can be cascaded as shown in the following diagrams. Other configurations following the same method are possible.&lt;br /&gt;
&lt;br /&gt;
====4x4 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 3.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x8 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 4.png ]]&lt;br /&gt;
&lt;br /&gt;
====1x16 configuration====&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 5.png ]]&lt;br /&gt;
&lt;br /&gt;
==isolated outputs==&lt;br /&gt;
&lt;br /&gt;
The device contains two Panasonic AQW282 solid state relais to realize four independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 6.png ]]&lt;br /&gt;
&lt;br /&gt;
===Cascading outputs===&lt;br /&gt;
====4x1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 7.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x2 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 8.png ]]&lt;br /&gt;
&lt;br /&gt;
====3+1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 9.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio198&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio67&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio65&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio66&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio182&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio180&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio179&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio181&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 15&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 18&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN-C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 3&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 22&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs &lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 20&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 19&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 21&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1872</id>
		<title>Maxx GW4102</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1872"/>
		<updated>2021-06-04T07:17:34Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout isolated inputs group D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4102 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
The PLC I/O interface expansion enhances the basic unit with 16 isolated digital inputs and four isolated digital outputs.  The inputs are divided into four groups of four inputs with a common negative terminal for each group.&lt;br /&gt;
&lt;br /&gt;
This constellation allows the connection of up to four devices (e.g. PLCs) with minimal wiring effort while keeping each device isolated from each other.&lt;br /&gt;
&lt;br /&gt;
The maxx GW4102 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4102 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4102.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated outputs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[ #isolated outputs ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_A2&lt;br /&gt;
| 2A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 3&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_OUT_A4&lt;br /&gt;
| 4A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 4&lt;br /&gt;
|-&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_B3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_OUT_B4&lt;br /&gt;
| 4B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group A==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group A&lt;br /&gt;
| IN A1&lt;br /&gt;
| A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_A_P2&lt;br /&gt;
| A2&lt;br /&gt;
| IN A2&lt;br /&gt;
|-&lt;br /&gt;
| IN A3&lt;br /&gt;
| A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_A_P4&lt;br /&gt;
| A4&lt;br /&gt;
| IN A4&lt;br /&gt;
|-&lt;br /&gt;
| GND B&lt;br /&gt;
| B-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_A_N&lt;br /&gt;
| A-&lt;br /&gt;
| GND A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group B==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group B&lt;br /&gt;
| IN B1&lt;br /&gt;
| B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_B_P2&lt;br /&gt;
| B2&lt;br /&gt;
| IN B2&lt;br /&gt;
|-&lt;br /&gt;
| IN B3&lt;br /&gt;
| B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_B_P4&lt;br /&gt;
| B4&lt;br /&gt;
| IN B4&lt;br /&gt;
|-&lt;br /&gt;
| GND C&lt;br /&gt;
| C-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_B_N&lt;br /&gt;
| B-&lt;br /&gt;
| GND B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group C==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group C&lt;br /&gt;
| IN C1&lt;br /&gt;
| C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_C_P2&lt;br /&gt;
| C2&lt;br /&gt;
| IN C2&lt;br /&gt;
|-&lt;br /&gt;
| IN C3&lt;br /&gt;
| C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_C_P4&lt;br /&gt;
| C4&lt;br /&gt;
| IN C4&lt;br /&gt;
|-&lt;br /&gt;
| GND D&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_C_N&lt;br /&gt;
| C-&lt;br /&gt;
| GND C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group D&lt;br /&gt;
| IN D1&lt;br /&gt;
| D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_D_P2&lt;br /&gt;
| D2&lt;br /&gt;
| IN D2&lt;br /&gt;
|-&lt;br /&gt;
| IN D3&lt;br /&gt;
| D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_D_P4&lt;br /&gt;
| D4&lt;br /&gt;
| IN D4&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_D_N&lt;br /&gt;
| D-&lt;br /&gt;
| GND D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==isolated inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 2.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cascading inputs===&lt;br /&gt;
&lt;br /&gt;
Each group of four inputs features a common negative terminal to reduce wiring effort. Furthermore the groups can be cascaded as shown in the following diagrams. Other configurations following the same method are possible.&lt;br /&gt;
&lt;br /&gt;
====4x4 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 3.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x8 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 4.png ]]&lt;br /&gt;
&lt;br /&gt;
====1x16 configuration====&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 5.png ]]&lt;br /&gt;
&lt;br /&gt;
==isolated outputs==&lt;br /&gt;
&lt;br /&gt;
The device contains two Panasonic AQW282 solid state relais to realize four independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 6.png ]]&lt;br /&gt;
&lt;br /&gt;
===Cascading outputs===&lt;br /&gt;
====4x1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 7.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x2 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 8.png ]]&lt;br /&gt;
&lt;br /&gt;
====3+1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 9.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio198&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio67&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio65&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio66&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio182&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio180&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio179&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio181&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 15&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 18&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN-C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 3&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 22&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs &lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 20&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 19&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 21&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1871</id>
		<title>Maxx GW4102</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1871"/>
		<updated>2021-06-04T07:17:26Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout isolated inputs group C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4102 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
The PLC I/O interface expansion enhances the basic unit with 16 isolated digital inputs and four isolated digital outputs.  The inputs are divided into four groups of four inputs with a common negative terminal for each group.&lt;br /&gt;
&lt;br /&gt;
This constellation allows the connection of up to four devices (e.g. PLCs) with minimal wiring effort while keeping each device isolated from each other.&lt;br /&gt;
&lt;br /&gt;
The maxx GW4102 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4102 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4102.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated outputs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[ #isolated outputs ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_A2&lt;br /&gt;
| 2A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 3&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_OUT_A4&lt;br /&gt;
| 4A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 4&lt;br /&gt;
|-&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_B3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_OUT_B4&lt;br /&gt;
| 4B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group A==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group A&lt;br /&gt;
| IN A1&lt;br /&gt;
| A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_A_P2&lt;br /&gt;
| A2&lt;br /&gt;
| IN A2&lt;br /&gt;
|-&lt;br /&gt;
| IN A3&lt;br /&gt;
| A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_A_P4&lt;br /&gt;
| A4&lt;br /&gt;
| IN A4&lt;br /&gt;
|-&lt;br /&gt;
| GND B&lt;br /&gt;
| B-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_A_N&lt;br /&gt;
| A-&lt;br /&gt;
| GND A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group B==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group B&lt;br /&gt;
| IN B1&lt;br /&gt;
| B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_B_P2&lt;br /&gt;
| B2&lt;br /&gt;
| IN B2&lt;br /&gt;
|-&lt;br /&gt;
| IN B3&lt;br /&gt;
| B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_B_P4&lt;br /&gt;
| B4&lt;br /&gt;
| IN B4&lt;br /&gt;
|-&lt;br /&gt;
| GND C&lt;br /&gt;
| C-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_B_N&lt;br /&gt;
| B-&lt;br /&gt;
| GND B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group C==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group C&lt;br /&gt;
| IN C1&lt;br /&gt;
| C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_C_P2&lt;br /&gt;
| C2&lt;br /&gt;
| IN C2&lt;br /&gt;
|-&lt;br /&gt;
| IN C3&lt;br /&gt;
| C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_C_P4&lt;br /&gt;
| C4&lt;br /&gt;
| IN C4&lt;br /&gt;
|-&lt;br /&gt;
| GND D&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_C_N&lt;br /&gt;
| C-&lt;br /&gt;
| GND C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group D&lt;br /&gt;
| IN D1&lt;br /&gt;
| D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_D_P2&lt;br /&gt;
| D2&lt;br /&gt;
| IN D2&lt;br /&gt;
|-&lt;br /&gt;
| IN D3&lt;br /&gt;
| D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_D_P4&lt;br /&gt;
| D4&lt;br /&gt;
| IN D4&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_D_N&lt;br /&gt;
| D-&lt;br /&gt;
| GND D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==isolated inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 2.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cascading inputs===&lt;br /&gt;
&lt;br /&gt;
Each group of four inputs features a common negative terminal to reduce wiring effort. Furthermore the groups can be cascaded as shown in the following diagrams. Other configurations following the same method are possible.&lt;br /&gt;
&lt;br /&gt;
====4x4 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 3.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x8 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 4.png ]]&lt;br /&gt;
&lt;br /&gt;
====1x16 configuration====&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 5.png ]]&lt;br /&gt;
&lt;br /&gt;
==isolated outputs==&lt;br /&gt;
&lt;br /&gt;
The device contains two Panasonic AQW282 solid state relais to realize four independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 6.png ]]&lt;br /&gt;
&lt;br /&gt;
===Cascading outputs===&lt;br /&gt;
====4x1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 7.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x2 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 8.png ]]&lt;br /&gt;
&lt;br /&gt;
====3+1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 9.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio198&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio67&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio65&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio66&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio182&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio180&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio179&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio181&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 15&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 18&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN-C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 3&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 22&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs &lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 20&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 19&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 21&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1870</id>
		<title>Maxx GW4102</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1870"/>
		<updated>2021-06-04T07:17:19Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout isolated inputs group B */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4102 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
The PLC I/O interface expansion enhances the basic unit with 16 isolated digital inputs and four isolated digital outputs.  The inputs are divided into four groups of four inputs with a common negative terminal for each group.&lt;br /&gt;
&lt;br /&gt;
This constellation allows the connection of up to four devices (e.g. PLCs) with minimal wiring effort while keeping each device isolated from each other.&lt;br /&gt;
&lt;br /&gt;
The maxx GW4102 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4102 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4102.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated outputs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[ #isolated outputs ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_A2&lt;br /&gt;
| 2A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 3&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_OUT_A4&lt;br /&gt;
| 4A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 4&lt;br /&gt;
|-&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_B3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_OUT_B4&lt;br /&gt;
| 4B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group A==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group A&lt;br /&gt;
| IN A1&lt;br /&gt;
| A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_A_P2&lt;br /&gt;
| A2&lt;br /&gt;
| IN A2&lt;br /&gt;
|-&lt;br /&gt;
| IN A3&lt;br /&gt;
| A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_A_P4&lt;br /&gt;
| A4&lt;br /&gt;
| IN A4&lt;br /&gt;
|-&lt;br /&gt;
| GND B&lt;br /&gt;
| B-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_A_N&lt;br /&gt;
| A-&lt;br /&gt;
| GND A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group B==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group B&lt;br /&gt;
| IN B1&lt;br /&gt;
| B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_B_P2&lt;br /&gt;
| B2&lt;br /&gt;
| IN B2&lt;br /&gt;
|-&lt;br /&gt;
| IN B3&lt;br /&gt;
| B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_B_P4&lt;br /&gt;
| B4&lt;br /&gt;
| IN B4&lt;br /&gt;
|-&lt;br /&gt;
| GND C&lt;br /&gt;
| C-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_B_N&lt;br /&gt;
| B-&lt;br /&gt;
| GND B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group C==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group C&lt;br /&gt;
| IN C1&lt;br /&gt;
| C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_C_P2&lt;br /&gt;
| C2&lt;br /&gt;
| IN C2&lt;br /&gt;
|-&lt;br /&gt;
| IN C3&lt;br /&gt;
| C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_C_P4&lt;br /&gt;
| C4&lt;br /&gt;
| IN C4&lt;br /&gt;
|-&lt;br /&gt;
| GND D&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_C_N&lt;br /&gt;
| C-&lt;br /&gt;
| GND C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group D&lt;br /&gt;
| IN D1&lt;br /&gt;
| D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_D_P2&lt;br /&gt;
| D2&lt;br /&gt;
| IN D2&lt;br /&gt;
|-&lt;br /&gt;
| IN D3&lt;br /&gt;
| D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_D_P4&lt;br /&gt;
| D4&lt;br /&gt;
| IN D4&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_D_N&lt;br /&gt;
| D-&lt;br /&gt;
| GND D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==isolated inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 2.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cascading inputs===&lt;br /&gt;
&lt;br /&gt;
Each group of four inputs features a common negative terminal to reduce wiring effort. Furthermore the groups can be cascaded as shown in the following diagrams. Other configurations following the same method are possible.&lt;br /&gt;
&lt;br /&gt;
====4x4 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 3.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x8 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 4.png ]]&lt;br /&gt;
&lt;br /&gt;
====1x16 configuration====&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 5.png ]]&lt;br /&gt;
&lt;br /&gt;
==isolated outputs==&lt;br /&gt;
&lt;br /&gt;
The device contains two Panasonic AQW282 solid state relais to realize four independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 6.png ]]&lt;br /&gt;
&lt;br /&gt;
===Cascading outputs===&lt;br /&gt;
====4x1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 7.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x2 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 8.png ]]&lt;br /&gt;
&lt;br /&gt;
====3+1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 9.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio198&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio67&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio65&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio66&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio182&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio180&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio179&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio181&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 15&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 18&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN-C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 3&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 22&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs &lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 20&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 19&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 21&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1869</id>
		<title>Maxx GW4102</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1869"/>
		<updated>2021-06-04T07:17:10Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout isolated inputs group A */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4102 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
The PLC I/O interface expansion enhances the basic unit with 16 isolated digital inputs and four isolated digital outputs.  The inputs are divided into four groups of four inputs with a common negative terminal for each group.&lt;br /&gt;
&lt;br /&gt;
This constellation allows the connection of up to four devices (e.g. PLCs) with minimal wiring effort while keeping each device isolated from each other.&lt;br /&gt;
&lt;br /&gt;
The maxx GW4102 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4102 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4102.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated outputs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[ #isolated outputs ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_A2&lt;br /&gt;
| 2A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 3&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_OUT_A4&lt;br /&gt;
| 4A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 4&lt;br /&gt;
|-&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_B3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_OUT_B4&lt;br /&gt;
| 4B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group A==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group A&lt;br /&gt;
| IN A1&lt;br /&gt;
| A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_A_P2&lt;br /&gt;
| A2&lt;br /&gt;
| IN A2&lt;br /&gt;
|-&lt;br /&gt;
| IN A3&lt;br /&gt;
| A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_A_P4&lt;br /&gt;
| A4&lt;br /&gt;
| IN A4&lt;br /&gt;
|-&lt;br /&gt;
| GND B&lt;br /&gt;
| B-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_A_N&lt;br /&gt;
| A-&lt;br /&gt;
| GND A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group B==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group B&lt;br /&gt;
| IN B1&lt;br /&gt;
| B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_B_P2&lt;br /&gt;
| B2&lt;br /&gt;
| IN B2&lt;br /&gt;
|-&lt;br /&gt;
| IN B3&lt;br /&gt;
| B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_B_P4&lt;br /&gt;
| B4&lt;br /&gt;
| IN B4&lt;br /&gt;
|-&lt;br /&gt;
| GND C&lt;br /&gt;
| C-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_B_N&lt;br /&gt;
| B-&lt;br /&gt;
| GND B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group C==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group C&lt;br /&gt;
| IN C1&lt;br /&gt;
| C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_C_P2&lt;br /&gt;
| C2&lt;br /&gt;
| IN C2&lt;br /&gt;
|-&lt;br /&gt;
| IN C3&lt;br /&gt;
| C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_C_P4&lt;br /&gt;
| C4&lt;br /&gt;
| IN C4&lt;br /&gt;
|-&lt;br /&gt;
| GND D&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_C_N&lt;br /&gt;
| C-&lt;br /&gt;
| GND C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group D&lt;br /&gt;
| IN D1&lt;br /&gt;
| D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_D_P2&lt;br /&gt;
| D2&lt;br /&gt;
| IN D2&lt;br /&gt;
|-&lt;br /&gt;
| IN D3&lt;br /&gt;
| D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_D_P4&lt;br /&gt;
| D4&lt;br /&gt;
| IN D4&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_D_N&lt;br /&gt;
| D-&lt;br /&gt;
| GND D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==isolated inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 2.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cascading inputs===&lt;br /&gt;
&lt;br /&gt;
Each group of four inputs features a common negative terminal to reduce wiring effort. Furthermore the groups can be cascaded as shown in the following diagrams. Other configurations following the same method are possible.&lt;br /&gt;
&lt;br /&gt;
====4x4 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 3.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x8 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 4.png ]]&lt;br /&gt;
&lt;br /&gt;
====1x16 configuration====&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 5.png ]]&lt;br /&gt;
&lt;br /&gt;
==isolated outputs==&lt;br /&gt;
&lt;br /&gt;
The device contains two Panasonic AQW282 solid state relais to realize four independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 6.png ]]&lt;br /&gt;
&lt;br /&gt;
===Cascading outputs===&lt;br /&gt;
====4x1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 7.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x2 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 8.png ]]&lt;br /&gt;
&lt;br /&gt;
====3+1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 9.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio198&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio67&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio65&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio66&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio182&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio180&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio179&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio181&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 15&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 18&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN-C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 3&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 22&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs &lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 20&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 19&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 21&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
	<entry>
		<id>http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1868</id>
		<title>Maxx GW4102</title>
		<link rel="alternate" type="text/html" href="http://wiki.iotmaxx.com/index.php?title=Maxx_GW4102&amp;diff=1868"/>
		<updated>2021-06-04T07:17:01Z</updated>

		<summary type="html">&lt;p&gt;Bernhard Bleitner: /* Pinout isolated outputs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Produkte]]&lt;br /&gt;
=The device=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The programmable maxx GW4102 mobile communication gateway for industrial applications collects and processes the information from your devices, machines and sensors, and transmits it via the expanded LTE network.&lt;br /&gt;
The PLC I/O interface expansion enhances the basic unit with 16 isolated digital inputs and four isolated digital outputs.  The inputs are divided into four groups of four inputs with a common negative terminal for each group.&lt;br /&gt;
&lt;br /&gt;
This constellation allows the connection of up to four devices (e.g. PLCs) with minimal wiring effort while keeping each device isolated from each other.&lt;br /&gt;
&lt;br /&gt;
The maxx GW4102 gateway is therefore ideal for transmitting measurements from the field to&lt;br /&gt;
the head office or the cloud.&lt;br /&gt;
&lt;br /&gt;
=Interfaces=&lt;br /&gt;
The following section describes the various interfaces of the GW4102 in detail. This graphic shows the distribution of the interfaces:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Front_GW4102.jpg| 600px |rahmenlos|Beschreibung]]&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated outputs==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;width=&amp;quot;50%&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | [[ #isolated outputs ]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 1&lt;br /&gt;
| 1A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_A1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_OUT_A2&lt;br /&gt;
| 2A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 2&lt;br /&gt;
|-&lt;br /&gt;
| 1B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| 2B&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_OUT_B1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_OUT_B2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 3&lt;br /&gt;
| 3A&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_A3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 8&lt;br /&gt;
| ISO_OUT_A4&lt;br /&gt;
| 4A&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | OUT 4&lt;br /&gt;
|-&lt;br /&gt;
| 3B&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot;| ISO_OUT_B3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 10&lt;br /&gt;
| ISO_OUT_B4&lt;br /&gt;
| 4B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group A==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group A&lt;br /&gt;
| IN A1&lt;br /&gt;
| A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_A_P2&lt;br /&gt;
| A2&lt;br /&gt;
| IN A2&lt;br /&gt;
|-&lt;br /&gt;
| IN A3&lt;br /&gt;
| A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_A_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_A_P4&lt;br /&gt;
| A4&lt;br /&gt;
| IN A4&lt;br /&gt;
|-&lt;br /&gt;
| GND B&lt;br /&gt;
| B-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_A_N&lt;br /&gt;
| A-&lt;br /&gt;
| GND A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group B==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group B&lt;br /&gt;
| IN B1&lt;br /&gt;
| B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_B_P2&lt;br /&gt;
| B2&lt;br /&gt;
| IN B2&lt;br /&gt;
|-&lt;br /&gt;
| IN B3&lt;br /&gt;
| B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_B_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_B_P4&lt;br /&gt;
| B4&lt;br /&gt;
| IN B4&lt;br /&gt;
|-&lt;br /&gt;
| GND C&lt;br /&gt;
| C-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_B_N&lt;br /&gt;
| B-&lt;br /&gt;
| GND B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group C==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group C&lt;br /&gt;
| IN C1&lt;br /&gt;
| C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_C_P2&lt;br /&gt;
| C2&lt;br /&gt;
| IN C2&lt;br /&gt;
|-&lt;br /&gt;
| IN C3&lt;br /&gt;
| C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_C_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_C_P4&lt;br /&gt;
| C4&lt;br /&gt;
| IN C4&lt;br /&gt;
|-&lt;br /&gt;
| GND D&lt;br /&gt;
| D-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_N&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_C_N&lt;br /&gt;
| C-&lt;br /&gt;
| GND C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pinout isolated inputs group D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Description !! Function !! Label !! Signal !! Pin !! Pin !! Signal !! Label !! Function&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | [[ #isolated inputs ]] group D&lt;br /&gt;
| IN D1&lt;br /&gt;
| D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 2&lt;br /&gt;
| ISO_IN_D_P2&lt;br /&gt;
| D2&lt;br /&gt;
| IN D2&lt;br /&gt;
|-&lt;br /&gt;
| IN D3&lt;br /&gt;
| D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ISO_IN_D_P3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 4&lt;br /&gt;
| ISO_IN_D_P4&lt;br /&gt;
| D4&lt;br /&gt;
| IN D4&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | NC&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;background:#b3bac5; text-align:center&amp;quot;| 6&lt;br /&gt;
| ISO_IN_D_N&lt;br /&gt;
| D-&lt;br /&gt;
| GND D&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==isolated inputs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows the simplified architecture one of the four isolated inputs with internal current limit and temperature stabilized threshold. Internally the isolation is achieved by the use of a TLP293 optocoupler.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 2.png ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Cascading inputs===&lt;br /&gt;
&lt;br /&gt;
Each group of four inputs features a common negative terminal to reduce wiring effort. Furthermore the groups can be cascaded as shown in the following diagrams. Other configurations following the same method are possible.&lt;br /&gt;
&lt;br /&gt;
====4x4 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 3.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x8 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 4.png ]]&lt;br /&gt;
&lt;br /&gt;
====1x16 configuration====&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 5.png ]]&lt;br /&gt;
&lt;br /&gt;
==isolated outputs==&lt;br /&gt;
&lt;br /&gt;
The device contains two Panasonic AQW282 solid state relais to realize four independent isolated outputs. As there is no internal current limitation the user is responsible for ensuring a current flow of max. 300mA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 6.png ]]&lt;br /&gt;
&lt;br /&gt;
===Cascading outputs===&lt;br /&gt;
====4x1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 7.png ]]&lt;br /&gt;
&lt;br /&gt;
====2x2 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 8.png ]]&lt;br /&gt;
&lt;br /&gt;
====3+1 configuration====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Bild 9.png ]]&lt;br /&gt;
&lt;br /&gt;
=Linux mapping=&lt;br /&gt;
==Digital and analog I/Os (deprecated sysfs mapping)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio175&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio178&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio174&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio173&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio177&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio176&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio172&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio197&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio203&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio194&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio198&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio205&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio67&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio202&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio65&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio66&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio182&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio180&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio179&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | /sys/class/gpio181&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Digital and analog I/Os (new libgpiod mapping)==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signal !! Linux mapping !! line !! Function&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochips5&lt;br /&gt;
| line 15&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; | isolated digital inputs&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 18&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 14&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_A4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 17&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 16&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 12&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_B4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 5&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 11&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN-C3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 6&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_C4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 13&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 3&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip6&lt;br /&gt;
| line 10&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 1&lt;br /&gt;
|-&lt;br /&gt;
| ISO_IN_D4&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip2&lt;br /&gt;
| line 2&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT1&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 22&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | isolated digital outputs &lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 20&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT2&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 19&lt;br /&gt;
|-&lt;br /&gt;
| ISO_OUT3&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | gpiochip5&lt;br /&gt;
| line 21&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bernhard Bleitner</name></author>
	</entry>
</feed>