BBC micro:bit simulator (MicroPython interpreter) with tkinter canvas
-
microbit root
running_time, sleep
button_a, button_b (simulated with mouse buttons)
temperature (simulated with mouse wheel & middle button) pin0-19 -
microbit.Image
everything -
microbit.display
same as above -
microbit.accelerometer
everything...I guess
value part and gesture part are saparate,
controlled by different window -
microbit.compass
without calibration minigame
might do it later magnetic field controlled by sub-window -
sub control panel
- P: pin
- B: beeper
- R: rotation (for accelerometer)
- G: gesture (for accelerometer)
- C: magnetic field direction (for compass)
maybe not
- merges version code
- fixed a logical bug in music and display, which causes unusual performance when providing empty lists into background thread.
- music module now receives notes with lower-letter names
- removes unnecessary import of sys in _screen
- fixed a bug treating rest note improperly in music
- disables printing events when pressing keyboard
- missed hook for several sub-windows added
- compass module
- some optimization about spatial control sub-window
- unusual version code
- I guess there's not much time
Test it out!
- gesture part of accelerometer
yes it's done
- removes the ValueError bug when music.pitch gets a frequency 0
Call me THREAD MASTER :(
- sub-window system separated from _screen.py
- music system
- playing and pitching
- support of switching between pins
- pressing B calls the beeper controller window
- accelerometer system (numeric value part)
- getting acceleration value on XYZ axis
- pressing R calls a window to control spatial rotation with mouse
- fixed background display system
now restarting background thread won't cause exceptions - fixed improper import path redirect
- fixed some misunderstanding about Image operation functions, and a following bug causing display.scroll to loop infinitely
- environment path redirect for music/audio import
- GUI
- button status now showed by GUI button
- mouse hover to check LED status at leftbottom of screen
- support for pins
- read, write, etc.
- pressing P toggles pin information window
- some code refactor
- full operational display module
- disables float LED lightness and image input
yes because real ones don't - minor alterations, bug fixes and
- more abundant README.md \yay/
- separate main widget into a standalone thread
- simple __doc__ for codes
- information bar (temporarily) at bottom
-
code structure refactor
-
display
- auto cut long image into list
- re-support float LED lightness
-
image
- defination of __sub__ operator
-
display
- new appearance of LED screen
-
Image
- Image.fill
- Image.invert
- Image.blit
- Image.crop
- Image + Image; Image * value
- constant images
-
tons of bugs fixed
- basic Image operations
- basic display module
- button_a & button_b input implement with mouse click