I'm hoping some folks here with more experience can give me some direction here. I have an nrf52832 smartwatch that I have ported Espruino to, and the core runs fine. I used some Espruino tools and a multimeter to figure out what pins are used on the display cable. I verified those by checking the GPIO setup and state while running the original firmware (using openocd to dump 0x50000700 and SPIM2). I believe I have CLK,MOSI,DC,CS,RST correct, and I am 99% sure it's a GC9A01 since my test code lights up both the SN80 and GW32 watches (both GC9A01). But my code does not work on this board. I figured there may be an ENable pin, so i walked through EVERY remaining pin: setting, resetting, pulling up/down before initializing and still get nothing. The backlight is on but I get no other visuals (even on other boards, if you get the pins right you see something: static, blurred pixels...).
My question: is there anything else a GC9A01 (or any small display controller) may need just to fire up? Something like special timings for the RST (right now I'm pulsing it with 50ms in between, then waiting 120ms before initialization).?
Any input or direction would be greatly appreciated... it would be nice to have Espruino fully running on this. Thanks.
@fanoush figured out the issue. The display driver uses D9, which is an NFC pin for the nrf52832. Solution was covered in another conversation as a temporary measure, and to compile the firmware with the special tag ('DEFINES += -DCONFIG_NFCT_PINS_AS_GPIOS',) to let the NFC tags be treated as normal GPIOs.
'DEFINES += -DCONFIG_NFCT_PINS_AS_GPIOS',
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem