alexslade

alexslade

I’m trying to create a basic lib (I’ll publish something for others) that lets me send GCode directly to a GRBL-based pen plotter.

The plotter is an iDraw H, it’s an arduino-based clone of an Axidraw. I have a similar arduino-based laser cutter that has been working fine with Circuits.UART, meaning that I plug the device into my rpi, and Circuits.UART.enumerate shows the interface.

With this new pen plotter, I can’t seem to connect. I’m pretty inexperienced with this kind of interface, so any advice is really appreciated.

My debugging information so far:

  • I can connect on my mac using “Universal Gcode sender”. In the logs I see the connection is called “cu.usbmodem201912341” and the protocol is “jserialcomm://cu.usbmodem201912341:115200”. This indicates UART @ 115200 baud.
  • I can’t see anything relevant at /dev. The full list from System.cmd("ls", ["/dev"]) is:
pmsg0
rfkill
mem
null
zero
full
random
urandom
kmsg
tty
console
tty0
vcs
vcsu
vcsa
vcs1
vcsu1
vcsa1
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
tty12
tty13
tty14
tty15
tty16
tty17
tty18
tty19
tty20
tty21
tty22
tty23
tty24
tty25
tty26
tty27
tty28
tty29
tty30
tty31
tty32
tty33
tty34
tty35
tty36
tty37
tty38
tty39
tty40
tty41
tty42
tty43
tty44
tty45
tty46
tty47
tty48
tty49
tty50
tty51
tty52
tty53
tty54
tty55
tty56
tty57
tty58
tty59
tty60
tty61
tty62
tty63
gpiochip0
fb0
ptmx
ttyprintk
hwrng
vc-mem
vcio
gpiomem
ram0
ram1
ram2
ram3
ram4
ram5
ram6
ram7
ram8
ram9
ram10
ram11
ram12
ram13
ram14
ram15
loop-control
loop0
loop1
loop2
loop3
loop4
loop5
loop6
loop7
vchiq
ttyAMA0
ttyS0
watchdog
watchdog0
spidev0.0
spidev0.1
i2c-1
mmcblk0
mmcblk0p1
mmcblk0p2
mmcblk0p3
pts
shm
rootdisk0
rootdisk0p3
rootdisk0p2
rootdisk0p1
log
vcsm-cma
video10
video11
video12
video18
video31
media0
video13
video14
video15
video16
media1
video20
video21
video22
video23
media2
snd

Showing Posts 1 to 2

jjcarstens

jjcarstens

Nerves Core Team

Not all devices are required to respond to the enumerate request, so Circuits.UART.enumerate may not return anything. If that is the case, I would run dmesg before and after connecting the device (assuming USB?) and noting the difference. It should should were it connects and what /dev you need to use.

alexslade

alexslade OP

So I spent a while debugging dmesg and getting absolutely nothing, before realising… I’m on a RPI Zero, and I remembered has some funny OTG stuff on the usb port.

I reclaimed a rpi4 from my homelab and tried on there, and I now have the device being enumerated. :man_facepalming:

Thanks for helping and pointing me in the right direction.

— 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
RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
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

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
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & 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

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews