gazzer82

gazzer82

Hey Folks,

I am attempting to use the UART port on the Grisp2 board as a RS232 port for connecting to an external network switch. I have connected the PmodRS232 to, Pmod board facing upwards, and connected to the bottom row of the Pmod connector (which I THINK is the correct pinout). I have the JP1 on the board removed to disable flow control e.t.c

However when using circuits.UART I am unable to read anything from the port, which I believe should be “ttymxc3”, I have even just looped the TX back into the RX on the RS232 connector and directly on the UART header and still have nothing coming back on the port.

There’s a very strong possibility that I’ve misunderstood the port mapping on this though, and I can see a reference to /dev/ttyS3 in the linux/imx6ul-grisp2.dts‎ file, that might imply that I need to configure that port to be UART rather than GPIO, but I’m not really sure how to go about that?

Any help/guidance greatly appreciated!

Thanks

Showing Posts 1 to 3

peerst

peerst

GRiSP Core Team

The UART on GRiSP2 is a UART 3A Pmod (the double row)

Description here https://digilent.com/reference/_media/reference/pmod/pmod-interface-specification-1_2_0.pdf

The signals corresponding to the single row UART Pmod are pin 1-6 which is actually the upper row. You can see pin 1 marked on the PCB

gazzer82

gazzer82 OP

Thanks for the pointer, can’t believe I didn’t notice that 1 on the board, apologies!

However, this still doesn’t seem to be working, have looped together pins 2/3 (top row, second and third from the right as you look at the PMOD), and I am still not getting anything back on the port when I send on either ttymcx0 or ttymcx3

iex(livebook@nerves-1157.local)1> {:ok, pid} = Circuits.UART.start_link

{:ok, #PID<0.3555.0>}

iex(livebook@nerves-1157.local)2> Circuits.UART.open(pid, "ttymxc3", speed: 9600, active: true)

:ok

iex(livebook@nerves-1157.local)3> flush

:ok

iex(livebook@nerves-1157.local)4> Circuits.UART.write(pid, "Hello there\r\n")

:ok

iex(livebook@nerves-1157.local)5> flush

:ok

iex(livebook@nerves-1157.local)15> Circuits.UART.open(pid, "ttymxc0", speed: 9600, active: true)

:ok

iex(livebook@nerves-1157.local)16> flush

:ok

iex(livebook@nerves-1157.local)17> Circuits.UART.write(pid, "Hello there\r\n")

:ok

iex(livebook@nerves-1157.local)18> flush

:ok

iex(livebook@nerves-1157.local)19>
fhunleth

fhunleth

Co-author of Nerves

I was able to reproduce the issue. It turns out that Linux didn’t know to configure the pins going to the UART PMOD connector to UART mode. I fixed that in nerves_system_grisp2 v0.7.1. If you update that dependency, I believe it should work.

— All posts loaded —

Where Next? Top

Trending in Questions Top

water
I’m aware of 2 such projects, are there others? git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
katta
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
peck
Hi everyone. My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
bradley
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
unaware8150
Hello folks! So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
Alvinkariuki
How Can I Optimise Compile Time Dependencies I have been building an elixir application for about 2 years now. Many modules and files ha...
New
leoschweizer
Hi, we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews