gazzer82

gazzer82 OP

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

First 3 of 3 Posts Switch mode

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

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
jonnycharles
I’m in search of an Elixir library that offers PDF generation capabilities similar to Ruby’s Prawn. While there have been discussions abo...
New
spammy
I’m looking to build a personal workflow to quickly deploy web applications written in elixir/phoenix, for local consumption (ie not on t...
New
dli
Before I dive in myself, did anyone successfully sprinkle Hologram into their existing LiveView app? Looking for hints regarding: Addi...
New
bottlenecked
Hi all, I wanted to ask how the community is dealing with post-release steps. Today we have Ecto migrations, which make sure that the db...
New
roeland
Kia ora, We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
michallepicki
I am using Oban and occasionally, shortly after a deployment, a handful of jobs can fail because of dependency on other parts of the syst...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
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
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
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New

We're in Beta

About us Mission Statement