#circuitpython-dev
1 messages Β· Page 147 of 1
you don't have rgb.mpy?
sure I do
the rgb.mpy can be removed without error. the rgb.py cannot be removed (otherwise ... no attribute 'color565' )
it should be there
well, I have them both. but not enough memory π
as long as .py files is there, CircuitPython will load that
by the way, changing the order of imports may help
I tried ... in vain
are you also importing anything else?
import time
import board
import busio
import digitalio
import adafruit_gfx.gfx as gfx
import adafruit_rgb_display.ili9341 as ili9341
the first 4 don't take memory, as they are built-in
per the example in github..``` from adafruit_rgb_display import color565
but you should remove rgb.py and only use the mpy
@opaque patrol: doing this brings me back to 'AttributeError: 'module' object has no attribute 'color565' '
@timber mango I just realized I gave you the wrong link for the mpy files
it's the micropython version of the library
you should get the circuitpython one
@timber mango What version of CP do you have and what is the version on the library? The library version can be found in the VERSION.txt file in the lib folder
sorry about that
The library is included in the bundle as well https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases/download/20180207/adafruit-circuitpython-bundle-2.2.1-mpy-20180207.zip
@opaque patrol: it is the bundle 2.2.1 that I installed, the same 2.2.1 for CP (as far as I understand ... sure I did not get anything like version 3.x.x)
I am loading 2.2.1 on my Metro M0 to check. It was in 2.2.0 so you would think it is in 2.2.1
@stuck elbow: do not worry - i replaced according to your new reference but still: I must have rgb.py as well
same result about memory consumption
@slender iron this doesn't look correct:
MemoryError: memory allocation failed, allocating %u bytes
If you have rgb.py then that might cause a name collision with the color565 in the mpy
@opaque patrol: is it not an file '...uf2'-file that starts my CP? in this case I run 2.2.3
The uf2 contains circuitpython. The libraries are in the lib folder. Those are in the link I pasted above
If you look in the lib folder, there should be a folder named 'adafruit_rgb_display' and this contains the library files including rgb.mpy
correct - it is there. the bundle I used up to now dated Feb-05.
If you type this in the REPL, does it give an error? ``` from adafruit_rgb_display import color565
fine, no errors.
Then you should be able to use it in your file. Unless you are also importing the rgb.py file
The gfx is for micropython. I think everything that is in that is in the rgb_display cp library
Try using on these as your imports ```import time
import board
import busio
import digitalio
import adafruit_rgb_display.ili9341 as ili9341
from adafruit_rgb_display import color565
Here is the example in the ILI9341 file....I can't say for sure if it is up-to-date, but it should be better than trying to use the gfx ``` import busio
import digitalio
import board
from adafruit_rgb_display import color565
import adafruit_rgb_display.ili9341 as ili9341
spi = busio.SPI(clock=board.SCK, MOSI=board.MOSI, MISO=board.MISO)
display = ili9341.ILI9341(spi, cs=digitalio.DigitalInOut(board.GPIO0), dc=digitalio.DigitalInOut(board.GPIO15))
display.fill(color565(0xff, 0x11, 0x22))
display.pixel(120, 160, 0)
It looks pretty much the same ...
I enclose the (meanwhile) modified example name "ili9341_test"# Simple test of primitive drawing with ILI9341 TFT display.
This is made to work with ESP8266 MicroPython and the TFT FeatherWing, but
adjust the SPI and display initialization at the start to change boards.
Author: Tony DiCola
License: MIT License (https://opensource.org/licenses/MIT)
#import gfx
#import ili9341
#import machine
Build-in Libraries
import time
import board
import busio
import digitalio
Extra Libs which take RAM
import adafruit_rgb_display.ili9341 as ili9341
from adafruit_rgb_display import color565
import adafruit_gfx.gfx as gfx
Setup hardware SPI at 32mhz on ESP8266 MicroPython.
#spi = machine.SPI(1, baudrate=32000000)
Setup Metro-M0 SPI bus using pins (instead of hardware SPI):
from board import D13, D12, D11, D9, D10
spi = busio.SPI(clock=D13, MOSI=D11, MISO=D12)
For the Metro-M0
dc = digitalio.DigitalInOut(board.D9)
cs = digitalio.DigitalInOut(board.D10)
Setup ILI9341 display using TFT FeatherWing pinout for CS & DC pins.
display = ili9341.ILI9341(spi, cs=cs, dc=dc)
Optionally create faster horizontal and vertical line drawing functions using
the display's native filled rectangle function (which updates chunks of memory
instead of pixel by pixel).
def fast_hline(x, y, width, color):
display.fill_rectangle(x, y, width, 1, color)
def fast_vline(x, y, height, color):
display.fill_rectangle(x, y, 1, height, color)
Initialize the GFX library, giving it the display pixel function as its pixel
drawing primitive command. The hline and vline parameters specify optional
optimized horizontal and vertical line drawing functions. You can remove these
to see how much slower the filled shape functions perform!
graphics = gfx.GFX(240, 320, display.pixel, hline=fast_hline, vline=fast_vline)
Now loop forever drawing different primitives.
...
@timber mango Can you edit your message and place three backticks (the key at the top left of your keyboard with the tilde) on either side of your code? It makes it much easier to read.
# adjust the SPI and display initialization at the start to change boards.
# Author: Tony DiCola
# License: MIT License (https://opensource.org/licenses/MIT)
#import gfx
#import ili9341
#import machine
# Build-in Libraries
import time
import board
import busio
import digitalio
# Extra Libs which take RAM
import adafruit_rgb_display.ili9341 as ili9341
from adafruit_rgb_display import color565
import adafruit_gfx.gfx as gfx
# Setup hardware SPI at 32mhz on ESP8266 MicroPython.
#spi = machine.SPI(1, baudrate=32000000)
# Setup Metro-M0 SPI bus using pins (instead of hardware SPI):
from board import D13, D12, D11, D9, D10
spi = busio.SPI(clock=D13, MOSI=D11, MISO=D12)
# For the Metro-M0
dc = digitalio.DigitalInOut(board.D9)
cs = digitalio.DigitalInOut(board.D10)
# Setup ILI9341 display using TFT FeatherWing pinout for CS & DC pins.
display = ili9341.ILI9341(spi, cs=cs, dc=dc)
# Optionally create faster horizontal and vertical line drawing functions using
# the display's native filled rectangle function (which updates chunks of memory
# instead of pixel by pixel).
def fast_hline(x, y, width, color):
display.fill_rectangle(x, y, width, 1, color)
def fast_vline(x, y, height, color):
display.fill_rectangle(x, y, 1, height, color)
# Initialize the GFX library, giving it the display pixel function as its pixel
# drawing primitive command. The hline and vline parameters specify optional
# optimized horizontal and vertical line drawing functions. You can remove these
# to see how much slower the filled shape functions perform!
graphics = gfx.GFX(240, 320, display.pixel, hline=fast_hline, vline=fast_vline)
# Now loop forever drawing different primitives.
...```
π
@idle owl: the backtick is not on all keyboard in the same position. indeed, I had to google how backtick looks like to find it top right hand sided ... π
Oh good to know! Thank you!
@timber mango Remove the gfx from import and comment out the line ``` graphics = gfx.GFX(240, 320, display.pixel, hline=fast_hline, vline=fast_vline)
These functions are built in to the ILI9341 library in CP
display.fill_rectangle(x, y, width, 1, color)
def fast_vline(x, y, height, color):
display.fill_rectangle(x, y, 1, height, color)
They can be called simply as ```
display.hline(x,y,width, 1, color)
display.vline(x,y,height, color)
success, I can apply the two instructions above.
how can I write text to the display?
I'm afraid we don't have the library for that yet
thanks to all of you !!!!
... i learnt quite a lot tonight. It's midnight in Europe and I call it a day. I'll drop by from time to time to see how libraries progress.
Good night - and good luck π
@stuck elbow https://github.com/adafruit/circuitpython/issues/569 We've got a bug for memory allocation failed, allocating %u bytes. It manifests in other ways too.
The %u means unknown π
@tulip sleet oh, cool
@tulip sleet I'm trying to get the gamepad module to work in 3.0, but I'm hitting a weird problem β it works when the GamePad object is created from the REPL, but not when it's in a frozen module
@stuck elbow can you import it at all when it's frozen?
yes, importing works, it's where I create it that matters
the crash happens in the tick function as soon as it tries to read the pin state
did you freeze gamepad or something that uses it?
something that uses it
if you .mpy the something that uses it and import that, does it also crash?
yes
so the problem is that the using code is .mpy, not that it's frozen? If the using code is .py, it's OK?
yes, sorry, I wasn't precise
ok, one more datapoint, if the .mpy file imports a .py file in which GamePad is created, it crashes too
I will report an issue and describe it in detail
@stuck elbow thanks!
Hi everyone. I just added a new linux system and went with Mint. I'm wondering if I want to use the adafruit classic playground. How do I install circuitpython on Mint?
Probaby just need an editor, circuit python is just as easy as editing a text file. but the writeup contains information on linux. https://learn.adafruit.com/welcome-to-circuitpython?view=all
Mu is our recommended editor and is cross platform
I'm able to unzip the tarball but I"m not sure what to do from there?
do you have any board from Adafruit, like the Feather M0 or the Circuit Playground Express?
@brazen bluff circuitpython executes on the micro controller, not on your host system. You can use your linux system to install circuitpython on the microcontroller, but unfortunately, it wonβt run on a CircuitPlayground Classic. You need one of the supported boards. There is a list here. https://www.adafruit.com/category/956.
hello world!
@steady flower Hello!
I'm new here. just created an account
Welcome - Are you using CircuitPython?
yes. I have a Circuit Playground Express.
Nice!
I have some basic programming experience with it-I've made simple animations with the Neopixels and stuff
It is a great platform for leaning - both programming and how to use the various sensors.
I agree.
I got the STLs of the case that the Ruiz brothers made for the Playground, and printed one out for mine. it works great!
That's great! They have provided some great cases for different boards and projects.
cool. thanks
So none of the outputs on my trinket m0 are working
Can someone help please?
I need it for a project that's due tomorrow
Even pin 13 isn't working
can you tell us what you are doing exactly, and how you know it's not working?
import board
import time
motor = DigitalInOut(board.D1)
motor.direction = Direction.OUTPUT
led = DigitalInOut(board.D13)
led.direction = Direction.OUTPUT
while True:
motor.value == True
led.value == True
print("on")
time.sleep(1)
motor.value == False
led.value == False
print("off")
time.sleep(1)```
It prints on and off, but nothing is actually happening
what do you expect to be happening?
Pin 13 and the D1 should turn on, wait a second, and turn off
how are you checking if they are on/off?
The led onboard should turn on, and the led cconnected to d1 should turn on (it's labelled as motor, because I put a relay there before, but used an led for debugging)
They were working before
how is the led connected?
D1 to resistor to led to ground
Also, the led is staying on and not turning off and the onboard led is doing the opposite
and the cathode is to ground?
you say it worked before, what did you do with it just before it stopped working?
I changed the relay
But the relay before wasn't working either
And it was working, but then it just stopped
how was the relay connected? is it just a relay, or is it a relay module with a transistor on it?
Relay with transistor and optocoupler
Anyone know if usb communication is in the Cpython, so I can communicate with another device via usb?
@rotund basin what kind of another device? and by cpython you mean the normal python on your PC?
@carmine hornet I'm sorry, I'm out of ideas about what you could try
I going to re-flash circuitpython to see if that helps
you can also try disconnecting everything you have connected
Unless I have misunderstood something design guide should have matching the definition with the Unified Sensor Driver. Magnetometers (usually) return X, Y and Z values instead of just one.
@stuck elbow I mean a gps or a cellular module that is connected to a feather by usb
Usb = full duplex communications
I'm not sure circuitpython supports the host mode of the usb
Hmm
I think that the samd21 microcontroller can act as a host in some limited cases (for a keyboard, for example), but otherwise it's mostly in a device mode
that is, something you connect to the usb, not something that you connect usb to
Ok cool, it's not that important at the moment π
@carmine hornet I treied you code on a trinket_m0 and get teh same results - D13 stays on - looking at it.
@carmine hornet I see the problem, you use == instead of =
Of course I did
sorry I didn't catch that
yes - just saw the ==!!
And D1 was staying on because of the way my circuit was designed
sorry - I was looking at the wong led (power was on π . replacing the == with = now D13 blinks. I don;t have D1 connected
32bit unsiged integer could store timestamps until year 2106. With unsigned you lose the possibility to represent days before epoch though.
its not turning off? You sure its not a latching relay?
The relay doesn't turn on or off
I tried the cicuit with an led and it works
I also tried it with the relay connected to 3v and it works
I'm rebuilding the circuit now
ok
I am not sure what you are doing but I don't see why it would need one, but then again I am unfarmiliar with your project.
an Led would
you want to limit current to an LED to prevent from burning it out, but a relay I'm not really sure but I would think as long as your pulsing it within its rating I don't see why you would need one
yay!
are you using a transistor?
Yes, and an optocoupler
ok cause was searching and found some troubleshooting for a npn transistor but not to do with an optocoupler
hmm I hope that don't mean a dead relay, faint is bad
It works when I connect it from 5v to ground
Also, the optocoupler and transistor work, I tried them with an LED
Yea I'm not really sure, wish I knew moer about hardware maybe I can look up while you tinker.
Just tried with a different relay
Louder noise, no motor
Oh, the battery isn't on
Odd, the motor sometimes works
perhaps this post will help
it includes a schem and is using the same parts as you
yea was wondering that but heh
I'm also using the power from the trinket
Maybe a different power supply will help
to run the motors you mean? yea.
No, in the circuit diagram the relay is connected to a seperate power supply
IT WORKWETKJRKJLWRJIORGJIDFPGJOFDOJGPDFJOGFOGJPS
Sorry
But it works
yay!
yes this is correct, thanks for the catch - on our mag sensors we do this already :)
On the circuit playground express, is there a way to control the volume of the speaker? I see the tone_volume in _sine_sample, but I'm not sure how one would modify that function to allow the volume to be defined by a parameter
I know there is a set volume in makecode, will have to dig if it gives up the code
examining the code looks like:
music.setVolume(128)
but that is the javascript from makecode
is that javascript? I am working in circuitpython
ahh. Hmm. good to see that it is possible, but now to figure out how that would be done in python. Is the source for that javascript available somewhere?
yea just trying to see if maybe there is an example brb
so something like this? maybe?
https://books.google.com/books?id=Bic3DwAAQBAJ&pg=PA149&lpg=PA149&dq=circuit+python+volume&source=bl&ots=yztncV9WCY&sig=mrFGJ-9w--0EbY7Vu33c-8YpS2U&hl=en&sa=X&ved=0ahUKEwiLob6rxJ7ZAhVKx2MKHa5tAGcQ6AEIdDAF#v=onepage&q=circuit python volume&f=false
dunno that is all over the place too bad tony or someone is not on
I don't know if you can adjust the volume directly but theoretically the amplitude of the sine wave controls volume (I think)
yes, BD, I do believe you are right. now I just need to add a function to change that dynamically.
@timber mango You are the first person to recognize the initials
hah, my technician's license finally pays off. what do I win? π
I tested with the code at https://learn.adafruit.com/adafruit-circuit-playground-express/circuitpython-audio-out ```
v2 = 14.5
for i in range(length):
sine_wave[i] = int(math.sin(math.pi * 2 * i / 18) * (2 ** v2) + 2 ** 15)
I think the value I replaced with v2 might be changing the amplitute. It is difficult to tell
yes, that would give you 15 steps of volume to play with?
No, I am still testing it...
that may be a bit much (2^15) to fiddle with. maybe match the makecode 2^7 value?
I modified the sample code from above to increment the value so you can get an idea... ```
from digitalio import DigitalInOut, Direction
import audioio
import board
import array
import time
import math
FREQUENCY = 440 # 440 Hz middle 'A'
SAMPLERATE = 8000 # 8000 samples/second, recommended!
Generate one period of sine wav.
def gen_sine_wave(v2):
length = SAMPLERATE // FREQUENCY
sine_wave = array.array("H", [0] * length)
for i in range(length):
sine_wave[i] = int(math.sin(math.pi * 2 * i / 18) * (2 ** v2) + 2 ** 15)
return sine_wave
enable the speaker
spkrenable = DigitalInOut(board.SPEAKER_ENABLE)
spkrenable.direction = Direction.OUTPUT
spkrenable.value = True
vs = 14.0
while vs < 16.0:
vs += 0.25
print(vs)
sine_wave = gen_sine_wave(vs)
sample = audioio.AudioOut(board.SPEAKER, sine_wave)
sample.frequency = SAMPLERATE
sample.play(loop=True) # keep playing the sample over and over
time.sleep(1) # until...
sample.stop() # we tell the board to stop
Not sure if that helps or not, It might be changing the tone, I don't have a good ear for that
here is a guitar project that describes adjusting the volume to get rid of the high volume buzz, I was trying to isolate the exact line but I'm not having much luck, anyway it might be something to look over, he also has code on github here is the link:
http://scruss.com/blog/2017/12/27/circuit-playground-express-chord-guitar/
He adjusted the wav files to change the volume
ahh ok was wondering why I could not find an adjustment even in the github doh sorry
At the bottom it says "This is roughly how I sythesized the samples" is a link to another articule which contains a link to Sox, a free sound processing program
thanks for the info, all. I'll look into this further and put in an issue on the repository. I'm not quite to the level of putting in a pull request myself
@timber mango When you get to that point, don't hesitate to ask for help with GitHub and git!
@idle owl I will keep that in mind! I'm very impressed by the community that works on circuitpython. I know you're working hard on that, so thank you for all your work!
I'm glad to hear that! And we all thank you π
@timber mango Scrolling back... What code are you using? There's some issues with a couple of the snippets posted and I want to make sure you're starting on the right track.
@idle owl I'm working from scratch with the circuitpython library. I'm working on the idea of a cpx theremin, but I need to be able to change the volume of the tone quickly in response to a change in capacitance on one of the inputs
Oh nice!
the idea is nice, but as I've come to appreciate lately: PoCorGTFO π
Ok. We updated the documentation in a few places as we found better ways to work with the onboard speaker on the CPX. As well, there are updates in CircuitPython itself to make the sound stuff work way better. So make sure you're using the most up-to-date builds as you get started.
@idle owl ohgood! where would I find that? I found a bad linke on https://learn.adafruit.com/remote-control-tree-ornament-with-circuit-playground-express/code-the-circuit-playground-express for the libraries
Which link?
@idle owl " install the library bundle onto your board as shown here. " it links to https://learn.adafruit.com/adafruit-circuit-playground-express/about-circuitpython-libraries when it should link to https://learn.adafruit.com/adafruit-circuit-playground-express/circuitpython-libraries
Hello everyone. I've been enjoying CircuitPython a lot. I noticed that my project stops after a few hours and it seems to be running out of memeory. Is it normal to manually call the MicroPython garage collection occaisonally? Or shold I just arange to only allocate memeory at startup? Other ideas? Any answers appreciated and nice job on the platform!
garbage* not garage π
It's not necessarily abnormal, but you also shouldn't necessarily need to run garbage collection. What's the project?
have you tried leaving it running with a serial connection open? maybe there is an error being thrown that would be helpful in figuring out where the issue is coming from?
It's a little alarm clock that get time from NIST TCP TIME protocol (a string that they send you when you conenct). I return a list of [hours,minutes,seconds] from a function that gets time from the string. I think that is the things that is alllocating. I was jsut surprised since I'm new to Python and especially this Python.
Oh and there is some string formatting too whcih might allocate.
Hey bsx, no exceptiuno, btu I added "print("free: " + str(gc.mem_free()))" and it creeps up every loop π
Neat project!
Or down i mean!
Hmm ok
So do you guys have any "run forever" CircuitPython projects?
I have a lamp that's been running for 3 days but it's not gathering more data, it simply runs its loop.
It does sound like you're loading up memory and it's not getting cleared.
same. I have something waiting for input from button or touch, but it doesn't connect to anything outside those inputs. how are you doing the TCP connection? is it possible that you are caching something from that connection that may not be clearing when it loops?
# Get the time string from NIST. This uses time procotol rather than
# more efficient NTP, because I could not find a way in MicrpPyton to
# get date and time from seconds since 1970.
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#s.connect(('βtime.nist.gov', 13))
s.connect(('132.163.97.2', 13))
b = s.recv(1024)
s.close()
return b.decode('ASCII')
Have you tried adding a gc.collect() in it to see if it helps? I've not worked with gc enough to know how effective it is in code - I've usually used it in the REPL.
# Example: b'\n58158 18-02-09 17:26:41 00 0 0 802.0 UTC(NIST) * \n'
s = s.replace('-', ' ')
s = s.replace(':', ' ')
fields = s.split()
hours = int(fields[4])
minutes = int(fields[5])
seconds = int(fields[6])
# Get rid fo military time
if hours > 12:
hours = hours - 12
# Convert to PST
hours = hours - 8
if hours < 0:
hours = hours + 12
return [hours, minutes, seconds]```
kattNI: I jsut tried using "gc.enable()" to see that exact thing
We currently have an issue open to add gm.time - it's being worked on but it's not implemented yet.
Ya that issue came from a convo with me π
Oh nice! Ok
Oh ok, good!
Alright, alright, still learnign the platform. Good stuff and thanks for your thoughts.
You're welcome! Never hesitate to ask. Multiple times I've asked a question and realised my answer simply from talking it out. It happens!
@neon ferry Thank you for sharing, I didn't realize that was something to worry about. gc.enable() has been added to my knowledge base now!
I'm used to the desktop as well!
It's an unsual case to need it. There are places where CircuitPython goes garbage collection on its own, but obviously in this case, it's not at times that are helping.
But gc is great to have, it's true.
It's a major part of the decision to use CircuitPython for sure. THat adn you all seem to have done the work for the boards...
π
Anyway, time to go make a box for it! See you next time
@neon ferry gc.enable() turns on garbage collection, but it's turned on already by default. To force a garbage collection at a particular time, do gc.collect(). If you want to double-check whether it's on, do gc.isenabled()
Hi Dan. Just saw this. Hmm. Maybe that was not my issue then. It would have been strange to have it off by default now that I think about it. Thanks for the reply! I've added some exception handlers, and I'll post back when I figure it out. Jim.
@neon ferry there can still be fragmentation, which might be the problem you're having. So putting a gc.collect() in the main loop might help, and then check and see whether gc.mem_free() is still decreasing steadily. GC is not run until free space gets tight.
I'm going to let it run as it takes a while to die. Maybe it is not even that and I'm instead getting an exception during networking. Thanks for your ideas, it helps! I have some info logged to the serial port now so I won't miss it I think.
Anyone know how to force the mu editor to recognize circuit playground instead of thinking it is looking for a microbit? This is on a mac. CIRCUITPY is mounted, but restarting mu results in it still thinking I am trying to use a microbitl
@candid stump in the bottom right corner, the current mode is shown. it probably says "micro:bit". if you click it, a menu should come up and you can select "Adafruit". https://learn.adafruit.com/welcome-to-circuitpython?view=all#using-mu
@candid stump only more recent versions of mu support circuit playground
what version are you using?
only one thing left to code for first module playground example program, knob selection of midi cc controlelr type
<@&356864093652516868> and everyone else. We're on for our normal meeting tomorrow (Monday) here in Discord. Its at 11 am Pacific / 2 pm Eastern. See you then!
8PM CET, got it!
how are things going @indigo wedge ?
Things are good, it's 7.30AM here, getting ready for work :D
great! π Have a good day. I'm doing my homework before the meeting tomorrow π
Nice!
yup yup, helps me get ahead for the week
@microbuilder and @arturo182 is this ready to merge?
Yes, pending @microbuilder's review.
We had a bad cookiecutter for a while that added extra lines into the README.rst in the ReadTheDocs badge like this:
.. image:: https://readthedocs.org/projects/adafruit-circuitpython-vcnl4010/badge/?version=latest
:target: https://circuitpython.readthedocs.io/projects/vcnl4010/en/latest/
:alt: Documentation Status
It should be:
.. image:: https://readthedocs.org/projects/adafruit-circuitpython-vcnl4010/badge/?version=latest
:target: https://...
Hello CP wizards! I need help: I can't get my gemma m0 to work in my project, code worked fine on my trinket m0. Have been trying to work through the CP guide to fix my issues, but keep hitting dead ends. Hoping someone has a moment to help me troubleshoot tomorrow evening, thanks in advance!
47c8e20 nrf: Make sure to not use SD functions when SD ... - arturo182
29ae4cd nrf: Fix building pca10056 without SD - arturo182
05bd5d4 nrf: Remove nRF51 boards and files, update README - arturo182
8bfdaa8 nrf: Remove SAMD mentions carried over while co... - arturo182
381f47b nrf: Only support SD 132 v2.0.1 and v5.0.0 and ... - arturo182
@fierce oar it's hard without knowing what the issues are
Works with no SD as well as s132 2.0.1 and 5.0.0.
Not directly relate to this pr, but is it intentional that all other properties are lowercase except eCO2 and TVOC? It would make sense to keep all properties lowercase.
@strange juniper so it was just a USB 3.0 issue? (sorry for delay)
@stuck elbow didnβt want to type too much without anyone around for dialogue, figure itβs something simple so Iβll check back after work tonight.
@fierce oar can you describe what happened?
@tidal kiln I had been running the CP NeoPixel sample code on a Trinket M0 with NeoPixels, then I moved everything over to a Gemma M0 and changed the pin number and the NeoPixels wonβt light. When I try to make changes to the main.py file, a small change like just changing the PIN number, I canβt save the file because itβs out of space
Iβm on a MacBook Pro, I tried to reinstall the default files, but not enough space for them even though I deleted everything I could see, so I thought it was the hidden files issue. I didnβt have the energy to dig into terminal last night so I was looking for the files to copy over that keep the hidden files from being placed on the drive but I couldnβt find them
Anywhoo I can post links to what Iβm talking about when Iβm back at my computer after work, gotta hit the traffic now π thanks!
k. later. good luck with commute.
Thanks for the quick review @microbuilder ! :)
7 commits away from 10k π
NP. I don't know how many people will be running this on the PCA10040 but since it's easy to support, we may as well.
Boards needing safe mode support:
- [ ] Feather nRF52
- [ ] pca10040
- [ ] pca10056
Just a note for posterity regarding some questions I was asking yesterday: Dave is correct that the garbage collection is indeed on by default (it would be madness if not), and that was not my problem. (The real problem is not being used to Python yet.) Thank you to all helpers.
(I meant Dan) /over
@neon ferry you can also edit your previous post(s) LIKE THIS! π
without getting too deep into the weeds, can anyone shed any light on this error. ```Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "vl53l0x_test.py", line 13, in <module>
File "vl53l0x_test.py", line 12, in <module>
File "adafruit_vl53l0x.py", line 498, in range
File "adafruit_vl53l0x.py", line 291, in _read_u8
File "adafruit_vl53l0x.py", line 291, in _read_u8
File "adafruit_bus_device/i2c_device.py", line 86, in readinto
TypeError: extra keyword arguments given
@tidal kiln Goctha
What I am looking at is https://github.com/adafruit/circuitpython/blob/master/shared-bindings/busio/I2C.c#L185 and I wonder if this is where the error is coming from, Something in the argument list... Am I correct in thinking this code is what gets executed by the i2c read?
@solar whale what's vl53l0x_test.py?
I've never seen this on any other board, so I suspect it is an nrf52 issue, but wanted to see if anyone recogniced somethin inthe bus_device stuff that would indicate it is an issue there.
@solar whale where is the adafruit_vl53l0x.py code?
@tidal kiln it is the test code for the vl53l0x driver.
Just a sec- I'll post it - slightly modified from example.
from board import *
import busio
import time
import adafruit_bus_device.i2c_device as i2c_device
import adafruit_vl53l0x
with busio.I2C(PA27,PA26) as i2c:
vl=adafruit_vl53l0x.VL53L0X(i2c)
while(True):
print ("distance " , vl.range)
time.sleep(1)
why the context manager for busio.I2C?
line 86 in i2c_device.py just passes in the kwargs it gets, so we have to go back to _read_u8. Could you point to that code?
just a sec
I think taht is what you wanted, correct?
oh I was spelling it wrong "one" vs "el"
what really puzzles me is that it runs for awhile before failing.... the error looks more like a fundamental syntax error.
File "adafruit_vl53l0x.py", line 498, in range
huh. that line raises a timeout exception
https://github.com/adafruit/Adafruit_CircuitPython_VL53L0X/blob/master/adafruit_vl53l0x.py#L498
@solar whale your code looks functionally equivalent to the unmodified example, do you get the same issue running that?
https://github.com/adafruit/Adafruit_CircuitPython_VL53L0X/blob/master/examples/simpletest.py
@tidal kiln I'll try that.
yup ```
import vl53l0x_example
Range: 8190mm
Range: 8190mm
Range: 141mm
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "vl53l0x_example.py", line 25, in <module>
File "adafruit_vl53l0x.py", line 498, in range
File "adafruit_vl53l0x.py", line 291, in _read_u8
File "adafruit_vl53l0x.py", line 290, in _read_u8
File "adafruit_bus_device/i2c_device.py", line 102, in write
TypeError: extra keyword arguments given
it does look like some corruption going on, since the same code is executed multiple times in the loop.
OK - so maybe it is a misreporting of the error - A timeout is a lot more understandable
does line 498 of your copy of adafruit_vl53l0x.py jive with the repo?
I'm running the .mpy from the 3.x Bundle release
time out defaults 0
@fading solstice sorry - I'm not sure how to interpret that - is 0 the error number for timeout?
class VL53L0X:
"""Driver for the VL53L0X distance sensor."""
# Class-level buffer for reading and writing data with the sensor.
# This reduces memory allocations but means the code is not re-entrant or
# thread safe!
_BUFFER = bytearray(3)
def __init__(self, i2c, address=41, io_timeout_s=0):
# pylint: disable=too-many-statements
io_timeout_s=0 if defaults to no timeout
ah - yes - it is usually not enabled.
problably not line 498?
an there is significant variability in the measuremnet times when running this code.
I'll admit, the traceback does not make a lot of sense to me.
agreed
I'll try this on some differnt boards and see if I can reproduce it on anything other than the nrf52.
@slender iron Do you want me to do the release on NeoPixel? Or did you plan to?
FYI - I just ran the same code on a feather52 (I was running it on the PCA10056 NRF52840 DK board) and so far, the error has not been reporducible,
very intersting. This does appear to be an issue with that board. At least that helps focus the investigation. Thanks for the help. @tidal kiln @tulip sleet and @fading solstice
I have been seeing an issue with I2C on the PCA10056 board with the CircuitPython master as of this morning:
Adafruit CircuitPython 3.0.0-alpha.1-140-g0388a57 on 2018-02-12; PCA10056 with NRF52840
I am opening this as a "heads up" and I'll continue to experiment with it.
The error reported below is using the vl53l0x driver from the current "bundle" and the test code from the examples subdirectory of the repo
https://github.com/adafruit/Adafruit_CircuitPython_VL53L0X
for t...
When I see something I don't understand from a reporting mechanism like that traceback, I usually introduce a new error (which functions as a breakpoint) to try to find where things went wrong.
Thanks for the heads up, I have not tested the DKs with I2C at all so it's quite possible it's broken there. Tomorrow I'll grab some I2C boards from my hackerspace to test, if I can reproduce and get a backtrace in C then it will be easier to fix.
On more piece of information - I tried moving SDA and SCL to PB14 and PB15 but I can't get i2c_scan to even see any devices. i2c_scan works on PA27 and PA26 but the code fails with the issues reported above.
@arturo182 FYI - I have not seen any I2C errors with an mcp9808 temperature humidity sensor. I'll try a few more sensors and report.
no mic. just going to listen in this week. nothing new from me. group hugs to all.
Ok thanks @tidal kiln
Keyboard ambience.
A life-rhythm.
We had a bad cookiecutter for a while that added extra lines into the README.rst in the ReadTheDocs badge like this:
.. image:: https://readthedocs.org/projects/adafruit-circuitpython-vcnl4010/badg...
And we're happy to help you with learning GitHub!
π
Hug report for Kevin aka. microbuilder (don't think he's here, someone relay π ) for being super cool about having to review all my PRs and @solar whale for testing my nRF changes π
@indigo wedge Keep rocking it! Kevin is super happy to have the help. You're doing great!
Thanks π
@errant grail That's great to hear, thank you for the feedback! Super helpful.
Port of MicroPython for the sino:bit single board computer (a variant of the BBC micro:bit & Calliope Mini).
Hugs: @tannewt for a really good review and suggestions on Trellis lib. Group hug for support efforts this week on discord; I think the community really values this, and it keeps new members coming back.
I may have found a minor bug in main.py that ships on the Trinket M0. The wheel() function returns an array of values. This works for the DotStar lib but doesnβt seem to work for the NeoPixel lib. Other examples of wheel() for NeoPixels returns a tuple, which does work.
This week I'll try to look at #588 (Rename pins to match nRF convention), #615 (Add safe mode to nRF boards) and general nRF HAL cleanup.
@inner raft You are correct. When did you purchase your Trinket?
Correct π
2 weeks ago
@inner raft Hmm good to know. I was under the impression that we had updated to resolve that. I'll look into it. Thanks for letting us know!
balancing robots >>>
@prime flower If you make a PR for it, you can request the reviews through that. Otherwise you can just let us know when you're ready and make sure we're aware of location and so on. If you do create the PR, make sure to include a comment about not wanting it merged until you have reviews on it.
@inner raft One more question: did you purchase your Trinket directly from Adafruit or through a reseller?
sure! I'm going to push the repo public by Wednesday, EOD. I'll put the new examples (USB-HID, CapTouch, IR) on a PR and the rest has already been committed.
thanks
Direct from adafruit. I can dig up the order num if needed.
@inner raft No need. I wanted as much info as possible on the timeline. This is perfect. Thank you!
30 years for a 9V battery is pretty good lifetime
Ordered Jan 31 it looks like.
@inner raft Perfect, thank you.
@tulip sleet Super idea!
TVOC and eCO2 are not words but acronyms ... is my thinking. anyone want it lowercased? I could shim existing libraries if people feel strongly!
FRAM if you don't need too much storage.
@inner raft i just checked the main.py in the zip here:
https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino/downloads#files
and its version of wheel returns a tuple.
do you still have the copy of main.py that shipped with your trinket?
StringCar CPy repo: https://github.com/CedarGroveStudios/StringCar3v1CPy
nuuuuuuuuuuuuuu hardware!
nu nu nu
itz excitin
I got mine too!
mine come tomorrow π¦
π
mission accomplished? π
pipe dream: usb data pins on feather header
@idle owl ill opena n issue for that now
@timber mango Excellent
Let me know what drivers you want help ported. That's easy...ish. @idle owl
no status updates, lots of little things π played with webusb
yep! π
hug reports to tonyd for updating firmata to CPX, lets us move away from the classic CP
kattni for working on ikea project
arturo for helping with nrf52
dastels for awesome guides - keep em comin!
wait what??
what did i say π¦
oof
ok sommersoft worked on trellis and its great
ok that passed
i didnt swear! promise π
and danhalbert for hacking on webusb / UF2 with me
thats it!
This week, I was able to interface CP2104 PiUART to
an old 8051-based microcontroller project, to replace an
aging MAX3232 serial interface to the host PC. I also
finally figured out how to do the RESET and C2 (two-wire
programming) lines for this development system, which
requires pin sharing. The C2 interface provides in-
circuit debugging as well as programming an uninitialized
device. Since the Silabs C8051F330D only has 20 pins (it
shipped in a now-deprecated DIP-20 package) and C2 isn't
used all that often, it makes sense to share the pins for
both C2CK and /RST (RESET). It all works now, exactly as
the original amrFORTH system did. Serial bootloader code
tweaking on both the host PC and the microcontroller figured
as well.
PiUART == awesome!
Also did a 14-segment alphanumeric display this week, the
hard way. ;) Kept up on discipline and have been diligently
capturing schematics, using Fritzing.
@raven canopy I will, thanks! The guides I'm going to be starting with are Trinket, but I'll definitely open an issue and let you know if we run into needing something ported.
Update: fought LED changes to Trellis all day Saturday; don't try forcing class inheritance when it isn't needed. Got past that, now just working out the buffer slicing for LED & buttons. No movement on isSerialConnected, but that's a quick one to finish. Will visit open issues later in the week for next task.
Makes total sense.
Brb...
Working on it π
im into alpha release!
I think the HAL cleanup will allow me to get a better overview of what works and what doesn't.
just very tiny ones
yahh
i have to update the testers yes
but no strong ETA
the testers burn in the bootloader
i just haven't updated them - so busy!
BUT
you can load in the update_uf2.bin
and MAGICALLY it will become uf2 capable
yes m0 is weird in that you can remove the bootloader prot fuses via userland
which is kinda odd but hey whatever, good for us
i just havent gotten to updating the testers
you can update bootloader whenever you like, its low risk
new UF2 bootloaders: https://github.com/adafruit/uf2-samd21/releases/latest
yep webUSB is the only big update
use the "update-bootloader" files. You can use the .ino version, compile it and upload it via Arduino, or use the .bin with bossac.
yah there is a risk, we've not seen it come up yet
(someone needing to jlink)
that is correct
Hah! Good thing, because I didn't even think about the possibility of bricking anything.
@timber mango Later! Thanks for stopping in!
i have to run too to a 12pm
we gots hive mind here
I gotta go, see ya later.
Later BD
bye @opaque patrol !
@idle owl if you need any arduino <-> circuitpython reference, the explorers guide for metro / explorers for circuitpython is intended for that purpose...also lmk if there are any arduino "helpers" which I might've missed (stuff that's been ported over is mostly in simpleio, like shift/servo/tone)
oh also - totally unrelated but I had to restore an iphone that bricked itself (with all my google authenticator codes on it) this weekend. remember to back up your phones/auth software as often as you back up your computer, and have other forms of recovery than just your phones
@prime flower Will do. I'm going through the super intro Arduino guide first. I'm already to a point of basically being able to translate general functionality. I've literally never done anything with Arduino before last week, so it's getting familiar with Arduino first that I'm doing now.
How far from MPy do you want to get with 8266?
nice! the explorers guides are loosely based off of those. I'm excited to see what you think of arduino, coming from circuitpython
(its kinda rare to see someone going that direction)
Add to that the fact that I learned Python almost entirely through CircuitPython.
I'll let you know π
To bridge that: esp32 waiting on MPy or roll our own?
In Arduino IDE if you want to get into subdirectories for larger projects, name the first level below the project level 'src' so that all paths begin with './src'. #include <Arduino.h> in any .cpp file.
The question comes up alot about it, which is why I ask
π
Thanks!
π
Thanks!

