#circuitpython-dev

1 messages ยท Page 263 of 1

crimson ferry
#

(text-only)

idle owl
#

Got it, thanks!

onyx hinge
#

diode.zone

river quest
#

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 14,028 humans, thank you~
https://adafru.it/discord

Discord

Check out the adafruit community on Discord - hang out with 14,048 other members and enjoy free voice and text chat.

#

CircuitPython.org updates
We're always updating CircuitPython and the libraries. We've had CircuitPython 4.0.1 stable out for a while, and recently released 5.0.0-alpha.2 which means it's time for a new CircuitPython Library Bundle! The 4.x and 5.x bundles are now available for download at circuitpython.org/libraries. We've stopped supporting the 2.x and 3.x bundles, but you can always get access to the final builds on GitHub.

tidal kiln
#

** lurking **

river quest
#

CPX pinouts for the upcoming CircuitPython book in Japan - AND check out this great video that promos the book!
https://twitter.com/AoyamaProd/status/1172459088724185088
https://twitter.com/AoyamaProd/status/1173554917803380737

I just received โ€˜the clear file folders with CPX pinouts (Japanese) / cover artโ€™ from the printing factory! This will be the special gift for the customers in the Tech Book Fest in 22-Sep. @adafruit @CircuitPython

Creared the video showcasing my CPX and CircuitPython book (in Japanese). To be released in 22-Sep in Tech book fest 7 in Tokyo.
If you are in Tokyo, please come visit!
https://t.co/OHZPdwdaMf https://t.co/1XcZbjcKrr

โ–ถ Play video
onyx hinge
#

the details of what's in 5.0.alpha.4 are listed on the releases page

crimson ferry
#

I downloaded alpha-4 and already put it on a dozen devices... no problems! ๐Ÿ™‚

old smelt
#

Me too. Well, once...

errant grail
#

Group hug to the team and community this week. Amazing progress!

tidal kiln
old smelt
#

@slender iron - can you paste a link to the code formatter you mentioned? Is it on pypi.org?

slender iron
#

pyright

old smelt
#

thanks!

slender iron
#

in microsoft on github

old smelt
#

Think they covered that on Python Bytes, but I always forget which episode talked about which packages.

slender iron
#

it wouldn't be on pypi because it's written in typescript

old smelt
#

ah

#

ok

slender iron
#

good for react native

errant grail
#

Nothing major to report CircuitPython-wise. Been heads down in the studio tracking some new songs. Trying to wrap up the album this week, working out the duplicating, packaging, and licensing challenges.
My AD9833 Precision Waveform Generator FeatherWing (with CircuitPython drivers) generated some interest. To support a low-power version of the AD9833 that he had on-hand, a maker customized the PCB and ordered some OSH Park boards. Seeing his different perspective gave me some useful ideas. Hoorah for open source!

#

Oh and used my SMD microscope to tune harmonicas.

onyx hinge
#

you can tune harmonicas?

errant grail
#

Oh yeah.

onyx hinge
#

I've only ever had the cheapie kids' ones

errant grail
#

I use miniature chisels and files to adjust individual reeds.

onyx hinge
#

I'll stay through the rest of status reports but I'm going to bail before "in the weeds"

slender iron
#

kk, np

#

thanks for making it!

prime flower
#

whoo got the signature fixed!

onyx hinge
slender iron
#

@stuck elbow want to do hug reports and status updates after I read sommersoft's status update?

stuck elbow
#

@slender iron sure, sorry for being late

slender iron
#

kk, np

idle owl
#

@onyx hinge We think it should be simple as well, but we're not sure where the simple fix goes. If you can sort it out, that would be amazing.

onyx hinge
#

@idle owl I'll see what I can do. If nothing happens by Wednesday, send for reinforcements

idle owl
#

@onyx hinge Ping me at some point and I'll explain in more detail what we discussed about it.

tidal kiln
#

yep. theres an issue in blinka for it.

#

in the weeds!

  • debugging bootloader+firmware how to?
errant grail
#

I've used the PyBadge as a MIDI sniffer.

#

It will become the UI for my precision wave generator wing, too.

nimble narwhal
#

thanks, all !

errant grail
#

Thanks!

tidal kiln
#

show and tell!

manic glacierBOT
manic glacierBOT
idle owl
slender iron
#

@idle owl nope, I'll look now

idle owl
#

Thanks!

slender iron
#

@idle owl merged

idle owl
#

Thank you!

manic glacierBOT
manic glacierBOT
ionic elk
#

Has anybody here encountered flash corruption on an ST chip before?

manic glacierBOT
manic glacierBOT
onyx hinge
#

@idle owl I don't have time to test it, but I found a reason based on the datasheet that the ADC on nRF would read about 9% low. I will toss it in a pull request before I head out for the evening.

idle owl
#

@onyx hinge Ok, if you want to toss me a build, I'll test it tomorrow during the day.

onyx hinge
#

@idle owl I think the build will become available from github automatically, if you click through to the build from the PR

idle owl
#

Oh right!

manic glacierBOT
onyx hinge
#

based on what you said and what I understand, this would increase a reading of 3.0V to 3.27V (3.0 * 3.6 / 3.3). That's still not quite the level that you mentioned as "high" voltage..

#

the number "3.6" in the source could be changed to a slightly higher number like 3.65 if it's specifically important to reach 3.29V

#

and there are other options such as (VDD/4) as the reference and (1/4) as the gain. I think in theory using internal reference and (1/6) as the gain gives more accurate voltage measurements, since internal reference varies less than VDD

#

anyway, going AFK. Will read back here or on the PR for your findings! thanks as always for finding these issues and writing them up clearly

lone sandalBOT
wind trellis
#

