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
Connect a TeslaMate instance to Home Assistant, using MQTT

TeslaBuddy Connect a TeslaMate instance to Home Assistant, using MQTT. It allows basic control of your Tesla vehicle via Home Assistant (currently, ju

4 May 23, 2022
A flexible data historian based on InfluxDB, Grafana, MQTT and more. Free, open, simple.

Kotori Telemetry data acquisition and sensor networks for humans. Documentation: https://getkotori.org/ Source Code: https://github.com/daq-tools/koto

83 Nov 26, 2022
Smart Tech Automation Remote via Kinematics Gesture control for IoT devices

STARK Smart Tech Automation Remote via Kinematics Gesture control for IoT devices View Demo · Report Bug · Request Feature Table of Contents About The

Juseong (Joe) Kim 1 Jan 29, 2022
A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO), and Demo with display PC sreen on OLED by i2c or SPI .

ch341dll_wrap_typcal_app A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO). In addition, I provided 3 Demo. I

13 Jan 02, 2023
Testing additional addon devices, and their working scripts

ESP32-addon-devices-potpurri Testing additional addon devices, and their micropython working scripts 📑 List of device addons tested so far Ethernet P

f-caro 0 Nov 26, 2022
A custom mechanical keyboard inspired by the CFTKB Mysterium

Env-KB A custom mechanical keyboard inspired by the CFTKB Mysterium Build Guide and Parts List What is to do? Right now for the first 5 PCBs I have, i

EnviousData 203 Jan 04, 2023
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
SPI driven CircuitPython driver for PCA9745B constant current LED driver.

Introduction THIS IS VERY MUCH ALPHA AND IN ACTIVE DEVELOPMENT. THINGS WILL BREAK! THIS MAY ALSO BREAK YOUR THINGS! SPI driven CircuitPython driver fo

Andrew Ferguson 1 Jan 14, 2022
Programmable Rainbow Redstone Computer

Programmable Rainbow Redstone Computer Table of contents What is it? Program flasher How to use it What is it? PRRC is Programmable Rainbow Redstone C

Fern H 2 Jun 07, 2022
Simple Python script to decode and verify an European Health Certificate QR-code

A simple Python script to decode and verify an European Health Certificate QR-code.

Mathias Panzenböck 61 Oct 05, 2022
CO2Ampel - This RaspberryPi project uses weather data to estimate the share of renewable energy in the power grid

CO2Ampel This RaspberryPi project uses weather data to estimate the share of ren

Felix 4 Jan 19, 2022
Modi2-firmware-updater - MODI+ Firmware Updater With Python

MODI+ Firmware Updater 실행 준비 python3(파이썬3.9 혹은 그 이상의 버전)를 컴퓨터에 설치 python3 -m pip

LUXROBO 1 Feb 04, 2022
Control the lights of Alienware computers under GNU/Linux systems.

Before requesting support please consider that this software is not actively developed. I created it in 2014 for managing my Alienware M14X-R1 (where

rsm 111 Dec 05, 2022
ModbusTCP2MQTT - Sungrow & SMA Solar Inverter addon for Home Assistant

ModbusTCP2MQTT Sungrow & SMA Solar Inverter addon for Home Assistant This addon will connect directly to your Inverter using Modbus TCP. Support model

Teny Smart 40 Dec 21, 2022
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
Robo Arm :: Rigging is a rigging addon for Blender that helps animating industrial robotic arms.

Robo Arm :: Rigging Robo Arm :: Rigging is a rigging addon for Blender that helps animating industrial robotic arms. It construct serial links(a kind

2 Nov 18, 2021
Modeling and Simulation of Satellite Servicing Manipulators

Modeling and Simulation of Satellite Servicing Manipulators Final Project for the course ENPM662: Introduction to Robot Modeling (Fall 2021). This pro

Adarsh M 1 Jan 24, 2022
Transform a Raspberry Pi into a network diagnostic machine.

EtherView Last updated jan 30, 2022. Welcome to the EtherView project! This is a project to transform a RaspberryPi into a portable network diagnostic

1 Jan 30, 2022
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
A Fast, Easy, and User Friendly way to control Robotics Actuators.

T-Motor Controller A Fast, Easy, and User Friendly way to control Robotics Actuators. View Demo · Report Bug · Request Feature Table of Contents About

26 Aug 23, 2022