LTE_WAKE / GPIO27 Pin Behaviour
Is there any documentation about the LTE_WAKE pin's behaviour on the GPy/FiPy?
Also, I see that the AT Command reference to the Monarch chip contains a +CPSMS command which controls its power saving features, but there's no reference to what effect the passed values have on the hardware. Can anyone point me in the right direction? I can't even seem to find a datasheet for the Monarch chipset.
I think the furthest we can get with the available documentation is using the '+CNMI' command. Unfortunately, it enables an unsolicited result code that we cannot truly listen with the current LTE implementation. Also, a 'hack' using raw UART is not very useful, as the UART interrupt is not implemented... We end up in a pooling loop, just like we would do with lte.send_at_cmd('AT+CMGL="ALL"').
If you would like to see the '+CNMI' feature working, here's a small poc:
import machine import utime from machine import UART from network import LTE lte = LTE() # instantiate the LTE object lte.send_at_cmd('AT+CGDCONT=1,"IP","hologram"') # change this to something that works for you lte.attach() # attach the cellular modem to a base station while not lte.isattached(): print('Attaching...') utime.sleep(0.25) print('LTE attached') # configure SMS New Message Indication # Full message (+CMT): lte.send_at_cmd('AT+CNMI=2,2,0,0,0') # OR just notification with memory location (+CMTI): # lte.send_at_cmd('AT+CNMI=2,1,0,0,0') # 'Force' text mode lte.send_at_cmd('AT+CMGF=1') # 'hijack' the modem UART. # The following pins are for FiPy. On GPy you should change to ('P5', 'P98', 'P7', 'P99') uart = UART(1, baudrate=921600, pins=('P20', 'P18', 'P19', 'P17')) print('Waiting for unsolicited result codes...') # Now just send some SMSs and check the output while True: # Ugly, but UART interrupt handler is not an option... if uart.any(): print(uart.read()) utime.sleep(1)
Unfortunately, we cannot go very far without access to the modem datasheet and learn how the interrupt behaves under different configurations and usage scenarios. Probably it's something that can only be enabled in the modem's firmware.
Sincerely I'm a bit disappointed with Pycom's LTE software stack that is lacking behind its highly capable hardware.
Would also like to know functionality behind this pin.