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

Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
RemyXRenard
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
samoloth
Hi, I’ve just set up an application with ash_authentication. There is only magic link strategy for now, so there is no confirmation add o...
New
FlyingNoodle
If a change or preparation module uses Ash.Changeset.get_argument/2 or Ash.Query.get_argument/2 (or any of the other get_argument functio...
New
psy-q
I’m trying to set up Emacs with elixir-ls via lsp-mode and credo via Flycheck. This should mostly be preconfigured as Flycheck picks up c...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
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
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge &amp; Solve. They are GUI (Emerge) and State management (S...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews