Raspberry Pi Pico support for VS Code

Related tags

HardwarePico-Go
Overview

Pico-Go VS Code Extension

Pico-Go provides code auto-completion and allows you to communicate with your Raspberry Pi Pico board using the built-in REPL console. Run a single file on your board, sync your entire project or directly type and execute commands.

This software is originally a derivative product of Pymakr by Pycom Ltd under the terms of its GNU GPL Version 3+ license but it has now received significant rewrites. Non-RP2040 boards are not supported but may still work.

  • Works with macOS, Linux, and Windows.
  • Connects to the Raspberry Pi Pico board.

Terminal

To find out what's new, take a look at the changelog.

Dependencies

  • Python 3 installed on your system and in your PATH.

Getting Started

Have the onboard LED flashing in under 5 minutes by following the Quick Start guide over on the Pico-Go web site.

Comments
  • Fixed arrow keys issue (Windows)

    Fixed arrow keys issue (Windows)

    Whenever the arrow keys were pressed, there was an error and the extension crashed. I fixed it, sending the correct key to the pico board so that the functionality works fine!

    Does this close any currently open issues?

    It fixes issues: #115, #105 and #77

    Any relevant logs, error output, etc?

    (If it’s long, please paste to https://gist.github.com and insert the link here)

    Where has this been tested?

    Operating system: Windows and Mac

    opened by tofylion 1
  • Use vendorId if manufacturer string is null to allow auto connect

    Use vendorId if manufacturer string is null to allow auto connect

    Hi Chris, thanks a lot for your adaption of mymakr to Pi Pico.

    I found out, that I can use it also for other boards, f.e. ESP32 and ESP6288 as long as they don't use a CH340 chip for Serial-USB. These chips (at least sometimes) have no manufacturer string and are not accepted for auto connect.

    What does this implement/fix? Explain your changes.

    I changed one line of code: If there is no manufacturer string then I take the vendorId to look it up in the list autoconnect_comport_manufacturers.

    Does this close any currently open issues?

    No

    Where has this been tested?

    I tested it with witty and ttgo boards.

    opened by schilken 1
  • Fix error :

    Fix error : "TypeError: this.statusbar_buttons.push is not a function"

    What does this implement/fix? Explain your changes.

    When activating Pico-Go extension, the extension throw an error. To prevent this I have change the check from :

        if (this.statusbar_buttons == undefined || this.statusbar_buttons == '') {
              this.statusbar_buttons = ['status', 'connect', 'upload', 'download',
                'run', 'softreset'
              ];
        }
    

    to :

        if (!Array.isArray(typeof this.statusbar_buttons)) {
          this.statusbar_buttons = ['status', 'connect', 'upload', 'download',
            'run', 'softreset'
          ];
        }
    

    Does this close any currently open issues?

    Close #113

    Any relevant logs, error output, etc?

    Capture d’écran 2022-01-12 à 09 18 22

    Any other comments?

    Where has this been tested?

    Tested in VSC debugger.

    Operating system: macOS Monterey 12.1

    VSCode version: 1.63.2

    Pico-Go version: 1.4.3

    opened by haflinger 0
  • Fix occasional BlockingIOError in MacOS

    Fix occasional BlockingIOError in MacOS

    What does this implement/fix? Explain your changes.

    In Terminal Window connected to pico, when I type help(), I was having BlockingIOError.

    Checked the code and found no reason to use O_NONBLOCK for stdout. Having no problem without O_NONBLOCK so far.

    Does this close any currently open issues?

    No.

    Any relevant logs, error output, etc?

    (If it’s long, please paste to https://gist.github.com and insert the link here) This is the error I was having, in the middle of help() output screen.

    Traceback (most recent call last): File "/Users/yjchun/conda/lib/python3.9/threading.py", line 954, in _bootstrap_inner self.run() File "/Users/yjchun/conda/lib/python3.9/threading.py", line 892, in run self._target(*self._args, **self._kwargs) File "/Users/yjchun/.vscode/extensions/chriswood.pico-go-1.4.3/terminalExec.py", line 127, in runServer serviceConnection(key, mask) File "/Users/yjchun/.vscode/extensions/chriswood.pico-go-1.4.3/terminalExec.py", line 47, in serviceConnection boardInput(recv_data) File "/Users/yjchun/.vscode/extensions/chriswood.pico-go-1.4.3/terminalExec.py", line 85, in boardInput sys.stdout.write(data.decode("utf-8")) BlockingIOError: [Errno 35] write could not complete without blocking

    Any other comments?

    Where has this been tested?

    Pico-Go:      1.4.3
    VS Code:      1.59.1
    Electron:     13.1.7
    Modules:      89
    Node:         14.16.0
    Platform:     darwin
    Architecture: x64
    Board:        Raspberry Pi Pico with RP2040
    Firmware:     v1.16-262-g89145c6aa on 2021-09-01 (GNU 9.3.1 MinSizeRel)
    
    opened by yjchun 0
  • Feature/async await

    Feature/async await

    What does this implement/fix? Explain your changes.

    • Uses ES6 Javascript throughout;
    • Removed callback spaghetti;
    • Removed redundant code;
    • Refactored serial comms code code;
    • Normalised naming conventions to PascalCase for classes and camelCase for methods and variables;
    • Uses let and const instead of var;
    • Semi-colons now used throughout;
    • Generally beautified code.

    Does this close any currently open issues?

    Fixes #35

    enhancement 
    opened by cpwood 0
Releases(v1.4.3)
Owner
Chris Wood
Chris Wood
Volkswagen ID component for Home Assistant

Volkswagen ID component for Home Assistant This folder contains both a generic Python 3 library for the Volkswagen ID API and a component for Home Ass

55 Jan 07, 2023
Python library for the Phomemo m02s bluetooth thermal printer

Phomemo M02S Python library This is a basic Python library for controlling the Phomemo M02S bluetooth thermal printer. It probably only works on Mac &

Stargirl Flowers 28 Nov 07, 2022
A DiY holiday project to demonstrate how you can send data from adafruitIO cloud to a balena edge device

holiday-star balena ❤️ adafruitIO Introduction A DiY holiday project to demonstrate how you can send data from adafruitIO cloud to a balena edge devic

Ayan Pahwa 3 Dec 20, 2021
Open source home automation that puts local control and privacy first.

Home Assistant Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiast

Home Assistant 57k Jan 01, 2023
Imbalaced Classification and Robust Semantic Segmentation

Imbalaced Classification and Robust Semantic Segmentation This repo implements two algoritms. The imbalance clibration (IC) algorithm for image classi

24 Jul 23, 2022
Hook and simulate global keyboard events on Windows and Linux.

keyboard Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more.

BoppreH 3.2k Dec 30, 2022
A refreshed Python toolbox for building complex digital hardware

A refreshed Python toolbox for building complex digital hardware

nMigen 1k Jan 05, 2023
A PYTHON Library for Controlling Motors using SOLO Motor Controllers with RASPBERRY PI, Linux, windows, and more!

A PYTHON Library for Controlling Motors using SOLO Motor Controllers with RASPBERRY PI, Linux, windows, and more!

SOLO Motor Controllers 3 Apr 29, 2022
Home solar infrastructure (with Peimar Inverter) monitoring based on Raspberry Pi 3 B+ using Grafana, InfluxDB, Custom Python Collector and Shelly EM.

raspberry-solar-mon Home solar infrastructure (with Peimar Inverter) monitoring based on Raspberry Pi 3 B+ using Grafana, InfluxDB, Custom Python Coll

cislow 10 Dec 23, 2022
Isaac Gym Environments for Legged Robots

Isaac Gym Environments for Legged Robots This repository provides the environment used to train ANYmal (and other robots) to walk on rough terrain usi

Robotic Systems Lab - Legged Robotics at ETH Zürich 372 Jan 08, 2023
Control DJI Tello with Raspberry Pi and PS4 Controller

Control-DJI-Tello-with-Raspberry-Pi-and-PS4-Controller Demo of this project see

MohammadReza Sharifi 24 Aug 11, 2022
I made this so I can control my Tapo L510 light bulb and Govee H6159 light strip using the PyP100 module and the Govee public API

TAPO-And-Govee-Controller I made this so I can control my Tapo L510 light bulb and Govee H6159 light strip using the PyP100 module and the Govee publi

James Westhead 0 Nov 23, 2021
A script for performing OTA update over BLE on ESP32

A script for performing OTA update over BLE on ESP32

Felix Biego 18 Dec 15, 2022
Python library to manipulate Ingenico mobile payment device like iCT220 or iWL220 equipped with Telium Manager. RS232/USB.

Python library to manipulate Ingenico mobile payment device like iCT220 or iWL220 equipped with Telium Manager. RS232/USB.

TAHRI Ahmed R. 72 Dec 24, 2022
Switch predictor for Home Assistant with AppDeamon

Home Assistant AppDeamon - Event predictor WORK IN PROGRESS - CURRENTLY NOT COMPLETE AND NOT WORK This is an idea under development (when I have free

37 Dec 17, 2022
Trajectory optimization package for Mini-Pupper robot

Trajectory optimization package for Mini-Pupper robot Purpose of this repository is to provide low-torque and low-impact trajectory for Mini-Pupper qu

Sotaro Katayama 38 Aug 17, 2022
Home Assistant component to handle key atom

KeyAtome Home Assistant component to handle key atom, a Linky-compatible device made by Total/Direct-Energie. Installation Either use HACS (default),

18 Dec 21, 2022
Simple python3 implementation of microKanren with lots of type annotations for clarity

MicroKanren-py This is (yet another) python implementation of microKanren. It's a reasonably 1:1 translation of the code provided in the paper, but ev

Erik Derohanian 3 Dec 10, 2022
A DUCO (Duino-Coin) miner for GigaDevice ARM boards.

GD32 Duino-Coin Miner Description Contains the firmware and miner software for mining DUCO (Duino-Coin) on GigaDevice GD32 chips. Supported boards GD3

Maximilian Gerhardt 2 Feb 20, 2022
Micro Displays for Raspberry Pi

micro-displays Micro Displays for Raspberry Pi Why? I'm super bored in lockdown. Add a Raspberry Pi 400 and a few tiny displays... The top half of the

ig 291 Jul 06, 2022