I made an Object Oriented library that supports handling PIO interrupts with C++ objects.Goal: let a PIO state machine call the very C++ object that can manage (or watch) that particular event.
For who is this library?
It's m...
Object Oriented library to design C++ classes that support PIO interrupts. Goal: make a PIO state machine call the very C++ object that's managing (or watching) it.
When I designed a Pico library to manage stepper motors with the PIO co-cont...
Raspberry PIO stepper library (pio_stepper_lib) is a C++ library that runs stepper motors in PIO state machines. It's intended to be easy to integrate and use in Pico projects.
In this post: create ramps when motor starts, stops or changes direc...
While designing a library for stepper motors, it bothered me that I had to put stepper driver IC logic across my user code.To solve that, I made a little driver lib.
First I looked what logic shabaz and I put in our stepper projects, and s...
SPI ICs usually have an active low chip select pin (~CS, nCS, ...). I have a Texas Instruments IC (stepper motor driver DRV8711) that has an active high CS.
Initially, I bit-banged the CS pin: set it high with the GPIO API before communication, ...
Stepper motors are super-useful for precision movements.
I made a little stepper motor board a while back, but never got around to testing it at the time.
Jan Jan Cumps has created a stepper motor control library (click here to learn a...
Raspberry PIO stepper library (pio_stepper_lib) is a C++ library that runs stepper motors in PIO state machines. It's intended to be easy to integrate and use in Pico projects.
In this post: the frequency of the pulse train it generates, and how...
Raspberry PIO stepper library (pio_stepper_lib) is a C++ library that runs stepper motors in PIO state machines. It's intended to be easy to integrate and use in Pico projects.
4 motors can be controlled per PIO
can be used with any stepper mot...
In a previous post, I figured out how PIO -> ARM interrupts work, and how to handle them in C. What I learned was that a traditional interrupt is easy. Relative interrupts are more involved. The interrupt part adds significant ...
There are decent examples available on how to handle PIO interrupts in C. But not so much on dealing with relative IRQs.
With a normal IRQ, PIO fires an interrupt with a fixed number. The number that you give it. A relative IRQ - ...
The Pico has a set of PIO co-processors. They are real-time controllers that can execute logic with deterministic timing. Ideal to run strict-timed sequences and state machines. And to implement extra peripherals.In this series, I'm trying t...
The Pico has a set of PIO co-processors. They are real-time controllers that can execute logic with deterministic timing. Ideal to run strict-timed sequences and state machines. And to implement extra peripherals.I'm trying a PIO emulator&nb...
The Pico has a set of PIO co-processors. They are real-time controllers that can execute logic with deterministic timing. Ideal to run strict-timed sequences and state machines. And to implement extra peripherals.In this series, I'm trying t...
The Pico has a set of PIO co-processors. They are real-time controllers that can execute logic with deterministic timing. Ideal to run strict-timed sequences and state machines. And to implement extra peripherals.In this series, I'm trying t...
The Pico has a set of PIO co-processors. They are real-time controllers that can execute logic with deterministic timing. Ideal to run strict-timed sequences and state machines. And to implement extra peripherals.In this series, I'm trying t...
The Pico has a set of PIO co-processors. They are real-time controllers that can execute logic with deterministic timing. Ideal to run strict-timed sequences and state machines. And to implement extra peripherals.In this series, I'm trying t...
Table of Contents
Introduction
Validating that the sensor works
Challenges switching to MCU of choice
AI assisted coding workflow
Step 1: Installation and Sign-in
Step 2: Create Pico template code
Step 3: Ask Gemini for driver template code
Ste...
The Pico has a set of PIO co-processors. They are real-time controllers that can execute logic with deterministic timing. Ideal to run strict-timed sequences and state machines. And to implement extra peripherals.In this series, I'm trying t...
The Pico has a set of PIO co-processors. They are real-time controllers that can execute logic with deterministic timing. Ideal to run strict-timed sequences and state machines. And to implement extra peripherals.In this series, I'm trying t...
The Pico has a set of PIO co-processors. They are real-time controllers that can execute logic with deterministic timing. Ideal to run strict-timed sequences and state machines. And to implement extra peripherals (like a quadrature decoder h...
Table of Contents
Introduction
Setup
Create a C application using an example
Developing a simple driver for the MCP23017 I2C chip using AI
Initial Arduino firmware
Switching to VS Code and the Pico SDK
Introduction
After many years of blood,...