Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

CircuitPython - a Python implementation for teaching coding with microcontrollers

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
license.rst
NotificationsYou must be signed in to change notification settings

python-ugame/circuitpython

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Build StatusDoc StatusGitterDiscord

This is an open source derivative ofMicroPythonfor use on educational development boards designed and sold byAdafruit.

As a MicroPython derivative, this implements Python 3.x on microcontrollers suchas the SAMD21 and ESP8266.

Project Status

This project is in beta. Most APIs should be stable going forward.

Supported boards

Designed for CircuitPython

Other

Download

Official binaries are available through thelatest GitHub releases.Continuous (one per commit) builds are availableherewhich includes experimental hardware support.

Documentation

Guides and videos are available through theAdafruit Learning System under theCircuitPython category andMicroPython category. An API reference is also available onRead the Docs.

Contributing

SeeCONTRIBUTING.mdfor full guidelines but please be aware that by contributing to this project youare agreeing to theCode of Conduct.Contributors who follow theCode of Conductare welcome to submit pull requests and they will be promptly reviewed byproject admins. Please join theGitter chat orDiscord too.

Differences fromMicroPython

  • Port for Atmel SAMD21 (Commonly known as M0 in product names.)
  • Nomachine API on Atmel SAMD21 port.
  • Only supports Atmel SAMD21 and ESP8266 ports.
  • The order that files are run and the state thats shared between them. The goal is to clarify the role of each file and make them independent from each other.
    • boot.py (orsettings.py) runs only once on start up before USB is initialized. This lays the ground work for configuring USB at startup rather than it being fixed. Since serial is not available, output is written to boot_out.txt.
    • code.py (ormain.py) is run after every reload until it finishes or is interrupted. After its done the vm and hardware is reinitialized.This means you cannot read state from code.py in the REPL anymore. This was changed to reduce confusion about pins and memory being in use.
    • After code.py the REPL can be entered by pressing any key. It no longer shares state with code.py so its a fresh vm.
    • Autoreload state will be maintained across reload.
  • Adds a safe mode that does not run user code after a hard crash or brown out. The hope is that this will make it easier to fix code that causes nasty crashes by making it available through mass storage after the crash. A reset (the button) is needed after its fixed to get back into normal mode.
  • Unified hardware APIs:audioio,analogio,busio,digitalio,pulseio,touchio,microcontroller,board,bitbangio (Only available on atmel-samd21 and ESP8266 currently.)
  • Tracks MicroPython's releases (not master).
  • No module aliasing. (uos andutime are not available asos andtime respectively.) Insteados,time, andrandom are CPython compatible.
  • Newstorage module which manages file system mounts. (Functionality fromuos in MicroPython.)
  • Modules with a CPython counterpart, such astime,os andrandom, are strictsubsets of theirCPython version. Therefore, code from CircuitPython is runnable on CPython but not necessarily the reverse.
  • tick count is available astime.monotonic()
  • atmel-samd21 features
    • RGB status LED
    • Auto-reload after file write over mass storage. (Disable withsamd.disable_autoreload())
    • Wait state after boot and main run, before REPL.
    • Main is one of these:code.txt,code.py,main.py,main.txt
    • Boot is one of these:settings.txt,settings.py,boot.py,boot.txt

Project Structure

Here is an overview of the top-level directories.

Core

The core code of MicroPython is shared amongst ports including CircuitPython:

  • docs High level user documentation in Sphinx reStructuredText format.
  • drivers External device drivers written in Python.
  • examples A few example Python scripts.
  • extmod Shared C code used in multiple ports' modules.
  • lib Shared core C code including externally developed libraries such as FATFS.
  • logo The MicroPython logo.
  • mpy-cross A cross compiler that converts Python files to byte code prior to being run in MicroPython. Useful for reducing library size.
  • py Core Python implementation, including compiler, runtime, andcore library.
  • shared-bindings Shared definition of Python modules, their docs and backing C APIs. Ports must implement the C API to support the corresponding module.
  • shared-module Shared implementation of Python modules that may be based oncommon-hal.
  • tests Test framework and test scripts.
  • tools Various tools, including the pyboard.py module.

Ports

Ports include the code unique to a microcontroller line and also variationsbased on the board.

  • atmel-samd Support for SAMD21 based boards such asArduino Zero,Adafruit Feather M0 Basic, andAdafruit Feather M0 Bluefruit LE.
  • bare-arm A bare minimum version of MicroPython for ARM MCUs.
  • cc3200 Support for boards basedCC3200 from TI such as theWiPy 1.0.
  • esp8266 Support for boards based on ESP8266 WiFi modules such as theAdafruit Feather HUZZAH.
  • minimal A minimal MicroPython port. Start with this if you wantto port MicroPython to another microcontroller.
  • pic16bit Support for 16-bit PIC microcontrollers.
  • qemu-arm Support for ARM emulation throughQEMU.
  • stmhal Support for boards based on STM32 microcontrollers including the MicroPython flagshipPyBoard.
  • teensy Support for the Teensy line of boards such as theTeensy 3.1.
  • unix Support for UNIX.
  • windows Support forWindows.
  • zephyr Support forZephyr, a real-time operating system by the Linux Foundation.

CircuitPython only maintains theatmel-samd andesp8266 ports. The rest are here to maintain compatibility with theMicroPython parent project.

About

CircuitPython - a Python implementation for teaching coding with microcontrollers

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
license.rst

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C88.6%
  • Python6.0%
  • C++3.4%
  • Makefile1.1%
  • Assembly0.7%
  • Shell0.1%
  • Other0.1%

[8]ページ先頭

©2009-2025 Movatter.jp