EHS6 doesn't remember GPIO configuration | Telit Cinterion IoT Developer Community
September 17, 2019 - 9:10am, 3675 views
Hello,
I have EHS6T and I want to configure GPIOs. Most of them work fine, but we found out that GPIO12 doesn't remember it's configuration.
I use SSPI:
at^sspi=
at^sspi=
CONNECT
<aD41401>
{a+}#
OK
After this GPIO works as output, we can meassure 5V on it when we turn it on. But after module losses power or I use AT command to reset, it will again function as input until i configure it again. From my experience from BGS5T, you need to configure GPIOs only once.
ATI
Cinterion
EHS6
REVISION 03.001
at^scfg?
^SCFG: "Audio/Loop","0"
^SCFG: "Call/ECC","0"
^SCFG: "Call/Ecall/AckTimeout","5000"
^SCFG: "Call/Ecall/Callback","0"
^SCFG: "Call/Ecall/CallbackTimeout","43200000"
^SCFG: "Call/Ecall/Msd","0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
^SCFG: "Call/Ecall/Pullmode","0"
^SCFG: "Call/Ecall/SessionTimeout","20000"
^SCFG: "Call/Ecall/StartTimeout","5000"
^SCFG: "Call/Speech/Codec","0"
^SCFG: "GPRS/AutoAttach","enabled"
^SCFG: "Gpio/mode/ASC1","std"
^SCFG: "Gpio/mode/DAI","gpio"
^SCFG: "Gpio/mode/DCD0","gpio"
^SCFG: "Gpio/mode/DSR0","gpio"
^SCFG: "Gpio/mode/DTR0","gpio"
^SCFG: "Gpio/mode/FSR","gpio"
^SCFG: "Gpio/mode/HSIC","rsv"
^SCFG: "Gpio/mode/PULSE","gpio"
^SCFG: "Gpio/mode/PWM","gpio"
^SCFG: "Gpio/mode/RING0","gpio"
^SCFG: "Gpio/mode/SPI","rsv"
^SCFG: "Gpio/mode/SYNC","std"
^SCFG: "Ident/Manufacturer","Cinterion"
^SCFG: "Ident/Product","EHS6"
^SCFG: "MEShutdown/Fso","0"
^SCFG: "MEShutdown/sVsup/threshold","0","0"
^SCFG: "MEopMode/CFUN","0","1"
^SCFG: "MEopMode/Comp1",""
^SCFG: "MEopMode/Dormancy","0","0"
^SCFG: "MEopMode/ExpectDTR","current"
^SCFG: "MEopMode/ExpectDTR","powerup"
^SCFG: "MEopMode/SoR","off"
^SCFG: "Radio/Band","511"
^SCFG: "Radio/Mtpl","0"
^SCFG: "Radio/OutputPowerReduction","4"
^SCFG: "Serial/Interface/Allocation","1","1"
^SCFG: "Serial/USB/DDD","0","0","0409","1E2D","0058","Cinterion Wireless Modules","EHx",""
^SCFG: "Tcp/IRT","3"
^SCFG: "Tcp/MR","10"
^SCFG: "Tcp/OT","6000"
^SCFG: "Tcp/WithURCs","on"
^SCFG: "Trace/Syslog/OTAP","0"
^SCFG: "URC/Ringline","local"
^SCFG: "URC/Ringline/ActiveTime","2"
^SCFG: "Userware/Autostart","1"
^SCFG: "Userware/Autostart/Delay","450"
^SCFG: "Userware/DebugInterface","0.0.0.0","0.0.0.0","0"
^SCFG: "Userware/DebugMode","off"
^SCFG: "Userware/Passwd",
^SCFG: "Userware/Stdout","asc1",,,,"off"
^SCFG: "Userware/Watchdog","1"
OK
Should I make any other settings?
Regards,
Jure
Hello,
According to hardware interface description document for terminals the level shifters settings are non-volatile. So is it that all other lines level shifter state can be configured permanently while GPIO12 not. Do you have more than one terminal that behaves like that? Is it a new one?
Anyway it might be a good idea for an application to configure these settings on start together with lines configuration with AT commands. In BGS5T there's no GPIO12 line so it's not possible to compare this line but we should expect all the lines to behave in the same way until the difference is described in the documentation.
Regards,
Bartłomiej
Hello,
thanks for your reposne, my is a little bit late, becuase I was working on something else...
I tryed to send AT commands for GPIO configuration in Java, but thread which executes that part gets stuck afer I send :
What is correct way to make configuration inside Java?
Regards,
Jure
I probably need to use SpiCOnnection class right?
So I tryed this code: https://pastebin.com/qCf3jCB0 and everytime I get:
AutoStart-MIDlet parameter is 2, since I saw in some threads that this setting could make problems.
Regards,
Jure
Hello,
While sending AT commands under Java you need to add the carriage return character like '\r'. Then the command will be executed and the method will return.
As for the exception I suppose that maybe the SPI interface is not configured correctly. Please check AT^SCFG? output if SPI is set to "std".
Regards,
Bartłomiej
Hello,
I allready before tryed with "\r" and without and in both cases thread stops when it comes to
I have MIDlet where I try to test just this.
Regards,
Jure
Hello,
You need to terminate every command sent with send() method with "\r" character. If there's till a problem after adding it please also check AtCmdDemo MIDlet which you should have on your PC with some other demo projects after installation of Gemalto software. There must be some other problem with your project or libraries that you use.
Regards,
Bartłomiej
Hello,
I don't have problem with sending other AT commands, for instance I can send and recive response when I send commands:
-AT
-AT+CMGR=1
-AT+CMGD=1
-AT+CNMI=2,1
-AT+CSGN
-AT^SIND=NITZ,2
-AT+CCLK="DATE
-AT+CMGF=1
So I only have problem when I want to use "at^sspi=^ to set GPIO directions.
Regards,
Jure
Hello Jure,
I'm sorry I have misled you - this is a special command where you don't get just OK reply but CONNECT and the interface goes into data mode to communicate over SPI... So there would need to be a special implementation inside send() method to handle this SPI case. And if there is no reply, it means that there's apparently no such special implementation. So you should basically use Java APIs for communication over SPI which is always recommended. Here you can find a really simple example: https://iot-developer.thalesgroup.com/showcase/really-simple-way-integra...
I'm sorry again for not noticing this earlier.
Regards,
Bartłomiej