Failure with adafruit-circuitpython-circuitplayground_express-en_US-5.0.0-alpha.4.uf2 and latest 5.x-mpy bundle: ```import board, busio, digitalio
from adafruit_mcp230xx.mcp23008 import MCP23008
i2c = busio.I2C(board.SCL, board.SDA)
mcp = MCP23008(i2c)
pin0 = mcp.get_pin(0)
pin0.direction = digitalio.Direction.OUTPUT

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "adafruit_mcp230xx/digital_inout.py", line 112, in direction
File "adafruit_mcp230xx/mcp23008.py", line 76, in iodir
File "adafruit_mcp230xx/mcp230xx.py", line 74, in _read_u8
File "adafruit_mcp230xx/mcp230xx.py", line 73, in _read_u8
File "adafruit_bus_device/i2c_device.py", line 147, in write_then_readinto
TypeError: extra keyword arguments given

#

It looks like the i2c_device module baked into circuitpython is out of date. If I save the current file from GitHub and change mcp23008 to use the local copy instead, it's fine. (Line 147 in the current i2c_device.py is a comment, not a function call.)

#

"local" whatever... The one in my /lib folder, not the baked-in one.

wind trellis
#

ADDED: Using i2c_device.mpy from the adafrult_bus_device folder in the library bundle (the a la carte version for non-Express boards) also fixes the problem. No TypeError with it.

manic glacierBOT
onyx hinge
#

'night all!

manic glacierBOT
manic glacierBOT
orchid basinBOT
manic glacierBOT
onyx hinge
#

and rerunning it manually gave me a different, quicker error ๐Ÿ˜ฆ

raven canopy
#

CI says, "On guard!" โš”

onyx hinge
#

@indigo wedge looks like a cute/neat little board!

indigo wedge
#

Thanks, I almost sold out already ๐Ÿ˜„

#

But more parts are on the way ๐Ÿ™‚

onyx hinge
#

can some of the pins do touch?

indigo wedge
#

that only requires that the pins can be used as analog in, right?

#

all 6 can be used as analog in

onyx hinge
#

On M0 I'm not sure tbh

slender iron
#

touch requires they be on a Y line to the PTC

#

@ionic elk at least on samd crystal pins aren't gpio. the swd pins can be

onyx hinge
#

PA04 .. PA07 are on "Y" lines, but GPIO4/5 are not (they are on "X" lines)

#

OK, that's good to know!

manic glacierBOT
#

Doesn't an ST Link work as a debugger? What am I missing?

On Mon, Sep 16, 2019 at 2:44 PM ladyada notifications@github.com wrote:

hmm thats interesting, it didnt get me flash corruption on win10 but it
definitely has very slow flash writes

โ€”
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/adafruit/circuitpython/pull/2143?email_source=notifications&email_token=AAAM3KMVGMOFLNW4S24RHKLQJ7437A5CNFSM4IVNW2K2YY...

manic glacierBOT
#

@tannewt things have been a bit inconsistent, but my texane/stlink program which launches the gdb server does not recognize the flash of the F412 as valid, and cannot load binaries. The F411 was having the same issue, but I was actually able to fix it by erasing it with the windows utility (no luck doing the same for the F412). Latest Analogio code will irrecoverably crash mu (computer must be restarted), and corrupt the flash, making both boards un-debuggable as well as unwritable. Can't get...

#

I think I should be. While I reset-protected pins that seemed obviously critical like crystal pins and debugging, I think I must have missed something else that was system critical. My suspicion is that GPIO resets on some pins might even persist past a flash erase. I'm going to invert the never reset process to exclude all pins that aren't directly broken out by the board, and see if that helps.

manic glacierBOT
meager fog
#

@onyx hinge heya i think removing the boards didnt really remove em?

raven canopy
#

actually, may just need to remove them in the circuitpython-org repo's version. the release updater just doesn't touch them.

idle owl
#

@gilded cradle Do you want to do the releases if I merge your PRs?

gilded cradle
#

Yep

idle owl
#

Right on.

gilded cradle
#

Thanks @idle owl

idle owl
#

@gilded cradle You're welcome

manic glacierBOT
onyx hinge
#

@meager fog ouch, I'm sorry about the consequences of my PR. I wasn't aware of any way to test locally, so just did it blindly..

#

so now I've figured that out and will add it to the readme

orchid basinBOT
raven canopy
#

and poof! they're gone. ๐ŸŽ‰

onyx hinge
#

thanks @raven canopy

#

I've used jekyll before so I could do it once I actually THOUGHT things through instead of firing off untested PRs .. but it should help someone else as well!

raven canopy
#

i'm jekyll illiterate, but i have experience with ruby and bundler. the latter which has driven me insane with ansible...

#

but, package management isn't easy. which is why nobody gets it perfect. ๐Ÿ˜„

onyx hinge
#

I would not be comfortable PROGRAMMING ruby, but like so many languages they have made the setup process pretty painless if you start with a working linux system. I assume on mac too.

raven canopy
#

like most of my programming skill, its code-by-reference. the manual is always open...

onyx hinge
#

hmmm

idle owl
#

Because I released them all, presumably.

#

And it only updates weekly at the moment.

raven canopy
onyx hinge
#

right

idle owl
#

Oh.

onyx hinge
#

I am trying to fix it...!

idle owl
#

womp, womp.

manic glacierBOT
onyx hinge
#

<li><a href="{{ issue | split: " " | first }}">{{ issue }}</a></li> clear as mud

orchid basinBOT
onyx hinge
idle owl
#

Some aren't supported in 4.x

#

Maybe "a lot of"

onyx hinge
#

the site for the "datum" modules may just be down. and yeah, it's a small number of boards maybe not supported in 4.x, that have 404'd uf2 links

#

besides that the others seem to be false positives due to how links work in jekyll I think - -the link checker thinks e.g., every link to /blinka is 404 because it's /blinka.html

#

but it must be some kind of bug that those boards are listed in _data/files.json as having working 4.1.0 links...?

#

not sure how that file is updated, I guess via adabot?

#

if I manually removed them, would adabot put them back like a jerk?

#
     39     228    1450
``` hm the datalore_ip_m4 is "in" 4.1.0 source tree
raven canopy
#

yeah, datalore doesn't show up in the assets until 5.0-alpha.1. _data/files.json is updated by build_board_info.py in the core.

onyx hinge
#

is this a case where the board was incorrectly added, like not listed in travis.yml?

#

yeah it is missing in travis.yml of 4.1.0

#

so .. I guess the resolution would be a 4.1.x bugfix to add them to travis.yml. @slender iron ?

#

and do 4.1.1 or 4.2

raven canopy
manic glacierBOT
onyx hinge
#

OK I went ahead and tossed in a PR for that. and .. I wasn't going to work on CP tonight or this week. oops

#

fwiw I did bundle add html-proofer (which is wrong, because it tries to configure them as permanent parts of the circuitpython-org build) and then bundle exec htmlproofer ./_site --assume-extension after building the site

raven canopy
#

hehe. its hard to stay away.

onyx hinge
#

it pretty quickly turned up some good issues to work on ๐Ÿ™‚

#

since I don't know the right way to add it for sure, I'm not going to add it to README.md right this second.

#

it might be harmless to do the bundle add, I am just not confident

orchid basinBOT
onyx hinge
#

'night!

manic glacierBOT
manic glacierBOT
meager fog
#

@ionic elk let me know if/as you want more f412 testing

#

lets also set up a place for test suite code

manic glacierBOT
manic glacierBOT
#

Something like this?

