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
Code for the paper "Planning with Diffusion for Flexible Behavior Synthesis"

Planning with Diffusion Training and visualizing of diffusion models from Planning with Diffusion for Flexible Behavior Synthesis. Guided sampling cod

Michael Janner 310 Jan 07, 2023
Raspberry Pi Pico development platform for PlatformIO

Raspberry Pi Pico development platform for PlatformIO A few words in the beginning Before experimental please Reinstall the platform Version: 1.0.0 Th

Georgi Angelov 160 Dec 23, 2022
An alternative to Demise-Assistant-Batch made entirely in Python for more capabilities.

Demise-Assistant-Python An alternative to Demise-Assistant-Batch made entirely in Python for more capabilities. IMPORTANT NOTE Demise-Assistant-Batch

SkelOrganisation 1 Nov 24, 2021
Turns a compatible Raspberry Pi device into a smart USB drive for PS4/PS5.

PSBerry A WIP project for Raspberry Pi, which turns a compatible RPI device into a smart USB drive for PS4/PS5. Allows for save management of PS4 game

Filip Tomaszewski 2 Jan 15, 2022
MPY tool - manage files on devices running MicroPython

mpytool MPY tool - manage files on devices running MicroPython It is an alternative to ampy Target of this project is to make more clean code, faster,

Pavel Revak 5 Aug 17, 2022
Segger Embedded Studio project for building & debugging Flipper Zero firmware.

Segger Embedded Studio project for Flipper Zero firmware Установка Добавить данный репозиторий в качестве сабмодуля в корень локальной копии репозитор

25 Dec 28, 2022
Nordpool_diff custom integration for Home Assistant

nordpool_diff custom integration for Home Assistant Requires https://github.com/custom-components/nordpool Applies non-causal FIR differentiator1 to N

Joonas Pulakka 45 Dec 23, 2022
Beam designs for infinite Z 3D printers

A 3D printed beam that is as stiff as steel A while ago Naomi Wu 机械妖姬 very kindly sent us one of Creality's infinite-Z belt printers. Lots of people h

RepRap Ltd 105 Oct 22, 2022
An open source operating system designed primarily for the Raspberry Pi Pico, written entirely in MicroPython

PycOS An open source operating system designed primarily for the Raspberry Pi Pico, written entirely in MicroPython. "PycOS" is an combination of the

8 Oct 06, 2022
Custom component for Home Assistant that integrates Candy/Haier Wi-Fi washing machines (also known as Simply-Fi).

Candy Home Assistant component Custom component for Home Assistant that integrates Candy/Haier Wi-Fi washing machines (also known as Simply-Fi). This

Olivér Falvai 61 Dec 29, 2022
Jarvis: a personal assistant which can help you to manage your system

Jarvis Jarvis is personal AI based assistant which can help you to manage stuff in your computer. This is demo but I decided to make it more better so

2 Jun 02, 2022
raspberry pi servo control using pca9685

RPi_servo-control_pca9685 raspberry pi 180° servo control using pca9685 Requirements Requires you to have the adafruit servokit library installed You

1 Jan 10, 2022
Lego Mindstorms EV3 and Lego Spike Prime

Lego Mindstorms EV3 and Lego Spike Prime What is FLL? The FIRST LEGO League Challenge Robotics Tournament challenges students from 9 to 16 years old t

Danimar Campos da Costa 1 Nov 14, 2021
A simple program to make MSI Modern 15 speaker and microphone mute led work.

MSI Modern 15 sound led fixup for linux A simple program to fix the MSI Modern 15 speaker and microphone mute LEDs. Installation Requirements pulsectl

Seyed Danial Movahed 4 Oct 18, 2022
Estimation of whether or not the persons given information will have diabetes.

Diabetes Business Problem : It is desired to develop a machine learning model that can predict whether people have diabetes when their characteristics

Barış TOKATLIOĞLU 0 Jan 20, 2022
Component for deep integration LedFx from Home Assistant.

LedFX for Home Assistant Component for deep integration LedFx from Home Assistant. Table of Contents FAQ Install Config Performance FAQ Q. What versio

Dmitry Mamontov 28 Dec 13, 2022
This repository contains all the code and files needed to simulate the notspot quadrupedal robot using Gazebo and ROS.

Notspot robot simulation - Python version This repository contains all the files and code needed to simulate the notspot quadrupedal robot using Gazeb

50 Sep 26, 2022
Mini Pupper - Open-Source,ROS Robot Dog Kit

Mini Pupper - Open-Source,ROS Robot Dog Kit

MangDang 747 Dec 28, 2022
The main aim of this project is to avoid the accidents in shredding ( Waste Recycling Industry )

shredder-Machine-Hand-Safety The main aim of this project is to avoid the accidents in shredding ( Waste Recycling Industry ) . The Basic function of

Shubham Chaudhari 1 Nov 15, 2021
The goal of this project is for anyone with an old printer to be able to double-sided printing.

Welcome to PDF-double-side! Hi! I'm 15. I have a old printer so I can't print double-sided outs. The goal of this project is for anyone with an old pr

DejaVu 4 Dec 28, 2021