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
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
Terkin is a flexible data logger application for MicroPython and CPython environments.

Terkin Data logging for humans, written in MicroPython. Documentation: https://terkin.org/ Source Code: https://github.com/hiveeyes/terkin-datalogger

hiveeyes 45 Dec 15, 2022
Python implementation of ZMP Preview Control approach for biped robot control.

ZMP Preview Control This is the Python implementation of ZMP Preview Control app

Chaobin 24 Dec 19, 2022
Activate Numpad inside the touchpad with top right corner switch or F8 key

This is a python service which enables switching between numpad and touchpad for the Asus UX433. It may work for other models.

Mohamed Badaoui 230 Jan 08, 2023
Home Assistant integration for energy consumption data from UK SMETS (Smart) meters using the Hildebrand Glow API.

Hildebrand Glow (DCC) Integration Home Assistant integration for energy consumption data from UK SMETS (Smart) meters using the Hildebrand Glow API. T

Aniket 153 Dec 30, 2022
Projet d'integration SRI 3A ROS

projet-integration-sri-2021-2022 Projet d'intégration ROS SRI 2021 2022 Organization: Planification de tâches Perception Saisie: Cédérick Mouliets Sim

AIP Primeca Occitanie 3 Jan 07, 2022
uOTA - OTA updater for MicroPython

Update your device firmware written in MicroPython over the air. Suitable for private and/or larger projects with many files.

Martin Komon 25 Dec 19, 2022
Zev es un Bot/Juego RPG de Discord creado en y para aprender Python.

Zev es un Bot/Juego RPG de Discord creado en y para aprender Python.

Julen Smith 3 Jan 12, 2022
Setup DevTerm to be a cool non-GUI device

DevTerm hobby project I bought this amazing device: DevTerm A-0604. It has a beefy ARM processor, runs a custom version of Armbian, embraces Open Sour

Alex Shteinikov 9 Nov 17, 2022
3d printable macropad

Pico Mpad A 3D printable macropad for automating frequently repeated actions. Hardware To build this project you need access to a 3d printer. The mode

Dmytro Panin 94 Jan 07, 2023
Make your MacOS keyboard brightness fade in and out

Make your MacOS keyboard brightness fade in and out. (It's working depends on the Kbrightness file, which only works for 2015 Macs, so this will only work on 2015 Macs.)

1 Dec 16, 2021
Raspberry Pi Spectrometer

PySpectrometer 2021-03-05 Raspberry Pi Spectrometer The PySpectrometer is a Python (OpenCV and Tkinter) implementation of an optical spectrometer. The

Les Wright 538 Jan 05, 2023
Home Assistant custom integration to fetch data from Powerpal

Powerpal custom component for Home Assistant Component to integrate with powerpal. This repository and integration is not affiliated with Powerpal. Th

Lawrence 32 Jan 07, 2023
Pi-hole with Inky pHAT ePaper display

Pi-hole with Inky pHAT ePaper display This is my Pi-hole with an ePaper display.

11 Sep 13, 2022
A battery pack simulation tool that uses the PyBaMM framework

Overview of liionpack liionpack takes a 1D PyBaMM model and makes it into a pack. You can either specify the configuration e.g. 16 cells in parallel a

PyBaMM Team 40 Jan 05, 2023
Examples to accompany the

Examples to accompany the "Raspberry Pi Pico Python SDK" book published by Raspberry Pi Trading, which forms part of the technical documentation in support of Raspberry Pi Pico and the MicroPython po

Raspberry Pi 589 Jan 08, 2023
CircuitPython Driver for Adafruit 24LC32 I2C EEPROM Breakout 32Kbit / 4 KB

Introduction CircuitPython driver for Adafruit 24LC32 I2C EEPROM Breakout Dependencies This driver depends on: Adafruit CircuitPython Bus Device Regis

foamyguy 0 Dec 20, 2021
Workshop for student hackathons focused on IoT dev

Scenario: The Mutt Matcher (IoT version) According to the World Health Organization there are more than 200 million stray dogs worldwide. The American

Microsoft 15 Aug 10, 2022
Keystroke logging, often referred to as keylogging or keyboard capturing

Keystroke logging, often referred to as keylogging or keyboard capturing, is the action of recording the keys struck on a keyboard, typically covertly, so that a person using the keyboard is unaware

Bhumika R 2 Jan 11, 2022
DongshanPI Seven for STM32MP157DAC.

STM32MP1 Buildroot External Tree

DongshanPI 14 May 06, 2022