#ifdef I2C3
    I2C_TypeDef * I2Cbanks[3] = {I2C1, I2C2, I2C3};
    #elif I2C1
    I2C_TypeDef * I2Cbanks[1] = {I2C1};
    #endif

    for(uint i=0; i<(sizeof(mcu_i2c_list)/sizeof(*mcu_i2c_list));i++) {
        if (mcu_i2c_list[i]->sda_pin == sda) {
            for(uint j=0; j<(sizeof(mcu_i2c_list)/sizeof(*mcu_i2c_list));j++) {
                if (mcu_i2c_list[i]->scl_pin == scl) {
                    if(mcu_i2c_list[i]->i2c_index == mcu_i2c_list[i]->i2c_...
ionic elk
#

@meager fog what kind of place are you thinking for the file sharing?

#

Github comments seems pretty straightforward and keeps the files in sync with the conversation, but I'm happy to swap if something else would be better.

manic glacierBOT
manic glacierBOT
ionic elk
#

@slender iron do you know what might be the difference between pyb_i2c.c and just i2c.c in micropython? They're two complete I2C implementations, one that uses the HAL and one that's completely register based, respectively.

slender iron
#

nope no idea

#

pyb is the port specific module.

#

the i2c.c might be used by machine

ionic elk
#

machine?

stuck elbow
#

it's a name of the module in MicroPython that has all the hardware interfaces

ionic elk
#

So in the typical use of micropython, which would get used? the port specific module, or the machine?

#

Would the user pick?

stuck elbow
#

this is an excellent question, and one of the main reasons why CircuitPython changed it

#

you see, the answer is "it depends"

ionic elk
#

blegh

meager fog
#

@ionic elk github issues get closed, this isnt really an issue, its a test suite

meager fog
ionic elk
#

@meager fog sorry but I'm still not sure what you mean! Do you want me to post binaries in an entry on my todo list, or make a whole new todo list for STM32 binaries that need testing?

orchid basinBOT
#

Companion to #269.

  • Updates adabot to remove the Travis specific functions that limited updates to a single day in the week, and allows Travis environment to use the -o output file flag.
  • Updates travis.yml to upload artifacts (libraries.json generated from adabot) to the AWS S3 bucket. Location should be adabot/web/. AWS ARTIFACT_ environment variables have been added to Travis.
raven canopy
#

๐Ÿค” looks like some automated firmware downloading has occurred. all but 2 boards have at least 12 downloads of 5.alpha.4. (saw it on adabot's run, and verified in github api)

#

it all occurred in the last day. interesting...

#

realizes it could be considered "interesting" that i can type up github api calls from memory. ๐Ÿ˜ฌ hehe

#

in other news: Blinka has 46,170 total downloads from PyPI. ๐ŸŽ‰

manic glacierBOT
manic glacierBOT
onyx hinge
#

wait I can make a number go up!!!

dense pike
#

Is there a way to have a WiFi gamepad talk directly to a Metro Airlift using Circuit Python?
Thanks

crimson ferry
#

@raven canopy automated b/c the distribution is too smooth (regardless of board popularity)?

raven canopy
#

@crimson ferry yeah, that's what nudged me into thinking that.

craggy galleon
#

Quick question: What is the VREF used for AnalogIn? I am having a bit of a calculation issue and not sure if VREF is set to 3v3 or not. Is it set to internal by default or one of the external PA03 or something?

#

I need to read a 5V voltage from my circuit. I already have a 10k voltage divider but keep getting incorrect values. I keep getting around 8000 instead of higher ones. For 3v3 I get 32,000. Something appears to be going astray behind the scenes

craggy galleon
#

After a bit of investigation, what is happening is that the analog in value is overflowing. I don't understand why this is happening for values like 5v. If someone could explain how I can read in a 0-5v range with circuitpyrhon that would be very helpful :)

crimson ferry
ionic elk
slender iron
#

@ionic elk clock is first for both I2C and SPI

#

what board are you using?

ionic elk
#

This is for the 411

#

I don't see the order on the common-hal level of course, just the sda and scl pins. Which is why I'm puzzled.

slender iron
#

double check your pin defs

slender iron
#

@ionic elk I spotted an off by one error โ˜

manic glacierBOT
ionic elk
#

@slender iron This is getting into the python end a bit, so I have to ask: does something like busio_i2c_obj_t automatically go away when a circuitpy drive is overwritten? I don't see that either existing port actually calls any module's common_hal_deinit in port.c so I assumed it was done at a higher level.

#

I ask because I've got some kind of conflict that's making the ST's I2C hal write function fail if you save the same code twice, and no amount of hardware-level resets is making it go away. Something is persisting past a soft reboot, and I'm not sure what it could be.

slender iron
#

the memory itself does get freed because the heap is reset

manic glacierBOT
meager fog
#

@ionic elk when you are not neck-deep in i2c peripheral lemme know

ionic elk
#

@meager fog OK! I'm out. Just wrapped up F412 support.

#

what's up?

meager fog
#

@ionic elk whew!

#

good work

#

so i designed this F405 feather

#

it works with micropython

#

how big of a project is 'F405 support

ionic elk
#

Not big I can start now

manic glacierBOT
ionic elk
#

Next up was SPI

#

So I can bang out F405 and then we can test SPI on it.

manic glacierBOT
meager fog
#

@ionic elk im into that

ionic elk
#

@meager fog also, did you want me to make a new todo list for the testing binaries?

#

I wasn't sure what you meant

#

on basecamp

meager fog
#

i made a todo

#

put your test scripts there

#

that way you can quickly regressiontest

ionic elk
#

I'll post my big megascript

meager fog
#

@ionic elk oki

#

@ionic elk have you added os?

ionic elk
#

not yet

meager fog
#

ok is it Hard?

#

cause of file stuff?

ionic elk
#

Not sure! Haven't looked yet.

meager fog
#

ok have you tried some of our libraries

#

for i2c sensors and such

manic glacierBOT
ionic elk
#

squints at samd and nrf ports

#

os doesn't seem like a lot of code but I'll have to get up to speed on the vocab

meager fog
#

@slender iron is os not a shared module

#

like what's platform-dep on it?

slender iron
#

it should be but it may be disabled

#

what do you want to use it for?

ionic elk
#

both common-hals in each port have an init

meager fog
#

i was testing some libraries and they import os and fail ๐Ÿ™‚

slender iron
#

kk

ionic elk
#

full of defines

#

I can turn it on

meager fog
#

and it seems like either its "really hard" or "really easy" to add os

ionic elk
#

see if it works. I think it's excluded by the restricted port define

meager fog
#

id like to test some of the more bizarre i2c chips

slender iron
#

can start by stubbing out random

#

lunch

meager fog
#

yeah what i need is os.stat

ionic elk
#

k

meager fog
#

well i dont need it, just want it ๐Ÿ™‚

#

because then i can use oled displays

ionic elk
#

HMMM yes that would be nice

meager fog
#

as tan sez, but you can stub random and other such things

#

return 4

ionic elk
#

I'm going to make a new PR for this

meager fog
#

ok!

#

yah that will let me really test i2c

ionic elk
#

keep it distinct from the current I2C stuff

meager fog
#

ll

#

kk

ionic elk
#

Do you have a DRV2605 on hand? You could use that in the meantime

#
import time
import board
import busio
i2c = busio.I2C(board.PB10, board.PB09) # SCL, SDA 
print("Init")
i2c.try_lock()
print("Lock")
i2c.writeto(0x5a, bytes([0x00]),stop=False)
print("Write")
result = bytearray(2)
i2c.readfrom_into(0x5a,result)
print("Read")
print(result)
i2c.writeto(0x5a, bytes([0x01,0x00]), stop=True)
i2c.writeto(0x5a, bytes([0x02,0x00]), stop=True)
i2c.writeto(0x5a, bytes([0x04,0x01]), stop=True)
i2c.writeto(0x5a, bytes([0x0C,0x01]), stop=True)
while True:
    print("Click")
    i2c.writeto(0x5a, bytes([0x0C,0x01]), stop=True)
    time.sleep(1)
meager fog
#

yaah thats why was like "hey we alredy wrote this code" ๐Ÿ˜„

#

in our drv driver

#

you should be able to drag over the mpy

manic glacierBOT
brazen cedar
#

Is there any support for Circuitpython for the ESP32 feather?

manic glacierBOT
meager fog
#

@brazen cedar nope! micropython is your go-to for ESP32 ๐Ÿ™‚

#

@ionic elk can you give my lazy butt a bin

meager fog
#

oh that was magick ๐Ÿ˜„

brazen cedar
#

thanks @meager fog!

manic glacierBOT
idle owl
#

@slender iron Does this code tie in anywhere else? As in, can I simply add it to an existing library that doesn't have it and it will work? I don't see somewhere for it to tie in elsewhere, but maybe I'm missing something. __version__ = "0.0.0-auto.0" __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_MAX31865.git"

slender iron
#

You just need to add it and ensure that circuitpython-build-tools builds the library. It does the substitution

idle owl
#

if the lib is in the bundle, it's being built, right?

#

These are all older libs that were pre-cookiecutter

#

This one seems to have everything else that cookiecutter adds, except that, so I don't want to redo the entire thing if it's not necessary

ionic elk
#

@meager fog it's working for me

meager fog
#

@ionic elk im having that mysterious no-enumeration thing again ๐Ÿ˜ฆ

#

i tried programming thru stm32cube as well

#

wait now its coming up

#

i guess i guilt-tripped it

ionic elk
#

Sometimes you have to wait

#

If it re-writes the flash, it takes a long time

#

My command line tool always erases the whole flash, but gdb-load doesn't and there's a big difference between the two. the MBED load system might be closer to the first.

manic glacierBOT
#

tested, this is good!

>>> import os
>>> os.stat("foo")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file/directory
>>> os.stat("boot_out.txt")
(32768, 0, 0, 0, 0, 0, 108, 1480810702, 1480810702, 1480810702)
>>> dir(os)
['__class__', '__name__', 'chdir', 'getcwd', 'listdir', 'mkdir', 'remove', 'rename', 'rmdir', 'sep', 'stat', 'statvfs', 'sync', 'uname', 'unlink', 'urandom']
>>> os.mkdir("test")
Traceback (most recent cal...
craggy galleon
#

@crimson ferry Yes that is the same set up. So when vbatery is greater than 5v I get the overflow issue.

crimson ferry
#

@craggy galleon if you're dividing 5v in half with the divider, you should be well within the 3.3v max ref. Check both of your resistors separately and make sure they match? Or post circuit and code (maybe better in #help-with-circuitpython )

craggy galleon
#

Ok. Will do.

meager fog
#

@ionic elk which pads are PB09/08?

#

i can get the schem - wish these were labeled tho

#

ok looked up the schem, the 'arduino header i2c' pins are i2c = busio.I2C(board.PB10, board.PB09) # SCL, SDA

manic glacierBOT
manic glacierBOT
manic glacierBOT
ionic elk
#

@meager fog note that I added in some "SDA" and "SCL" labels for the pins in the usual arduino location for I2C.

#

F411 users will have to look up combinations but F412 people can just pretend they're on Arduino as far as pin features go, same as the metros.

meager fog
#

@ionic elk sure

#

@ionic elk do you need another review from @slender iron on the periphral PR

manic glacierBOT
onyx hinge
#

then it turned out (A) the line editing didn't work and (B) neither my C64-owning friend nor I could come up with anything useful to do

obsidian dome
#

Can anyone tell me if I can get a version of circuitpython for the M0 adatalogger that has the audioio and audiobusio modules? It seems to have been left out of the build of circuitpython for this board.

slender iron
#

@onyx hinge awesome!

#

@obsidian dome you can build one yourself. it's left out because the flash is taken up by the filesystem

exotic pumice
#

@onyx hinge yay

#

your friend's monitor is so shiny

obsidian dome
#

If I interpret this right, there is an additional module in the build for the adatalogger to enable reading the SDCard filesystem which took up space, so we left off the audioio? I don't see any extra modules (using help("modules") to look) on the adatalogger in question. What module is this?

solar whale
#

@obsidian dome SDCard access is handled by a separate library adafruit_sdcard. The problem is, I think, that since the is no SPI flash on the adalogger, the CircuitPython Filesystem is in the on-board flash and reduces the space for additional modules like audioio.

obsidian dome
#

@slender iron Since this seems to be a recurring theme in my life, could audioio become a "loadable" library? Alternatively, which modules would be "candidates" for exclusion to make space for the audioio and audiobusio modules?

slender iron
#

@obsidian dome we could potentially make things loadable with the new native module work damien has done but it's a ton of work

#

audio is tricky because stuff has to happen in the background

obsidian dome
#

I gather there really isn't room for audioio in the on-board flash on these chips. Could I load part of CircuitPython from the SDcard?

#

or maybe all of circuitPython?

slender iron
#

we can't fit audioio and the filesystem within the 256k flash

#

you'll have a much better experience on an samd51

obsidian dome
#

When you say "filesystem", is this something that could be on the SDCard?

meager fog
#

@onyx hinge i love how useless it is!!

river quest
#

@onyx hinge that is super cool, nice work

#

CircuitPython snakes its way to the Commodore 64 (news from 1982, alt universe)

exotic pumice
#

great blog title

slender iron
#

@obsidian dome circuitpython can't only have an sd card filesystem currently

obsidian dome
#

thanks.

manic glacierBOT
manic glacierBOT
ionic elk
#

@meager fog whatever you feel is best practice. @slender iron might want to look at it as it contains a number of code style decisions.

ionic elk
#

@meager fog also, all these tiny STM32 dev boards have reminded me I was close to finishing a pretty enormous tutorial on setting up STM32s with the Black Magic probe/stlinkV2 earlier this summer. Is that something that might be appropriate for Learn?

manic glacierBOT
#

I'm almost certain this is related to the message on my git status:

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)
	modified:   lib/tinyusb (untracked content)

no changes added to commit (use "git add" and/or "git commit -a")

But I can't seem to figure out how to get that to go away, what i...

slender iron
#

@ionic elk please comment on PRs that are ready for my re-review otherwise they won't make it to my inbox

ionic elk
#

@slender iron you got it

slender iron
#

thanks! looking at i2c

#

now

manic glacierBOT
#

These build errors are your fault. GitHub CI is unreliable. :-/

The original failures could probably be solved by moving us off of "use" statements since they appear to require a download.

The rerun fails because master has had a commit merged and the rerun isn't exactly the same as the original. The workaround for this is to merge master into the PR branch and push the merge commit to trigger a new build.

#

Isn't this already done at the application level? I get this behavior by default, and neither the samd or nrf ports have claimed pin checking. Or did you mean checking the I2C peripherals themselves? That's a good idea, since trying to initialize the same peripheral twice will cause IO errors on writing, but I'm not sure how to present that to the user given how we've abstracted the device away.

meager fog
#

@ionic elk hiya when you split your PR for adding struct into a new mini-PR let me know

#

and ill test/review it!

ionic elk
#

I just folded it into OS and renamed it, since it was just one line of code

#

^typo

#

There's no HAL component so I just added it in

meager fog
#

@ionic elk i think what @slender iron was saying is dont hvae it based on the I2C PR at all

#

have it be totally separate

#

just the os/struct enabling

#

that way its minial, easy to test and approve/merge

#

lil bite sized PRs

ionic elk
#

Oh, right, the rebase. I don't understand how we can test it without I2C though

meager fog
#

i can totally test it

ionic elk
#

Are there libraries that will work without it?

meager fog
#

just import os and use stat or listdir

#

or struct, and do some struct pack/unpackin'

#

those are not interdependant on I2C periphearl ๐Ÿ™‚

ionic elk
#

Ok, I can rebase it, I don't think there should be any problems...

manic glacierBOT
meager fog
#

this is a good one to do it with cause they should be small and as mentioned, dont interfere with others!

meager fog
#

like the diff should be an easy-on-the-eyes 20 lines or so (not sure the exact num but yknow what i mean, not 400 ๐Ÿ™‚

manic glacierBOT
slender iron
manic glacierBOT
idle owl
#

<@&356864093652516868> Here is the notes doc for Monday's CircuitPython Weekly meeting. Everyone is welcome and encouraged to attend! Please add your hug reports and status updates before the meeting even if you'll be attending. It's super helpful! If you are missing the meeting, you can also add your updates and I'll read them off during the meeting. Hope to see you there! https://docs.google.com/document/d/1ZuSsOya1vLgXYDaaJwe3MtVvpTgwkijae6DlWr7e4ag/edit

#

Posting the link early this week because I won't be around much until late Sunday. You don't need to add updates immediately.

manic glacierBOT
ionic elk
#

@meager fog getting started on F405 support now. If you've got pinout information for the feather I'll take it.

meager fog
#

@ionic elk hiya back

#

im reviewing the i2c stuff now

#

had to get some other folks goin

#

here's the files!

#

do you have a F405 or F407 devboard?

exotic pumice
#

are there any plans to do F1s?

#

too smol?

ionic elk
#

@meager fog I've got a Pyboard!

meager fog
#

f1's are too small, yeah

#

maybe at some point

#

but tough

#

@ionic elk ok thats perfect

ionic elk
#

@exotic pumice they don't have enough memory but I think it'd be hilarious to do one with external ram and a lot of caching

#

also @meager fog any thoughts on the stm32 tutorial?

manic glacierBOT
meager fog
#

ok i just merged i2c

#

yay

#

which tutorial?

#

which tutorial?

#

which tutorial?

#

woops

#

discord hiccup

#

oi my messages are not coming thru

ionic elk
#

I can see them

exotic pumice
#

I see your messages @meager fog

meager fog
#

lol yeah dunnow hat happened, i sent one message but it transmitted it 4 times and was greyed out text

#

anywho! ๐Ÿ™‚

#

weird!

ionic elk
#

Anyway I wrote this huge tutorial on getting the stm32 set up with hardware, HAL/rtoses, BMP and STlink debugging, and IDE integration

#

late last spring

meager fog
#

wow ok

ionic elk
#

Was originally for somebody else, never published it

meager fog
#

oooh

ionic elk
#

Was wondering if you'd like it for learn

meager fog
#

ok

#

sure - next week mike will be back

#

if ya can hold tight for a few days, mike's the learn guide guide

#

like i have to write a guide on how to DFU fresh stm32 boards cause it is SUPER UNCLEAR

#

but once you know, its a great thing

#

ok

ionic elk
#

I'd love to integrate that!

#

But yeah I'd just like it to get used

meager fog
#

ok lets chat next week when mike's back

ionic elk
#

And be helpful

meager fog
#

yes ๐Ÿ™‚

#

ok i am going to test the os/struct PR next

ionic elk
#

Super, ty

meager fog
#

testing struct

manic glacierBOT
meager fog
#

@ionic elk ok lil typo - if ya fix and give me the firmwarebin ill retest

#

(os was not included)

ionic elk
#

@meager fog whoops fixed

meager fog
#

@ionic elk word

meager fog
#

@ionic elk ok smooth sailin'

#

@ionic elk i think CI is stuck, @slender iron does it sometimes take 10 minutes for github CI to spin up?

slender iron
#

it may if other jobs are running

meager fog
#

is there a dashboard like travis has?

#

or should we be patient

onyx hinge
meager fog
#

ooh ok thanks - i was looking for a global dash ... this is the right thing

#

ok its still workin on th last one okidoke

onyx hinge
#

the '27 minutes ago' build is still going even though its timer isn't counting up

meager fog
#

yeah its 3/4 done

onyx hinge
#

(hi!)

meager fog
#

hi!

#

oh yknow i think maybe i broke github actions

#

oh wait no its going

#

whew

onyx hinge
#

I do think it is making progress

meager fog
#

yeah i have to learn what words it says mean

onyx hinge
#

indeed

#

"correct typo" looks like it just started actually building

#

@meager fog so much weird stuff with the M4 DAC

meager fog
#

yah i dunno

#

maybe we have to just shrug

onyx hinge
#

for audio rate and mono it's just fine

meager fog
#

yep

onyx hinge
#

right up until you pointed me at those reports of weirdness in Arduino I was ready to chalk it up to bugs in CP that just weren't fully identified yet

meager fog
#

yah

onyx hinge
#

but .. something in the errata would be nice

meager fog
#

wanna open a ticket with atmel?

onyx hinge
#

"if it's this broken, how is there no erratum about it"

#

I've never done anything like that before!

#

how far do you boil it down so that it's independent of an environment like CP/Arduino before you do something like that?

#

(It won't happen for at least 3 weeks if it's on my plate)

meager fog
#

you basically tell them what you're doin'

#

and see what they say

#

this probably isnt the first theyve heard of it

#

dan can help ya - he's doing one

#

@ionic elk ok while we wait for these PR to bake

#

you are gonna start poking at 405/407?

onyx hinge
#

I will remember to ask him about it then

ionic elk
#

@meager fog I'm writing pin defs for the Pyboard

#

probably going to head out soon though I'm visiting my folks over the weekend

#

It'll be first on the list monday

onyx hinge
#

have a good weekend @ionic elk

ionic elk
#

ty!

meager fog
#

@ionic elk all good, thanx! ill merge when travis is done

manic glacierBOT
meager fog
#

@ionic elk done!

crimson ferry
#

It's safe to delete old forked-for-PR repos under my github user, right? No reason to keep them, I assume.

tulip sleet
#

@crimson ferry if the PR's have been merged, then all the info you would need has been merged. But you don't need to re-fork for a new PR, if that's what you're doing. Just delete the merged-PR branch, bring the fork up to date with git fetch and git checkout master; git merge upstream/master, and start a new branch.

crimson ferry
#

OK, thanks. I think I skipped the step to make a branch, so it's just master. But I think no harm starting over clean.

#

I'll get this process down eventually ๐Ÿ˜‰

tulip sleet
#

@crimson ferry, yes, always make a branch for the PR, so that your version of master is not different than upstream

strange cargo
#

I have a CPX and the TFT gizmo. I put CircuitPython 5.0 alpha 4 on the CPX, but no libraries (yet). does anyone know how to get something showing on the gizmo screen? CP REPL would be fine. just looking for signs of life from the gizmo.

tulip sleet
strange cargo
#

thanks! I'll try that...

tulip sleet
#

@strange cargo I am guessing - have been away for more than a week

strange cargo
#

@tulip sleet, I loaded the latest build from there. after reset I can connect to the REPL, but I don't see anything on the TFT

tulip sleet
#

double-check the pins

strange cargo
#

thanks! I'll read through this stuff and try...

void trench
#

Received my Circuit Playground Bluefruit (alpha). I'm not much of a developer, but I got it with the hope I can contribute to testing. So I installed 5.0.0 a4 firmware and adafruit_ble library on 9/18. Getting the messages that @mytechnotalent got about "no module named 'bleio'". Tonight I loaded latest build (alpha.4-72g7f1bc48a8 and 9/20 20:38 library. No change. Same error for uart and beacon library examples. I will also be testing examples on feather nrf52840 as a check.

solar whale
void trench
#

@jerryn, many thanks! That got the eddystone beacon example working. But the UARTServer example is no joy. ImportError: cannot import name UARTServer So I can play with the beacons for a while. Double-checked the spelling on UARTServer...

meager fog
#

@tidal kiln wow pyftdi on windows is a total mess

tidal kiln
#

๐Ÿ˜ฆ

meager fog
#

linux and mac seem pretty smooth

#

i think i can get it working BUT

#

libusb 1.0.22 has memory access issues

#

rather pyusb does, and it seems abandoned

tidal kiln
#

looks like even that other one (ftdi1) needed libusb

karmic notch
#

CircuitPython demo - NeoPixel RGBW

from adafruit_circuitplayground.express import cpx
import time
import board
import simpleio
import adafruit_nunchuk

nc = adafruit_nunchuk.Nunchuk(board.I2C())

while True:
x, y = nc.joystick
ax, ay, az = nc.acceleration

r = simpleio.map_range(x, 3, 253, 0, 255)
a = simpleio.map_range(ax, 302, 512, 0, 255)
print("joystick = {}, {}".format(x, y))
print("acc = {}, {}, {}".format(ax, ay, az))
cpx.pixels.fill((x, y, ax))
meager fog
#

@tidal kiln ok i figurd it out - that PR actually solves it

#

so...somehow we gotta tell them to install that branch

#

btw C8 and C9 arent in board - i thought they'd work?

#

there's LEDs attached, so it'd be nice

tidal kiln
karmic notch
#

thanks.

#

and i think I should be in the help channel, my appologies

meager fog
#

@truewen you'll get more help there for sure!

tidal kiln
#

yah, C8 and C9 are weird. they aren't GPIO

meager fog
#

hmm i wonder why i put LEDs on them then

tidal kiln
#

or at least not via the python module

meager fog
#

@tidal kiln word digitalio is tested

#

did you want to add i2c scanning later

#

i could merge it without

tidal kiln
#

doing it now....looks easy

meager fog
#

oki

#

im gonna test i2c next

#

got all these handy circuitpy libraries

tidal kiln
#

i can probably push scan here in a sec

meager fog
#
4.127330 0.890584 9.346344
4.141694 0.904948 9.566596
4.098602 0.852279 9.470834
4.127330 0.933677 9.576172
4.108178 0.871432 9.571384
4.117754 0.919312 9.456470
5.846253 -2.700480 8.953721
6.669804 -5.851041 15.537339```
#

๐Ÿ‘

tidal kiln
#

scan pushed. it was a one liner.

#
>>> import board
>>> i2c = board.I2C()
>>> i2c.scan()
[38]
meager fog
#

rad

#

oled works

#

@tulip sleet ^

tulip sleet
#

@void trench Which UARTServer example are you using?

meager fog
#

@tidal kiln i2c seems a touch slow

tulip sleet
#

@void trench should be from adafruit_ble.uart_server import UARTServer

tidal kiln
#

i think it's all the overhead with the ft232h

tulip sleet
meager fog
#

@tidal kiln the ft232h is pretty fast. i do notice each byte is sent one at a time

#

like there's pretty big delays

#

dunno if you have control over that

#

e.g. can you send i2c buffer all at once

#

let me at least get scan checked and then we can merge

meager fog
#

k i believe ya

#

how about SPI - what did you test with?

#

C:\Users\ladyada\Dropbox (Personal)\micropython\ft232h>python scany.py
I2C addresses found: ['0x26', '0x3d']

#

@tidal kiln can you make one more req.txt change

#

sysv_ipc; sys_platform == 'linux'

#

otherwise it wouldnt install on win

tidal kiln
#

tested SPI with BMP388

#

req update pushed

meager fog
#

ok mergin'

tidal kiln
#

keen

meager fog
#

@tidal kiln ok guide next week?

#

i can do the windows part

#

you can do mac/linux

#

since its basically same other than the brew command

#

@tulip sleet ^ you may want to try this out

tidal kiln
#

yep. might need to bug sid for mac stuff. but otherwise can get the guide started.

meager fog
#

ok did the release

#

i think only thing he had to do was brew install libusb you can use the screenshots

#

i2c being slow is a litle sad but we just have to tell people - hey this is good for sensors, not high speed oled updates

#

it def works, just is sluggish

tulip sleet
#

@meager fog ok, I see, didn't realize what you were working on. Will take a look and I'll order one.

tidal kiln
#

i think i saw a blurb about that in one the app notes? maybe? but if it's something that can be improved, we can PR it when we figure it out.

void trench
#

@danh, Got it. I see the mpy file is now uart_server.mpy instead of uart.mpy. I had been running the example from the bundle. oopsy. Note, however, that I was also referring to the Usage Example on the github.com/adafruit/Adafruit_CircuitPython_BLE README page, which is incorrect, as it has "from adafruit_ble.uart import UARTServer" as the first line of the code. Different from what's in the example in the download...

tulip sleet
#

@void trench Thanks! I will fix the README; I missed that in the doc updates.

void trench
#

@danh: Thanks! Glad to give you more work! ๐Ÿ˜‰

meager fog
#

@tidal kiln spi on the other hand, is veyr fast

#

i can draw to a TFT at 30mhz and its nearly contiguous data

meager fog
#

its not contiguous tho - a little mysterious

#

id like to fix if i can

manic glacierBOT
orchid basinBOT
manic glacierBOT
true surge
#

newbie

raven canopy
#

๐Ÿ‘‹ @true surge. Welcome!

meager fog
#

@tidal kiln fyi gpio blinky is ~500Hz and not stable, so can't be used to bitbang various protocols

manic glacierBOT
tidal kiln
#

there is a "bitbang" mode for the ft232h - but didn't really dig in to that too much

#

but guessing that'd be what you'd want to use to bitbang random protos?

meager fog
#

@tidal kiln yeah im ok with it, just need to document

#

jus' lettin you know i did some scope measurements ๐Ÿ™‚

tidal kiln
#

cool. thanks.

meager fog
#

like you wouldnt be able to use this with servo, DHT, HC-04

#

er, sonar

#

its really for basic LED on/off and buttons

tidal kiln
#

yep. for the first iteration, wasn't thinking much beyond LED/button stuff.

#

can look into that and also i2c/spi speed

meager fog
#

i was gonna briefly look at SPI cause with th eold technique it is possible to send 16KB in one chunk

#

that would let you do neopixels

#

there's a mystery parameter

tidal kiln
#

yah. there are a few of those sprinkled in that module.

meager fog
#

we could compare the speed without previous library

#

to see if it really is slower - if it isnt then we're fine as is ๐Ÿ™‚

tidal kiln
#

compare pyftdi to ftdi1?

meager fog
#

yeah

#

our old code still kinda works

tidal kiln
#

ok, i can check that out. and just any way to improve it beyond current. etc.

#

sry - gotta run now ๐Ÿ˜ฆ

#

put any good info in basecamp and i'll check it out

manic glacierBOT
#

It's in the LEARN link for the breakout if one is to purchase it if I recall. Not near my computer. I opted for this to log weather sensor data on loss of internet connectivity and/or utility power. Im already using PowerBoost1000c and INA219 as UPS setup. Will take a look at what you are suggesting.

Wayne Wells

On Sat, Sep 21, 2019 at 12:44 PM -0400, "ladyada" notifications@github.com wrote:

hiya you shouldnt be using an SD card breakout for raspberry pi, use a USB t...

meager fog
#

@tidal kiln will do!

strange cargo
#

Hi! I'm trying to get the TFT Gizmo working with a CPX. Dan pointed me to this guide yesterday:

#

... I was entering the code there line by line in the REPL. I get an error on the line like this:

#

oops. I mean this:

#

display_bus = displayio.FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9)

#

on that line I'm getting: ValueError: A1 in use

#

... maybe the values for tft_cs and tft_dc need to be different on CPX?

manic glacierBOT
#

Here it is. Not so much that it says you can use with a Pi, as much as it doesnโ€™t say you cant. As a newbie I saw the CircuitPython comments and assumed it would work,

http://learn.adafruit.com/adafruit-micro-sd-breakout-board-card-tutorial

From: ladyada notifications@github.com
Sent: Saturday, September 21, 2019 1:02 PM
To: adafruit/circuitpython circuitpython@noreply.github.com
Cc: ankonaskiff17 ankonaskiff17@twc.com; Author author@noreply.github.com
Subject: Re: [adafruit/...

manic glacierBOT
#

Also, do you have a part number for item you say should use? Canโ€™t find and needs to be wired in to a proto board.

From: ladyada notifications@github.com
Sent: Saturday, September 21, 2019 12:44 PM
To: adafruit/circuitpython circuitpython@noreply.github.com
Cc: ankonaskiff17 ankonaskiff17@twc.com; Author author@noreply.github.com
Subject: Re: [adafruit/circuitpython] SD Card Breakout + for Raspberry Pi (#2174)

hiya you shouldnt be using an SD card breakout for raspberry pi, ...

manic glacierBOT
#

Think I overthought that deal. Just put a usb flash drive in open usb port should cover it??

From: ladyada notifications@github.com
Sent: Saturday, September 21, 2019 1:02 PM
To: adafruit/circuitpython circuitpython@noreply.github.com
Cc: ankonaskiff17 ankonaskiff17@twc.com; Author author@noreply.github.com
Subject: Re: [adafruit/circuitpython] SD Card Breakout + for Raspberry Pi (#2174)

when you are at your computer please give us the exact link you're referr...

crimson ferry
strange cargo
#

@crimson ferry, thanks! that makes sense. CS on the Gizmo is connected to A6 on CPX and DC is connected to A7.... I tried that and I got another error, but I think it's because of the reset parameter.

#

the line from the guide is: display_bus = displayio.FourWire(spi, command=tft_dc, chip_select=tft_cs, reset=board.D9)

#

and with that I was getting "ValueError: A2 in use" but it looks like D9=A2 on CPX.

#

I tried just taking that parameter out, and the call completes without errors, but when I do the next line I still don't see anything on the screen (was expecting to see the REPL).

karmic rune
#

I am trying to measure a 1 second pulse. I created a script that outputs a PWM on Pin 13 with 500 pulse width. I have it jumpered to pin 8 on a Metro Express M4. I'm not sure I understand max length and the value in pulses[1]. Is the Value in Millisecond? Many of the values are 65535 (Rollover). Can I get assistance on how this works. Thanks in advance.

#

import time
import board
import pulseio

from digitalio import DigitalInOut, Direction, Pull

led13 = pulseio.PWMOut(board.D13, frequency=1, duty_cycle=500)

pulses = pulseio.PulseIn(board.D8, maxlen=2000, idle_state=False)

while True:
time.sleep(2)

print(len(pulses))
print(pulses[0])

# Clear the rest
pulses.clear()
crimson ferry
#

@strange cargo You'd probably only very briefly see the REPL, if at all, the display.show(splash) line would almost immediately kick the display into displayio and the later appends should then start showing up. Are you doing this line-by-line in the REPL, or as code.py loaded on the CPX? I don't have a CPX or one of those displays, maybe someone else can take a look over on #help-with-circuitpython if you continue to have trouble. Gizmo TFT is so new there's not a Learn guide yet, and I'm not sure if there are any special tricks for it.

strange cargo
#

@crimson ferry, yes I was typing the example line by line in the REPL. one thing I have learned for sure is that it doesn't work to use nylon screws to connect the gizmo to the CPX. since I switched from nylon screws to the (provided) metal ones, I have started to see signs of life: the TFT backlight turns on when I do the line display_bus = displayio.FourWire(...)

#

but I still don't see REPL. I continued through the part of example that draws a green background, but didn't see that either. I think you are right, I should wait for the learn guide. but it's been fun playing around with...

exotic pumice
#

@slender iron what do you use to dump all memory in gdb?

manic glacierBOT
void trench
#

@danh, I've been able to get the eddystone beacon example to work (sort of) on the Circuit Playground Express Bluefruit, and also the following iBeacon:
from adafruit_ble.beacon import LocationBeacon
import _bleio
ย 
company_id = 0x004c
my_uuid = _bleio.UUID('8ce075a8-4fc7-11e8-9c2d-fa7ae01bbebc')
major = 23137
minor = 1
rssi = -60
beacon = LocationBeacon(company_id, my_uuid, major, minor, rssi)
beacon.start(0.5)
ย 
However, both beacons seem to be "once and done". When I reset the CPXB, I receive the beacon advertisement packet only once, regardless off any interval parameter I put on the beacon.start() method call.

I have also been able to interactively do the UARTServer example from the youtube video with the ras pi and nrf52840 express feather, using the REPL on the CPXB. I will try all this on the feather, but I expect the same results...

meager fog
#

@tidal kiln lemme know if when yr around

#

nobiggie cause ill poke at this too ๐Ÿ™‚

manic glacierBOT
craggy galleon
#

Is there a way to add extra "default uart" or i2c devices into CircuitPython firmware so that you could have the following situation:

import board

uart = board.UART()
uart1 = board.UART1()
manic glacierBOT
#

Thank you. With the proliferation of microprocessors and single board computers it can be quite a challenge to sort out what does and doesnโ€™t work with each other.

From: ladyada notifications@github.com
Sent: Saturday, September 21, 2019 8:40 PM
To: adafruit/circuitpython circuitpython@noreply.github.com
Cc: ankonaskiff17 ankonaskiff17@twc.com; Author author@noreply.github.com
Subject: Re: [adafruit/circuitpython] SD Card Breakout + for Raspberry Pi (#2174)

we added a page h...

timber mango
#

Is there a way for me to enable CircuitPython syntax check in other editors than Mu or can only you (Adafruit) do that? Like telling it where to look for parseable built-in libraries, or some sort of python/cpython to circuitpython grammar diff? For instance, could I drop these https://github.com/adafruit/Adafruit_Blinka/tree/master/src into a folder and point to it, would that work? Specifically I'm looking for ways to make Visual Studio Code more useful.

manic glacierBOT
stuck elbow
#

@timber mango I think that people have made stubs โ€” python files with empty functions in them โ€” to get that to work for them

slender iron
#

@exotic pumice iirc the gdb dump command

#

@timber mango we have a make stubs command in circuitpython that will create stubs for the C modules. it doesn't include comments yet though

#

once it does we can package it on pypi and then for an editor, you would need to install it

#

@craggy galleon The extra name is easy. You'd also need to plumb together a second set of init code and macros to define the pins. definitely doable

karmic rune
#

Accuracy not that big of an issue. It is an electric meter for solar. It is more of question can pulsein do long pulses (1-2 Second). I'll be happy to do PR and even supply some documentation and/or examples if the will help.

#

Im unsure if Circuit python is the right tool for this . I may want to use a Trinket as a coprocessor using Arduino and interrupts. & Air lift M4 for Web-server.

meager fog
#

for 1-2 second long pulses you could probably poll the pin just fine

#

pulsein is 16-bit so after 65,536us it will overflow

karmic rune
#

My current Raspberry PI has been using polling successfully for many years. I'm trying to tech refresh to more a embedded solution. I'll try to come up with a loop that gives polling adequate polling time. If not I'll try a trinket polling and send data on request from M4 Airlift. (Why write Software when you can throw Hardware at it ๐Ÿ˜€ )

slender iron
#

ya, I'd just poll it too. PulseIn was designed for infrared pulses and DHT. One we basically can't measure with polling

timber mango
#

@slender iron Thanks. I look fwd to vscode support, but obviously it's not essential. Rrrrrrreally looking fwd to stm32f407vg support ๐Ÿ™‚

slender iron
#

ya, I'll likely do some work on the stubs shortly because Glider will likely use them. I think 407 support is on @ionic elk 's short list

timber mango
#

Cheers!

karmic rune
#

@slender iron Thanks for the link to the source. Source show unit is in microsecond. And as @meager fog pointed out it is a INT that would rollover at 65535.

meager fog
#

@timber mango '407 initial support will be rolling out starting in a week or two

timber mango
#

@meager fog ๐Ÿ™Œ

karmic rune
#

If I get some reasonable quality example code how to I submit it for inclusion with your examples and/or the learning portal? This may motivate me to do a good job on it.

slender iron
#

posting it on the forum is usually the first step. lotsa folks will see it there

karmic rune
#

Cool. Thanks for your help.

manic glacierBOT
tulip sleet
#

@tough flax I have the XAC_COMPATIBLE_GAMEPAD working on Windows, but not Linux or XAC. I put in some try-``exceptcatches and it is fialing on thegp.reset_all()`. This is true even if I make the gamepad the sole HID device and HID the sole USB device.

There is some work going on in TinyUSB to fix some USB and USB/HID issues, but I'm not sure it's related to this or not. Inquiring about that.

tough flax
#

@tulip sleet are you using just one joystick and 8 buttons?

tulip sleet
#

yes, exact same HID descriptor as the pdp

#

you got it to work in CPy 3.x, if I remember right, before the switchover to tinyusb?

tough flax
#

It was 4.x I think. I sent you a uf2

tulip sleet
#

it's based on your fork, right? I can rebuild that

tough flax
#

My fork didnโ€™t work because of the build instructions

#

Load the uf2 and check the version

tulip sleet
#

still looking for the .uf2 in DM's, but this is interesting from our DM's:
ATMakersBill04/20/2019
Yeah, I got both working as joysticks/gamepads on Windows 10
3.x and 4.x
No complaints and it "just worked"
plugged into the XAC and no joy
Finally dumbed it down to a single HID descriptor
with exactly the specs of their joystick
and it worked on 3.x

#

that is why I'm suspicious of tinyusb here

tough flax
#

Hmmm

#

Perhaps you are right

#

I will grab a uf2 in the morning

#

Not at my laptop

tulip sleet
#

thanks!, I will wait to hear from Thach

plucky flint
#

๐Ÿ‘‹

stuck elbow
#

hey @plucky flint, are you doing pyweek?

plucky flint
#

@stuck elbow yup, but not quite yet. Today is for improving circup with .mpy support.

#

You?

stuck elbow
#

I think I will have to skip this time again

plucky flint
#

Perhaps next time... ๐Ÿ™‚

stuck elbow
#

yeah, there is always going to be a next time

ionic elk
#

How often are people dealing with BGA parts when it comes to STM32 development boards? I don't think I've ever actually seen one in person. Trying to determine how high priority it is to add a more complete package management system that accounts for really high pin count MCUs like that.

minor plume
#

@plucky flint I have some ideas for enhancements to circp. What's the best way to coordinate those before I start working on them, so I don't end up accidentally duplicating effort?

solar whale
plucky flint
#

@minor plume suggest issues at the GitHub repository..? See: https://github.com/ntoll/circup/ Don't hesitate to suggest things..! ๐Ÿ™‚

#

(sorry, had my head in code)

#

circup now works with mpy modules... but I've broken a bunch of unit tests... ๐Ÿ˜‰ Need to fix /update those.

nimble narwhal
#

@craggy galleon did you figure out a final resolution on your 5v analog in saturation question? which board? i have a similar/related issue on pyportal, reading divided battery voltage onto analog in on D3 or D4 connector; in my case Vref seems to change if the PyPortal is powered over USB vs by pushing power into the D3 / D4 connector from a PowerBoost1000 (as recommended by the Portable PyPortal guide). note that the "Vcc" line at D3 / D4 sits at 3.3 v when powered by USB, but gets 5v when powered by PowerBoost. the a/d reads differently in the 2 situations.

meager fog
#

@minor plume open an issue on github is best!

#

@ionic elk hihi i think its inevitable people will use high pin count chips. good news is those chips will also have a ton of flash/ram

#

the pin system ya got should be flexible to 'near infinite' pins - what would be keeping us from having a 100-pin table?

tulip sleet
#

@solar whale @idle owl thanks, Jerry, I added info about the pre-releases to another green info box.

raven canopy
manic glacierBOT
#

This PR adds the pin and peripheral definitions, linker file, and compilation changes to support the STM32F405.

On my pyboard V1.1, the program currently derails in memory at startup to the CCRAM region and does not reach main. I'd appreciate help locating this issue or replicating it on other F405 devices, particularly if this sounds like a bootloader-related issue to someone more familiar with micropython (I've erased the chip, so this shouldn't be it, right?). I've noticed there is a l...

solar whale
#

I'm OK either way -- the main issue is how to deal with breaking API's -- In the case oF BLE, I'm not sure it matters too much since the 5.x support add so much, folks will just have to move to it anyway.

manic glacierBOT
errant grail
#

lurking today

nimble narwhal
#

lurking today also

turbid radish
#

Lurking as I catch up on all I missed while gone

crimson ferry
#

lurking today (while opening my latest Adafruit shipment)

old smelt
#

Lurking this week

sterile bronze
#

lurking

pearl notch
#

I missed the link to the doc

idle owl
plucky flint
#

hmmm.... not hearing anything. ๐Ÿ˜• Refreshing. ๐Ÿ˜‰

slender iron
#

I had to restart the app too

river quest
plucky flint
#

๐Ÿค—

river quest
#

Program CircuitPython devices with iPhone & iOS 13
https://blog.adafruit.com/2019/09/19/program-circuitpython-devices-with-iphone-ios-13/

If anyone tries this out and finds issues, let us know.

Adafruit Industries - Makers, hackers, artists, designers and engineers!

With the launch of iOS 13, iPhone users now have the ability to edit code on CircuitPython USB devices! Once youโ€™re device is updated, you can connect a board such as Circuit Playground Expreโ€ฆ

#

CircuitPython snakes its way to FT232H, we now we have CircuitPython Blinka support, so you can control sensors, oleds, buttons, LEDs and more all via FT232H! All thanks to Carter who fearlessly took on this code support โ€“ weโ€™ll start writing up a guide in the next week or two
https://youtu.be/rriKd9jkdJQ

The FT232H is a handy USB to gpio/i2c/spi breakout board we've stocked for a long time. It is used by lots of folks as a hardware interfacing bridge. For a l...

โ–ถ Play video
#

CircuitPython slithers its way to Halloween! HackSpace issue 23!

stuck elbow
#

anybody have a link for the doc?

slender iron
river quest
pastel panther
stuck elbow
#

thanks!

river quest
marble hornet
#

Lurking for now

river quest
manic glacierBOT
pearl notch
pastel panther
#

@slender iron I got you on notes

slender iron
#

thanks!

pastel panther
#

@slender iron are you still getting timecodes?

slender iron
#

I can. I am still recording. Not sure if kattni is now too

turbid radish
#

Thank you to the whole CircuitPython community while I was out

idle owl
#

@slender iron I'm not, I'm unconvinced it won't fail again. There appears to vid from the beginning, but I'm not sure if it was successful.

slender iron
#

kk

marble hornet
#

Un-lurking

slender iron
#

will keep taking timecodes

#
  • circuitpython libraries
pastel panther
gilded cradle
#

The FT323H was really all @tidal kiln, @pastel panther, and @meager fog.

pastel panther
#

@gilded cradle you pretty much are Blinka now so.... ๐Ÿ™‚

gilded cradle
#

lol, thanks

#

Thanks @plucky flint

plucky flint
#

Sound has gone. ๐Ÿ˜ฆ

slender iron
#

link to your blog would be awesome

plucky flint
#

Sorry @slender iron didn't catch what you said. Sound broke.

#

@pastel panther absolutely ๐Ÿ‘

#

Folks, I'm going to have to step away (I have another meeting in 5mins). Great to hear all your progress and keep up the good work. ๐Ÿ‘‹

#

ciao ciao

marble hornet
pastel panther
#

@pearl notch THAT. IS. SO. COOL!

#

LINKS, GIVE THEM TO MEEEEEEEEE (please)

ionic elk
#

has anyone else lost audio?

stuck elbow
#

you can with the gamepad library

#

but you can only do anything with it once the control returns to your program

pastel panther
#

@stuck elbow no, my audio works

#

err @ionic elk

stuck elbow
ionic elk
#

well if I'm up my mic stopped working

#

Or whenever I'm up

slender iron
#

we can read it out

ionic elk
#

reloading discord seems to have fixed it, nvm

slender iron
#

kk

pastel panther
#

๐ŸŒฒ ๐ŸŒฒ ๐ŸŒฒ IN THE WEEEEEEDS ๐ŸŒฒ ๐ŸŒฒ ๐ŸŒฒ

tulip sleet
slender iron
#

asm("bkpt");

pearl notch
#

start_tone is working great!

marble hornet
#

Bye

turbid radish
#

Thanks Kattni & Scott

errant grail
#

Thanks!

ionic elk
#

@slender iron the plot thickens - you remember how STM32 has that one 64KB sector of memory between the 16 and 128K ones? Well, micropython uses the CCRAM as a buffer for it.

slender iron
#

ya, weird. I'd use CCRAM for the heap

solar whale
#

Have a great week, all! Have to go for awhile ๐Ÿ‘‹

marble hornet
#

@slender iron what was the url for the editor app? I didnโ€™t quite catch it during the meeting

slender iron
idle owl
pearl notch
#

Iโ€™m getting interesting differences in computing intervals between using time.monotonic() and time.sleep(). Known issue? Perhaps Iโ€™ll code an example to reproduce the problem.

tulip sleet
#

@pearl notch Yes, there are cases where it seems to miss the timekeeping interrupts. There are some issues on this. We need to rework the time-keeping and clocks

pearl notch
#

Switching from time.time() to time.monotonic() allowed my code to work, but only with time.monotonic() + 0.25, and not with โ€ฆ + 0.2.

#

I know 0.2 is a special number in FP

tulip sleet
#

0.25 can be represented exactly, 0.2 cannot

pearl notch
#

Is that a factor in the known issues?

pastel panther
idle owl
#

@slender iron Let me know when you have a video URL, thanks

slender iron
#

ya, need to ffmpeg now

#

just grabbed lunch

idle owl
#

No worries. I have everything else queued up.

slender iron
#

ugh, export failed

ionic elk
#

@meager fog do you have any other F405 boards on hand besides the pyboard? I'd love a second test/opinion on these port problems I'm having.

slender iron
#

@ionic elk I can help

#

I have f4 discovery

#

@idle owl my chunk of video and time codes starts at 8:53

#

uploading to youtube now

idle owl
#

Thanks so much

slender iron
#

np, had to use ffmpeg to concat

#

it was super quick

#

@idle owl do you have the video description handy?