I have a topic, but next week is cool though. Later taters (and caters).
π
bye
bye
@timber mango nah, we wrapped up
ok thx
Thanks everyone. Appreciate the answers and interactive discussion! Bye!
(that was the results for 'aloha')
@slender iron for 3.0 did y'all discuss a beta checklist?
sorry i missed π¦
we talked at a high level but opted to do it out of the meeting
It's nice working having people in the background, too quiet now π
@tidal kiln yes I still have the original main.py that shipped with the trinket saved off
Yeah that's my routine for newly arrived targets -- get the goodies off them before exploring.
Cool! feather_m0_adalogger now boots to FEATHERBOOT - woohoo! Thanks!
This is probably an unaltered factory image. I hope. ;)
6356f5bc3960f5e3d06154648deb677c CURRENT_Trinket_M0.UF2
@inner raft yep. that's returning a list alright. i think there might be different versions of wheel floating around. unfortunately. i just checked the current gemma version and it's a list also. we'll try and update these when we can.
@inner raft do you know how to convert that code to tuple? if not, can provide.
oh yeah I'm an old hat at regular python π
is there a way to get errors out of code when it runs on the Trinket? I'm spoiled by python stack traces in other environments.
REPL
is there a doc on getting REPL access to the trinket's interperter? I missed that somehwere...
Yeah the tutorials have a 'chapter' on that.
ah! so there is. thanks!
Jump in there, skim -- a reasonable shortcut list is in the left column.
You can edit main.py on your host pc hard disk and then copy it to the mounted USB volume, and also have a serial session going to the REPL. There's some interaction between the two.
Yeah this is pretty cool so far! I love being able to just save main.py and have it automatically start running on the trinket! Not that the Arduino way of doing thigs was hard, but this is certinaly slicker π Nice job all.
Type Control C whenever you don't understand and cannot seem to interact with REPL.
neat!
ah that's a cool idea
eval() is a pretty amazing thing
webUSB for
that would be cool
Revamped the make-pins.py script so it generates cleaner pin files which are used instead of the static board ones.
On the DKs you get PX_YY for both board and microcontroller.pin and on the feather52 you get silkscreen names like A0, D13 or SCK for board and PX_YY for microcontroller.pin.
Tested with digitalio and analogio modules.
that was easier than i thought π
While O0 is great for debugging, the produced binary doesn't fit on the
feather52 anymore.
Thanks. Just waiting for the automated tests to run and I'll have a look at this.
We use -Os for both debug and regular builds on the M0/M4. gdb seems fine with this. We also use -flto, which saves a lot of space. And we set -DNDEBUG even on the debug builds. It appears to me to mostly just turn off some assertions.
gdb is fine with -Os, but some variables might get optimized out, so I'd prefer to use the least compression possible while still being able to build and flash. It's a good balance.
@slender iron Sorry for missing the meeting
@slender iron I have been thinking some more about the esp8266 and did some looking around, and I think I want to try to make a 32u4 that speaks MTP on one end, and ampy on the other.
@stuck elbow No apologies needed.
you look a little like an evil overlord with a pet π
hi blinka!
Barney went on a diet
Falcor!
wasn't Falcor more white?
well, yeah
and, like, hairy?
asyncio provides event loop code and asynchronous coroutines that fit perfectly with the I/O needs of these all-I/O boards.
Strongly related to https://github.com/adafruit/circuitpython/issues/197, though things have changed since then. I'd love to see async and await available and used with asyncio. I have time to work on this but would need guidance on how to do the right thing.
@slender iron @tulip sleet Issue posted by Wolf regarding asyncio port. So we can begin to coordinate when to meet up. https://github.com/adafruit/circuitpython/issues/619
RE: evil overlord: "Dr. Adafruit and Misses Blinklesworth" star in "Mho's Resistance 2: Mystery on the Circuit Playground Express" (best I could do after a Monday at work)
https://circuitpython.readthedocs.io/en/stable/ PERMISSION DENIED
No, no .. the Makezine article lists that as the access point. It's a Well-Known <whatzit>
stable, and another one (1.x i think), were turned off b/c of out-dated information.
but, you make a very good point
@slender iron can we redirect on RTD pages? see @timber mango's comments above.
Where can someone begin learning CircuitPython? I assume learn.adafruit.com, but is there anywhere else?
Our API docs are also a great place for lots of tiny examples.
https://makezine.com/2017/08/11/circuitpython-snakes-way-adafruit-hardware/
Then you click on 'Our API docs' (which is a hyperlink) and you get .. bupkus.
I guess the official python tutorial may be a good place to look at too.
we could probably also get Make to update the link...
"latest" should always be available...
Without being toooo strident -- there's a whole rant about persistence of URLs and that sort of thing. Apple basically implemented that rant in the form of persistent identifiers on its HFS+ filesystem.
well, we don't control readthedocs
That's about as good an answer as there can be. "It's not ours to say".
that url wasn't supposed to be published anyways
we have no "stable" docs
I'm not going to argue with you, of course, getting a 404 is a bad experience
@timber mango yah, that makezine link appears to be not valid, are you just pointing that out, or are you wondering where to go?
I'm thinking in terms of the beginner, but he said 'examples' so I was all abouit that.
A short list of major resources might go well in the sidebar of the Tutorials for the main products running CP.
things change. today we'd probably link to this:
https://learn.adafruit.com/welcome-to-circuitpython/overview
which didn't exist when the makezine post went up
I'm kind of Warf ONE BRIDGE when it comes to things (like books) having well-known-locations.
Just seems wrong to change locations by fiat.
"It was hard enough finding it once."
I think you get what I'm saying. ;)
I do, but there is really nothing I can do about it personally
other than to point to the correct address
You do enough already. ;)
I posted the initial message figuring someone would say "oh that's not supposed to happen" and it'd be fixed in 2 minutes.
Any other outcome was off the script. ;)
unfortunately we don't have edit access to the host site
sorry, we kind of use what tools are out there, they are not perfect
you know, computers
at least you can buy a good shovel
Did you happen to see Showtime's /Twin Peaks/ reboot? Dr Jacoby and his shovels. ;)
I did not, I was quoting Erasmus Smums
It's a good quote.
oh, nice, didn't know they can do that
will set up the redirect now
thanks for the link @tulip sleet and the heads up @timber mango
doesn't work π
I'll email caleb and see if he can update it
Is there a single place where CircuitPython examples exist? I feel like the only way I'm finding example code is "random" articles on the Learning pages.
@ebon horizon let me find the repo
In a quandary - weβre building a cool data logger for almost every sensor we can think of for a North Pole expedition. Best board seems to be PyBoard but CP doesnβt appear to run on it. We need to get a RFM69 working to transmit the data. Any suggestions?
all the new guide code goes there
@storm folio it shouldn't be too hard to get the rfm69 drivers for circuitpython working on micropython
@slender iron oh okay. I guess that qualifies as a list.
Anyone have an idea as to how I could smooth out a capacitance read from touchio.TouchIn(board.A1).raw_value without losing too much resolution?
thats the closest I can think of
@ebon horizon we've also added examples to each driver repo as well
@slender iron I didnβt feel like porting the 720+ lines of code if I could avoid it. I already wrote some bridging classes (MyPin,MySPI) to start and that fooled most of it. Iβve found use of βmonotonicβ time and the Micropython supports time differently (easy to fix). Unlike all the other drivers I already ported, this one is more difficult to debug.
@storm folio I guess you will have to implement the rfm69 communication yourself, the cp library is very basic and probably not enough for your use case anyways
@slender iron What I was really hoping for, and I feel like is needed, is a nice "examples" structure. How to digital IO, how to serial, etc. I'm finding the stuff, but it's all scattered about
@storm folio sounds like you've got most of it working!
@ebon horizon https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino?view=all#circuitpython-playground
@slender iron @stuck elbow I suppose I think I may just proxy through a Feather.
@ebon horizon there are similar examples for other boards too (@idle owl and @timber mango plan on unifying them soon)
@slender iron yeah, like. funny, i've been on that page a dozen times the past couple of days, never made it that far down
The Metro M0 Express was my go-to for "I bet they already thought of this" hunting. It was the best documented of the new boards, around July-August 2017 timeframe, I beleived.
maybe 6, but you get my point
@ebon horizon we're still refining the docs π
@slender iron but thank you. that is the kind of list I had in mind
@storm folio it's not like the datasheet for rfm69 is secret knowledge or that a simple communication would require years of study β and I'm guessing you want to have this thing robust
π
great! I'm glad we have it somewhere π
@storm folio so adding extra parts just to run a library is probably not a good idea
one more thing that can break, etc.
The main problem with the documentation is that it explains things in a way that someone with very little experience can follow (and succeed with). This creates a 'oh no .. please .. oh no' problem for the person with a large working vocabulary who just needs to find it quickly.
@timber mango caleb updated the link for me
Is time.monotonic() in milliseconds?
ok thanks
@timber mango I think that we have both reference docs (for experienced people who just need to know what is there) and tutorials etc. (for less experienced people)
I suppose we don't have much in the middle
there's sort of a in between that's missing. not to draw parallels, but kind of like the arduino reference documentation
don't get me wrong, you can find what you need. it's just a bit of work
as always, but it would be nice to make it less work
@ebon horizon something different from https://circuitpython.readthedocs.io/en/2.x/ ?
in the worst case you can look at the source code and the schematics π
Oh I'd rather have the 'oh no' stuff than not have it. It's just I have to develop my own relationship to it (which I have). Mozilla helps a lot because it supports a simple /search kind of interaction with the current web page.
since we're on the topic of documentation. π how do I send characters over serial (from terminal to circuitpython)
@ d I use the schematics all the time. Never found a real discrepancy, either. ;)
@ebon horizon pyserial on your computer and input in circuitpython
that would be something good to have a guide on. you aren't the first person to ask about it
I think you can also simply echo stuff to /dev/ttyACM0
@idle owl if @quick oyster wants to chat tonight I am free for the next hour or two
sorry to have to ask, so what about non-blocking?
we don't have a way currently. I believe @timber mango looked into it and python doesn't have a non-blocking way itself
what are you trying to do?
send single characters over serial to control the program
like +, - to increment variables
@ebon horizon is trying over usb I believe @timber mango
@ebon horizon I don't think we have a good solution now
@timber mango that only works if I'm connected to a usb to serial adapter
which, okay, maybe that's what I do for now
in normal python you would first set the terminal into a non-blocking or half-blocking mode
or use a library that does it for you, like the curses
alternatively, you could do a select on the sys.stdin
but no select in cp
yup
I'd probably write out what they stand for in lowercase if we were to change it. They'd then be long but explanatory. @tuupola its a good idea. Mind opening an issue for it?
knowing how its done in python is super helpful. do we have an issue for it already?
(if not, we should)
I think it's not so simple, because neither spi nor i2c devices are input streams that you could select on
or any other i/o we have
right
Yeah I get confused and forget myself. I designed it for the TX/RX pair and the UART, then wonder why there's no traffic on the USB port. ;)
The CP2104 comes up as /dev/ttyUSB0 in Linux. It has a TX/RX pair to talk to the microcontroller directly on its TX/RX pair.
@stuck elbow @slender iron Thanks, but weβre receiving rfm69 on a feather already, one more feather allows us to move forward tonight on other things. Iβll finish porting the Adafruit library when I get a break.
keep us posted @storm folio . I hope its reliable enough for you. CircuitPython is very young still
This done @siddacious ?
@tuupola CircuitPython's ints are 31 bit signed so we only get 2**30 without long int support enabled.
thanks guys. got my matrix ... matrixing
(toMATo)
my proof of concept was to build a LED matrix and then write the CP code. Turns out, I would have had it working in a single day, if my NPN and PNP trays didn't get mixed up
(the serial stuff I was asking about was to debug the behavoir.)
@wolf adding this would be awesome! I don't know much about asyncio myself so it'd be great to chat about what is needed for it. I know micropython has uasyncio but haven't looked at it myself. I'd want us to match the way CPython works even if MicroPython doesn't.
When are you available to chat or what guidance can I help with? I'm on Discord during the days Pacific time and can hop on other times if I know ahead of time. Thanks!
glad you got it working @ebon horizon
I'd share it, but it's for my post this week. I don't know want my new secret crush to see it before the 14th. π
π post it then!
oh someone was working on a sprite editor right? I just noticed some stuff from code.org uses this nifty thing that might be handy: https://github.com/piskelapp/piskel
very nice looking web-based sprite editor
RX/TX on boards that have it run through the UART, IIRC. Although, you still get the USB data if it's hooked....i think that's what I read.
pretty much all ready to go π
@slender iron @quick oyster doesn't do late nights during the week, he's got early mornings. I can't say for sure but afternoons will probably work best.
that was @opaque patrol I think @timber lion
k, I'm flexible @idle owl just gotta plan ahead
@slender iron Yep that was the plan π
I like this explanation of generators: https://stackoverflow.com/questions/1756096/understanding-generators-in-python
yay stackoverflow
@slender iron I saw that one! I didn't click, but read the preview in search.
I understand these better than I realised. That's excellent.
@timber lion That looks nice, I will have to check it out
Good one to do when we do multimedia key support (i believe we just need to craft the report API)
ok, the beta list is pretty short but the tasks are big: https://github.com/adafruit/circuitpython/issues?q=is%3Aopen+is%3Aissue+milestone%3A"3.0+Beta"
@raven canopy in Arduino IDE it's as simple as Serial.print() vs Serial1.print() to redirect to one or the other. The default is the external interface used to program the device (TX/RX can't be easily coerced to serve in that role afaik). The SAMD21G18A has some kind of internal USB interface -- that's the one using Serial.print().
Bumping this to Alpha milestone since it could be hardware related.
@ebon horizon this issue has background about the blocking input: https://github.com/adafruit/circuitpython/issues/231
It'd be great if we could coordinate with @dhalbert as well.
@slender iron good background, thanks
you're welcome!
Telling me that we want to match CPython over MicroPython is exactly the kind of guidance I'm looking for. I'll have to figure out the details; I'm starting from scratch here. Anything you can tell me about goals, constraints and dreams will be a help. I am Eastern time, so my 4pm (about when I arrive home from work everyday) might be convenient for both of us. Once we pick a time, just about any day works for me. Work for you? (and @dhalbert and @kattni)
4pm eastern works great for me! Wednesday - Friday are best for me.
There is more design guidance here: https://circuitpython.readthedocs.io/en/latest/docs/design_guide.html Its a random assortment of stuff.
Yes, most days are fine for me. Just Monday afternoons are taken for all three of us. You saw that there is a MICROPY_PY_ASYNC_AWAIT compile option? We just don't have it turned on.
Then I propose this coming Thursday, 15 February at 4pm Eastern on Discord. That will give me a little time to do research first so I have the right grounding to absorb your advice.
Thursday 4pm works for me.
aren't super dim. This will make status NeoPixels a bit bright
but one can use samd.set_rgb_status_brightness() to dim them.
Just tried old and new on an ItsyBitsy. Nicely brighter but not too much.
Try on a neopixel and let me know if its too much. Its borderline for me but folks can change it.
It is kind of bright especially when in REPL. Would it be easy to #if or #ifdef a different set of color values for DotStar vs NeoPixel?
Yeah, we can. I was hoping not too but understand its unrealistic to think they will be the same.
we could ifdef the default brightness instead too.
@slender iron For building CP, where did I get the arm-gcc for mac?
I think brew install gcc-arm-embedded
you may need to add a source
or brew cask install gcc-arm-embedded
I've dimmed the neopixel through the brightness control rather than the color definitions.
<@&356864093652516868> Here is the recording of today's meeting. https://youtu.be/J1HfORpx1ng
Notes with timecodes are available here: https://gist.github.com/tannewt/be426e0982f022607d6d0c4fd5194f8a Join here for the chat all week: http://adafru.it/d...
Retested and seems good. I had two Metros side by side and very similar, maybe a teeny bit dimmer on the brightness-controlled one, which is actually good.
Also retested Itsy and it's fine.
@tulip sleet Do we still need to build mpy-cross before we can make circuitpython?
@idle owl only for frozen modules (i.e., CPX, right now)
Ok, so if we are building for the CPX, then we need mpy-cross?
yes
it used to build automatically, then we turned that off, but it probably should build automatically in a smarter way.
Realising I haven't done this in a while or setup this new machine to build CP.
new Mac or the Linux box
yeah jus make in that dir
Ok
you could make clean;make
update on my earlier issue, it's somehow magically working now kinda π yay!
anyone have an experience with smoothing out touchio.touchin().raw_value? it is pretty jumpy and it'd be nice to have it as a more stable proximity sensing value
@fierce oar Yay!
colors are funny on my neopixels though, all white and not rainbow cycling like they're supposed to. but they're lighting up now!
Hmm. Did you ever post your code or the context? Did you want help or are you still troubleshooting on it yourself π
id love some help if you're not too busy
i posted the context briefly this morning but can re-summarize
I'm helping another friend too, but that won't be long. Yah, please resummarise!
Build fails on boards with no rgb led (e.g. feather basic) :(
@tulip sleet Sorry, one more thing: is it /atmel-samd/ or /ports/atmel-samd/?
atmel-samd on 2.x, ports/atmel-samd on master (3.x)
ahh ok
MicroPython reorganized the tree and put all the ports under ports/
I haven't done a build in months. ;)
It hasn't been that long for me, but long enough apparently. It was all in my history before
make BOARD=circuit_playground_express doesn't work
seems to me there was a directory where if you did an 'ls -1' in it the names of the directories matched the necessary targets for BOARD there.
I had the Circuit Python NeoPixel demo code running on a trinket m0 with a short strand of neopixels attached, and it was working fine. then I swapped the board to a gemma m0 and couldn't get the neopixels to light
@tulip sleet what am I missing... it's something obvious.
Trinket you pick your own pin; on Gemma I'm not sure what pin is used.
@idle owl for mpy-cross?
@fierce oar using the demo code from trinket and gemma? or from a separate neopixel example?
@tidal kiln no, for building CP for a CPX
i tried a bunch of things last night, including removing and restoring files, and today they're lighting but the colors are wrong
BOARD=circuitplayground_express
that underscores my observation /andon
one sec i'll grab some links
all good. i usually ls boards when in the ports/atmel-samd after not building for a while.
@raven canopy FREEZE ../../frozen/Adafruit_CircuitPython_BusDevice ../../frozen/Adafruit_CircuitPython_LIS3DH ../../frozen/Adafruit_CircuitPython_NeoPixel ../../frozen/Adafruit_CircuitPython_Thermistor Traceback (most recent call last): File "../../tools/preprocess_frozen_modules.py", line 6, in <module> import semver ModuleNotFoundError: No module named 'semver' make: *** [build-circuitplayground_express/frozen_mpy] Error 1
Thoughts?
using these https://www.adafruit.com/product/3484
code is from here https://learn.adafruit.com/adafruit-neopixel-uberguide/circuitpython
@idle owl git submodule update --init --recursive
yep...that's what i was thinking
This is all coming back to me now
three backticks top and bottom on a line by themselves
@fierce oar Three backticks on either side, the one on the upper left of the keyboard by the tilde ~
@fierce oar You soldered up your own strip from single pixels?
# CircuitPython demo - NeoPixel
import board
import neopixel
import time
pixpin = board.D1
numpix = 10
strip = neopixel.NeoPixel(pixpin, numpix, brightness=0.3, auto_write=False)
def wheel(pos):
# Input a value 0 to 255 to get a color value.
# The colours are a transition r - g - b - back to r.
if (pos < 0) or (pos > 255):
return (0, 0, 0)
if (pos < 85):
return (int(pos * 3), int(255 - (pos*3)), 0)
elif (pos < 170):
pos -= 85
return (int(255 - pos*3), 0, int(pos*3))
else:
pos -= 170
return (0, int(pos*3), int(255 - pos*3))
def rainbow_cycle(wait):
for j in range(255):
for i in range(len(strip)):
idx = int ((i * 256 / len(strip)) + j)
strip[i] = wheel(idx & 255)
strip.write()
time.sleep(wait)
while True:
strip.fill((255, 0, 0))
strip.write()
time.sleep(1)
strip.fill((0, 255, 0))
strip.write()
time.sleep(1)
strip.fill((0, 0, 255))
strip.write()
time.sleep(1)
rainbow_cycle(0.001) # rainbowcycle with 1ms delay per step
oh hey i did it
yes
Put in 'python' on the same line as the top backticks for syntax highlighting
First off, it's strip.show() now.
I don't know if that will fix the issue you're reporting though.
if there are two different versions of CPy on the two boards that might explain it.
yes i soldered the nano neopixels to wire by hand in series
oh yes that's one of my questions! how does one know which version of cp is on one's board?
Can you connect to the REPL?
i couldnt figure it out last night, and i saw that there are specific downloads based on your version
Are you on Windows/Mac/Linux?
mac
auto_write=False
@fierce oar https://learn.adafruit.com/welcome-to-circuitpython/advanced-serial-console-on-mac-and-linux
@fierce oar Or if you're using Mu editor, you can do it through the editor
@slender iron any thought of a CP build for the PyBoard?
@timber mango since, .show()/.write() is being called, auto_write being off won't make a diff.
@storm folio it's a different manufacturer's chip, so would be a lot of porting. And it's not our board
@fierce oar
when you connect to REPL you'll get a banner with verison:
Adafruit CircuitPython 2.2.3 on 2018-02-05; Adafruit CircuitPlayground Express with samd21g18
>>>
or, just look in boot_out.txt, might have same info
How about making a board with similar (Or better) specs?
@tidal kiln was that a REPL syntax tag or what? sweet.
oh the boot_out.txt has it now (last night it was empty, but i reinstalled files at some point)
Adafruit CircuitPython 2.2.3 on 2018-02-06; Adafruit Gemma M0 with samd21e18
@timber mango no, just the backticks trick, but with syntax hilighting
@storm folio we're working on M4 boards: SAMD51x
apologies for my noobishness, i don't really speak computer
@fierce oar Ok that's the most recent. So you'd want the library from the 2.x bundle
@fierce oar No apologies needed!
@fierce oar You can also do inline code by putting a single backtick on either side of the line you want to look like code
@tulip sleet M4 would be awesome. For now Iβm stuck between PyBoard and M4 and CP (and not M4). I could switch to other controllers, but the number of io/ports are super helpful for our project.
@storm folio We have M4 dev boards and are actively working on that for CPy 3.0. But we don't do estimated dates - sorry! - it will be ready when it's ready.
ok i installed mu and now i can see the repl
@fierce oar The code is working for me on a CPX (with the right pin identified). Hmm.
(That was the closest thing I had with neopixels on it)
Changing write to show, while correct, didn't make a difference in the function of it.
yep my pin is right, and it's connecting fine (i can see it updating when i make changes and save) but the colors are just funky - is there somewhere to identify what kind of color profile is being used? like in the arduino code?
@tulip sleet no problem! Python (and the Adafruit CP libraries) have made most things super easy. Much easier than we thought it would be. Iβve ported a few classes, but it wasnβt much work. It is sad that MP and CP arenβt somehow closer (so we would have to do almost no work) but we get it.
For this project we canβt wait for the new hardware, but weβll use it when it comes out in the future. Thanks!
@fierce oar are you sure you have the PID 2427 neopixels that you linked earlier?
@raven canopy yup
okie dokie. just wanted to make sure they weren't a GRB version.
yes that was my thought too
@fierce oar My first thought was that they were RGBW which messes things up like your'e saying, but that's not it
weirdly they display the right colors with the same code on my trinket m0 though
Use another port pin.
Did you try reflashing CircuitPython onto the Gemma?
@idle owl yes
Ok.
@timber mango have not tried that, will do, one min
@fierce oar since you're working with bare neopixel, are you sure it's not a hardware issue
@tidal kiln pretty sure, it works perfectly on the trinket m0, but there could be something hardware related i don't understand
be right back
It's compiling, loading and giving me a REPL and a working status neopixel however in testing I ran into some SPI issues but I don't know how to differentiate problems with my board and board config from CP issues.
I think it's good enough for now to allow others to build for a 51G and get others using it. I'll open another issue if I find something that needs to be fixed.
if you're getting them to work on the trinket, then probably not. have you gone back and tested on the trinket?
@tidal kiln yes, just checked it again, still works correctly on the trinket (colors are right and cycle through the rainbow)
changed to pin D2, neopixels are all white, no cycling (on pin D1 it was mostly white but i could still see it cycling through incorrect colors
trying others
Try powering it off of the Trinket but using the gemma for data
ok, one sec, need another cable
I would target the first pixel in the strand and ignore all the other pixels. If that one cannot be made to respond correctly, target the next one in line. It would also be simpler to have a second pixel just for the device under test. Test that one once on the known system (to gain confidence) then transfer it to the unknown system.
ooh that worked @idle owl
@fierce oar Ok it's a power issue with the Gemma then
neopixels are doing what theyre supposed to
score!
@fierce oar Were you powering it from the vout or 3vo on Gemma?
ahhh yes i definitely was powering it on vout instead of 3vo
Same on Trinket or no? USB or 3vo on Trinket?
no 3v on trinket
Ok try 3vo on Gemma
yep it's working
Excellent!
You will do the same for others. ;)
@fierce oar I would have thought it would work on both, so don't feel silly.
but! all the other issues really threw me, and by the time i got to the unknown power issue i was already very confused π
I wasn't even going there. I was going for cold solder joints and damage to the array from transferring it from one controller to another.
little things like not being able to save my .py files directly made me think something else was going on
@fierce oar Tons of variables
but i just need to get more familiar with using circuit python
i'm very used to the arduino ide guiding me along
and 3vo ;)
those must be sennnnssssiitive. i've never had a problem pushing npix at 5v with a 3.3v signal.
well, not that few npix...
these are the second tiniest things ive ever soldered π i guess they're pretty finicky
Signalling at 5v with 3.3 vcc would be far worse.
but they look so cool!
@fierce oar That's awesome!
those little suckers are in the no. mustn't drink coffee until AFTER i solder these category.
@raven canopy yep! they're easy to lose, but hard to forget!
Let's just be glad that Elvis never had access to them. ;)
thanks for all your help everyone!
@fierce oar So cool!
thanks for helping me troubleshoot that, t's so helpful to have brains that are farther away from your project than your own π hugs to all!
very chic!
@fierce oar I'm glad we got it sorted!
Yay! Nicely done @idle owl
@tidal kiln Thanks! π
@fierce oar are those to go along with those blinky eye lashes?
@tidal kiln tee hee... no i don't actually have those eyelashes (they belong to my friend), and i don't think i could stick those on my eyelids π but these are actually less practical than those! mostly for photoshoots, a short costumed/cosplay event
they'd make for great flashlights...or fantastical "go yonder" pointers. π
npix, white, and full brightness is just shy of sunlight on the equator...
In code I find consistency a good thing. If everything is lowercased there is no need to remember whether one should use capital letters or not. For example lux might be confusing. Is it acronym or word? Should it be sensor.lux or sensor.LUX? Also when seeing sensor.TVOC one is not really sure if it is a constant or property.
I do not have strong feelings about this, but my choice would be lowercased acronyms sensor.tvoc and sensor.eco2.
RGBW at full brightness gets even closer.
i remember the first time i turned a set on. of course i stared directly at them while hitting upload. π
from that point on, setBrightness(25) was part of every new sketch.
dimming them definitely helps with photography too
wow i'm much happier using mu, even for the small changes i make to the code
Good!
i still haven't broken away from PuTTY and IDLE...keep saying i'm going to, but then I get working on something and, well..yeah. π
when did it become 11PM? holy moley. well, new new Trellis LEDs are working again. might as well stop there.
π€
ill defer to @tannewt on this one, i don't care too much, we'll just have to update our existing libraries :)
Oh, did not know. Just out of interest where did the one bit go?
@fierce oar I have a spare itsybitsy if you want to use it
@slender iron ooh too kind! i'll have to think of an excuse to use it in my next project! π
piiiiiins for days!
We lose bits due to pointer boxing where data is stored in pointers themselves. There is a bit of explanation here: https://github.com/adafruit/circuitpython/blob/master/py/mpconfig.h#L66
To avoid hijacking an unrelated thread I move this here. Currently there is mixed capitalization in the design guide concerning unified sensor driver property naming.
Consistency is usually good thing. If everything is lowercased there is no need to remember whether one should use capital letters or not. For example ...
fascinating article on history of chinese fonts in unicode: https://r12a.github.io/scripts/chinese/
turns out there are almost 22k characters in traditional and simplified alphabets.. at 12x12 fonts that's 300kb alone of font data to try storing on the 256kb flash π
"we're going to need a bigger boat"
luckily there are subsets of 'only' 7k or maybe up to 13k that are the most common
Can just store them on the 2mb flash no?
unfortunately no extra space on the nrf51 that the microbit/sinobit use π
Yea true, wish Adafruit would carry spi flash chips again and give us a 4mb option on the M0, its why I can't wait for Esp32 to have micropython.
Its a power hog a bit though I'll have to dig into how it is with the radio off might still not much of a battery powered sensor though. Adafruit Needs some low power stuffs.
Add a microSD card reader? It will steal some pins from the 2x13 but for good purpose.
samd21 is pretty low power, I would think?
Low power as in microamp and nanoamp range. They are good chips but not low power, good for 99% of uses though I'll agree.
Just such a struggle to get performance and low power if only we could bridge the gap between a moteino and a feather M0. I'm sure could desolder a lot of stuff and thow on a better regulator, but is a niche area so I can see why its not on the top of the list.
I"m late to the game but the fram msp430 type stuff comes to mind, I'm surprized something was never arranged with Adafruit seeing their relationship with Ti
Competition is great but there are so many great chips that sometimes it seems competition and ease of use really hamper moving superior tech forward.
It don't help that our addtion to ease of use, coupled with the face pace of new chip releases helps keep us under the cutting edge. Esp8266 is a great example when 32 has been out so long and far superior hardware wise.
I'm so used to spell check messing up everything I say that I now do it myself. almost 2am that my cue for bed.
you won't get circuitpython running on any microamp-range chip
but there are some AVR-based boards out there
@timber mango I've run MicroPython on the esp32...
I need to get a bootloader PR in (likely later today) before the changes here, but I'll review and test this as soon as the nRF52840 serial bootloader PR is out.
BTW, if you put any new test code and examples together, feel free to include them in either the ports/nrf/examples folder or a board level examples folder if it's board specific.
I'm convinced a lot of people look directly at the code repo and examples that ship with it as their first point of contact, so having up to date examples there makes sense to me, and being in the repo generally increases the chance of them being up to date with the latest API changes, especially with things ...
Huge typo:
https://learn.adafruit.com/getting-started-with-flora/blink-onboard-led
Next it's time to load up a program on your FLORA. There is an LED on board, so let's blink it! Plug in the USB cable and paste the following code into the Adafruit Flora IDE:
That should have been Arduino IDE. ;)
hey, so im playing a lil bit with the feather dotStar and the feather M0 express. im following the tutorial. uploaded the animation example of the xmas tree and snow. it gave me the following: File "code.py", line 2, in <module>
MemoryError: memory allocation failed, allocating 128 bytes
ive got only two libs in the lib folder
what am i missing?
@crystal pumice The memory allocation is due to lack of RAM and not related to the amount of files stored on the device. You can try just rebooting and trying again. Sometimes after a clean boot more memory is avaialble. If that does not work, check that all library files on your system are .mpy files. It takes more memory to load a .py file. Only your code.py files or other files you created shouled be .py files.
where did you get doststar_featherwing.py ?
downloaded from one of the links in one of the guides
but i see the example code got: import doststar_featherwing
so is there an mpy version?
looking...
hmm not seeing one but you can create one if you want to see if that helps. What OS is your computer?
Hey all, got my new feather adalogger π , but bossa can't find the device?? π€ , I'm on Ubuntu
@rotund basin - should be /dev/ttyACM0 is that what you tried?
that should work.
Without the/dev it says no device found
I ran into taht yesterday because I hsd not plugged in my USB cable π just checking...
It shows up on ls /dev/ttyACm*
wht command are you using - I have used bossac -e -w -v -R -p ttyACM0 image.bin
hmmm - other thatn the obviosu things like verify that it is a data capable cable, Im at a loss. - check dmesg out but after you plug it in - it should be recognized as ttyACM0 -- with capital M
just at thought- I never have used the -i try without that
@solar whale ive got win10
@crystal pumice if you look at https://github.com/adafruit/circuitpython/releases and scroll down to the 2.2.0 release, you will see version of mpy-cross for various systems Download the windows version then run mpy-cross dotstar_featherwing.py in the directory where you have the files. this will create dotstar_featherwing.mpy - delete the .py file from your featehr and copy the .mpy version to the lib folder.
@rotund basin FYI - I just used bossac on my adalooger yesterday so I know it can be done.... it does not look like your system is seeing the USB device
lower case?
@solar whale when i run the exe its opens a CMD window and then it shuts down instantly. is there another way to compress py to mpy?
@crystal pumice hmm - I don't have a windows system so I have not seen that. Hopefully someone else online can help there? - give me a minute and I'll create an .mpy version
10q king!
hm, I might be able to write a patch manager in cp
@rotund basin FYI - here is my syslog from when I plugged in the adallogger ```Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.585166] usb 3-3.4: new full-speed USB device number 28 using xhci_hcd
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.706447] usb 3-3.4: New USB device found, idVendor=239a, idProduct=8015
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.706451] usb 3-3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.706454] usb 3-3.4: Product: Feather M0 Adalogger
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.706456] usb 3-3.4: Manufacturer: Adafruit Industries
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.707307] cdc_acm 3-3.4:1.0: ttyACM0: USB ACM device
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.708411] usb-storage 3-3.4:1.2: USB Mass Storage device detected
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.708601] scsi host7: usb-storage 3-3.4:1.2
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.710397] input: Adafruit Industries Feather M0 Adalogger as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.3/0003:239A:8015.0007/input/input16
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.769503] hid-generic 0003:239A:8015.0007: input,hidraw4: USB HID v1.11 Mouse [Adafruit Industries Feather M0 Adalogger] on usb-0000:00:14.0-3.4/input3
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.770910] input: Adafruit Industries Feather M0 Adalogger as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.4/3-3.4:1.4/0003:239A:8015.0008/input/input17
Feb 12 15:32:09 Ubuntu-Macmini kernel: [78667.830088] hid-generic 0003:239A:8015.0008: input,hidraw5: USB HID v1.11 Keyboard [Adafruit Industries Feather M0 Adalogger] on usb-0000:00:14.0-3.4/input4
note it was seen as ttyACM0 - upper case ACM.
Yes of course , I'm typing on my phone and it auto correct
Is that in bootloader mode ?
ah - yes - I did the "double" tap to enter bootloade mode.
My device doesn't come up as adafruit in bootloader
did oyu enter bootlader mode before running bossac?
Yes
hmmm -- just to verify connection - can you try using Arduino to load "blinky"
I
I despise arduino
The host windows computer doesn't recognize it ether π€
It's unknown device
On com5
I'm stumped - hopefully someone else with more suggewtions will be on soon....
@rotund basin Let's make sure it's an Adalogger M0 and not 32u4, right? When you double-click the reset button, what happens to the red LED?
also is it windows7 or 10?
also make sure you're using a USB cable that's not charge-only. If new verify it passes data with something else (like a phone or another adafruit board)
@tulip sleet I noticed that the last few CP releases have not include the mpy-cross builds - Is that intentional? Also should the "windows" version run on Windows 10? a user this morning had some problems with it.
@solar whale - not intentional - I have to copy them by hand. The old versions should work fine. I have run the Windows version on Windows 10: I think I created it on Windows 10. Who's the user?
@crystal pumice tried it and had some probllem - scroll back to to 941 AM.
they're running it by double-clicking. You have to run it on the command line.
it doesn't have a GUI
Ah - good to know.
@crystal pumice you have to run mpy-cross.exe on the command line: it doesn't have a GUI. Just do mpy-cross.exe nameofyourpythonfile.py
@tulip sleet it has the SD card lol .. when I go to bootloader mode it goes from red and green blinks to red solid
@rotund basin there are two versions of the adalogger M0 and 32U4 it should be lablel on the silkscreen.
Because it will add another board to the repo that will need to be updated as well, and will create a conflict. I can merge this one in as well and the conflict will be in the BL PR, it just needs to be handled in one of them but I've had my head down in code all day and haven't had a chance to try this one out so I was going to submit the BL PR for review, and then find a solution to keep both of these happy.
If you want to get this in right away, I'll test it later tonight and manage the...
Heya folks! some exciting news today ~ Particle has some new boards out and they're Feather compatible!
but most exciting, the y have an nRF52840 processor on board. THE SAME CHIP WE'LL BE SUPPORTING IN CIRCUITPYTHON!
w0w π