#circuitpython-dev

1 messages Β· Page 237 of 1

gilded cradle
#

Which might be off slightly or might be accurate.

split ocean
#

powered it down and now it's using my spoofed time.

gilded cradle
#

Ok, cool

split ocean
#

or wait, maybe me trying to spoof "12:00" was a bad test, and that's what it defaults to.

gilded cradle
#

lol

split ocean
#

like a VCR

gilded cradle
#

Is it blinking?

#

jk

split ocean
#

yeah, seems that's the case. I need to look closer at the openweather_graphics.py and see where it displays the time. Is this the esp32 deciding?

gilded cradle
#

I think the esp32 is just grabbing web data whenever CP tells it to

#

It looks like PyPortal does an import rtc and then sets the rtc via rtc.RTC().datetime = now in the get_local_time() function

split ocean
#

ah, looks like it there's the 12:00 in the update_time function.

gilded cradle
#

Yeah, it looks like it's getting the time from time.localtime()

split ocean
#

oh, sure enough.

gilded cradle
#

Looks like it would be easiest to create a time.struct_time(), set the rtc with your spoofed time and go from there.

#

Just use

now = time.struct_time((year, month, mday, hours, minutes, seconds, week_day, year_day, is_dst))
rtc.RTC().datetime = now

and fill in the variables with the spoofed data

#

week_day is 0-6

#

is_dst is 0 or 1, etc

split ocean
#

You just saved me so much time as I was about to dive into what that struct_time() format needed to be :)

gilded cradle
#

Cool. I did a bunch of struct_time stuff with the RTC featherwing

solar whale
#

@tulip sleet current master build allow me to mount/access the SD CArd with displayio active ```
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Adafruit CircuitPython 4.0.0-beta.2-195-g233cfcd4a on 2019-03-05; Adafruit Feather nRF52840 Express with nRF52840

import sdmount_lib
import hello
Howdy

manic glacierBOT
#

some progress with current master build and SPI
current master build allow me to mount/access the SD CArd with displayio active

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Adafruit CircuitPython 4.0.0-beta.2-195-g233cfcd4a on 2019-03-05; Adafruit Feather nRF52840 Express with nRF52840
>>> 
>>> 
>>> import sdmount_lib
>>> import hello
Howdy
>>> 
```  in the above case hello.py is on the SD Card
sdmount_lib.py

import adafruit_sdc...

split ocean
#

@gilded cradle OK, that worked great, thanks again.

gilded cradle
#

Sweet. Glad I could help.

meager fog
#

@pastel panther lemme know if yr around we can looka @ ina

#

i can fix register and you can test

tulip sleet
#

@solar whale it can work somtimes, but the fundamental problem needs to be fixed still

solar whale
#

slideshowsd works on the pyportal πŸ˜ƒ at least this time

pastel panther
#

@meager fog I'm afk until the afternoon but I can ping you when I get back

#

I don't wanna block you so either you can give it a go and I can test later or I can hack on it when I get home

meager fog
#

i think we sorta have to do it in tandem

#

@pastel panther do you have a rough ETA you'll be around?

#

i can def start

#

but i just knooooooooow itll need a tweak from u

pastel panther
#

Of course. Lemme check the schedule

#

Should be back around 430 EST, later if the trains don't cooperate, earlier if they do

manic glacierBOT
manic glacierBOT
umbral dagger
#

That feeling when you're hacking and the code flows smoothly from your mind, out your fingers, and into the editor.

meager fog
#

@umbral dagger floooooooooooooow

#

also known as "the bug creation zone"

umbral dagger
#

Haha

#

sometimes

#

It's like writing.... dump it on paper as fast as you can... edit later

#

It also assumes you have the design fleshed out in your head already.

manic glacierBOT
#

Ran a test on a feather_nerf52840 with a TFT featherwing --If I configure displayio then run the stmpe610 test using SPI, the stmpe610 test runs normally, but it causes the display to be deactivated -- that is I no longer see REPL output on the screen and even after a soft reboot, I can't get the REPL to show up on the screen again. If I run the slideshow - it does not show any images. No erros, but no images. If I hard reset, the slideshow (non-sd) runs normally. The slideshow from the SD c...

solar whale
#

@tulip sleet I hope my comments were clear enough -- with pr 1620 using an SPI device after setting up displayio seems to work, but it effectively disables the displayio device

#

sort of like doing displayio.release_displays()

#

but I can't get it back with out a hard RESET

stuck elbow
#

@timber mango I'm a regular tuber

tulip sleet
#

@solar whale that is helpful - I only tested on a pyportal. I'm pretty sure issue is that the stmpe simple test grabs the bus and never releases it, whereas displayio is better behaved. The simpletest should probably be fixed. Does this make sense to you?

#

it's not polite to hog the bus

solar whale
#

OK -- how do I release it -- just de_init?

#

agreed !

tulip sleet
#

looking...

solar whale
#

I'll have to see if the driver support the context manager -- there may be drivers that do not have de_inits ...

tulip sleet
#

yes, I'm confused about that, the read_data() should be releasing the bus...

#

_read_register() and _write_register_byte() are using the context manager, but maybe they're running so fast that they lock out the displayio tries. Could you try to put a delay in the read_data() loop?

solar whale
#

the pyportal does not have an issue with SPI and the esp32

tulip sleet
#

it uses separate SPI buses to talk to them, I think.

solar whale
#

ah -- and no easy way to connect an SPI device to it.

#

Ok -- I'll play with the STMPE driver -- I can also try some other SPI devices.

tulip sleet
#

actually, pyportal uses an 8-bit bus to talk to the display, not SPI, and ESP and touch have separate SPI buses

#

so my test on pyportal isn't very interesting

#

i forgot scott switched to ParallelBus for PyPortal

solar whale
#

ah -- so not comparable -- I'mm also puzzled why SDCard slideshow does not work with the featherwing

#

also kills the displayio output

tulip sleet
#

could also be contention on the SPI bus, or maybe I've made an error in my PR.

solar whale
#

nah -- that could not be it πŸ˜‰

tulip sleet
#

in there, could try a pause after reading the file.

solar whale
#

ok -- I'll try some tests

tulip sleet
#

wait, hmm, I'm thinking of a possible error I might have made, that when the display update is called in the background, the SPI bus has been grabbed by the code that displays the image, and that's locking out the background task. I'll take a look soon. I'm in the middle of writing up the release notes for the next beta release.

solar whale
#

np -- no rush

manic glacierBOT
solar whale
#

@tulip sleet a delay in the stmpe610 read loop does work -- the screeen keeps updating the REPL even after control-C out of the program

#

it's not a great way to run the stmpe610, but it does not hang the display πŸ˜‰

manic glacierBOT
lime trellis
#

@gusty topaz looks like $20 for 3 boards if you want to get them from OSH Park (https://oshpark.com/shared_projects/7xQbrUxa)
Keep in mind you'll also need to buy components if you don't have them on-hand. See the github's interactive parts list for those details.

solar whale
#

@tulip sleet FYI ran into thsi build current master ```
Build metro_m0_express for de_DE took 16.40s and failed
make: Entering directory '/home/jerryneedell/projects/adafruit_github/circuitpython_master/ports/atmel-samd'
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.

-32 bytes free in flash out of 253696 bytes ( 247.75 kb ).
24076 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Too little flash!!!

Makefile:308: recipe for target 'build-metro_m0_express/firmware.elf' failed
make: *** [build-metro_m0_express/firmware.elf] Error 255
make: *** Deleting file 'build-metro_m0_express/firmware.elf'
make: Leaving directory '/home/jerryneedell/projects/adafruit_github/circuitpython_master/ports/atmel-samd'

lime trellis
#

@solar whale 😱

tulip sleet
#

bleh, we'll have to squeeze a little bit more

solar whale
#

did travis complain?

tulip sleet
#

hmm, no

solar whale
#

odd -- so far -- just the German Metro_m0

tulip sleet
#

i get -52 bytes free, quite odd

#

finished initial draft of release notes, will look at SPI contention now

solar whale
#

may well be the stmpe610 driver that is misbehaved -- the delay helped a lot.

#

it get a big buffer of data when touched and does a lot of reads.

#

I have to go AFK for a bit -- let me know if there is anything you want me to try.

pastel panther
#

hey @meager fog I'm back online if you have something for me to test

meager fog
#

heya @pastel panther that was fast

#

ok yeah lets take a look

#

for register (plain) you can use "<H" or whatever, right?

pastel panther
#

yea

#

>H actually for BE

meager fog
#

yah

#

ok so what do you need, RWBit?

pastel panther
#

RWBits first, then RWBit

meager fog
#

can i give you RWbit first πŸ˜ƒ

pastel panther
#

ok πŸ˜ƒ

meager fog
#

lemme load up my itsym4

#

sorry im being slow

pastel panther
#

FOR SHAME

#

j/k

#

take your time

#

I'm gettin' the other registers worked out

meager fog
#

sometijes i get the 3-5pm slowdowns

#

🐒

pastel panther
#

I know those feels. Then I don't want to have coffee 'cause I'll be up till 4

raven canopy
#

That's why we have sweet tea in the south. πŸ˜„

pastel panther
#

I love sweet tea but it's still full of caffeine. Don't let them fool you! With their mint juleps and boiled peanuts!

#

:non-existant-shifty-eyed-emoji:

#

that'll do πŸ˜’

tulip sleet
#

@solar whale I'm not sure there's anything wrong with my code, but both the SD library and the SMPTE are good at hogging the SPI bus. The displayio background task can't do much if the python code running is holding on to the bus most of the time.

meager fog
#

@pastel panther ok i commited a fix for RWBit

pastel panther
#

ok, let me grab it

meager fog
#

i think its right

#

ill do RWBits next!

tulip sleet
#

I can try calling the background task as soon as someone frees up the bus, maybe.

#

i'll set up a slideshow on a featherwing tft and try that

raven canopy
#

@pastel panther but that's why the sugar is added. to counteract the caffeine! 😜

pastel panther
#

not sure that's how that works but πŸ‘Œ

raven canopy
#

hehe

gilded cradle
#

I thought it enhanced it

raven canopy
#

resists urge to paste Super Troopers gif

gilded cradle
#

πŸ˜„

pastel panther
#

@meager fog

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "adafruit_register/i2c_bits.py", line 58, in __get__
  File "adafruit_register/i2c_bits.py", line 58, in __get__
  File "adafruit_bus_device/i2c_device.py", line 167, in write_then_readinto
  File "adafruit_bus_device/i2c_device.py", line 97, in readinto
ValueError: Buffer must be at least length 1

from calling this guy:

meager fog
#

ok bits isn't done yet FI

pastel panther
#

duuuuuhr

meager fog
#

also its confusing but you need

#

(self, num_bits, register_address, lowest_bit, register_width=1, lsb_first=True):

#

so you have to swaperoo

#

i think i jus did bits

#

python is amazing

pastel panther
#

I just used the wrong name

meager fog
#

you can do ridiculous things

#
            if not self.lsb_first:
                order = range(1, len(self.buffer))
            for i in order:
                reg = (reg << 8) | self.buffer[i]```
pastel panther
#

oooh, thats nice

meager fog
#

you can do reversed(order) BUT you cannot reversed(reversed()) so i have two ranges

#

ok commited RWBits

#

try it out!

pastel panther
#

looks good:

>>> bin(ina.config_raw)
'0b110000100100111'
>>> bin(ina.config_avg1)
'0b0'
>>> bin(ina.config_avg2)
'0b0'
>>> bin(ina.config_avg3)
'0b0'
>>> bin(ina.config_0)
'0b1'
>>> bin(ina.config_1)
'0b1'
>>> bin(ina.config_14)
'0b1'
>>> bin(ina.config_15)
'0b0'
>>>
meager fog
#

i tagg'ed ya on the commit

pastel panther
#

thanks

meager fog
#

@idle owl it shouldn't have affected yr code

idle owl
#

Ok

meager fog
#

but FYI you can flippy around the bits

#

credit to INA260 DS it does warn you!

idle owl
#

@meager fog I made a NeoPixel color picker with PyPortal where you set the colors as variables and it makes the buttons the color that it will change the NeoPixels to. it's a bastardised version of your soundboard code.

pastel panther
#

I guess I missed that part but tbh I was skimming somewhat

meager fog
#

@idle owl sounds lovely!

#

once we get button merged you can write it up

#

that is blockin' on a textarea change

idle owl
#

sounds good. One request: allow fill_color to take a tuple.

pastel panther
#

welp, I just I know what to watch out for in the future now 🀦

#

@meager fog works great, thanks!

#

I also have an api question if you have a sec

meager fog
#

@idle owl wanna do a PR?

#

sure sidd - watxzup

pastel panther
#

which do you prefer:

ina.mode = Mode.SHUTDOWN
ina.mode = Mode.CONTINUOUS
ina.mode = Mode.CONTINUOUS


# or 
ina.shutdown()
ina.trigger_measurement()
ina.measure_continuously()

or something else

meager fog
#

top

idle owl
#

@meager fog sure i'll see if I can figure it out

meager fog
#

more exttenadle

pastel panther
#

I was just thinking because the sensor actually does something when you set the triggered and shutdown modes the later would make more sense

meager fog
#

yeah you're changing the mode

pastel panther
#

ya, but changing to triggered actually triggers it. I guess I could explain that in the docs

raven canopy
#

does it trigger and return? you could break that one out from the other two. non-standardish...but.

pastel panther
#

I think you have to wait for it to say it's done

#

which could happen in the fn

solar whale
#

@tulip sleet so - I guess we need to look at any drivers for SPI and try to make them play nicely. I'm not sure there really is a problem with SDCard in general -- may be with slideshow -- I'll be happy to look into stmpe610 and slideshow to see if I can find where the ise issues are -- clearly stmpe610 can be improved - the delay showed that. I suspect the slideshow issue is something like that as well.

raven canopy
#

ahh. then, yeah i'd just make a note that it will cause the INA's buffer to change.

tulip sleet
#

I am trying a feather m4 with tft featherwing. I get an I/O error when trying to use slideshow with it. It can list the files properly but then fails doing OnDiskBitmap

#

is that what you saw?

#

@solar whale never mind, that is with master, which I know is broken. need to test with PR 1620

solar whale
#

I don't get any errors now -- It just seems to hang or run but not display -- in "advance" function in slideshow when I control C out

#

I am using nrf52840 though, not m4

tulip sleet
#

I may add some delays various places. The sdcard code uses python to read from the card and locks the SPI bus for a significant amount of time. the problem is compounded becuase OnDiskBitmap is constnatly reading data from the file to display the image, since it can't fit the whole thing in memory. It does read a 4k block at a time, but there are a lot of them in a 230k image

solar whale
#

I won't be able to do much more until Friday -- then I should have some time to dig int things better. I'll keep up with the issues and discussions until then. Good luck! Let me know if you need any information from me.

pastel panther
#

@meager fog I'll be offline for a bit but I should be able to wrap this up tonight

#

I wasn't sure if it re-ran after your lint fix so I started it again. I'll check on it again when I get home and review/merge/release

tulip sleet
#

@solar whale thanks for trying all this - this is difficult; I'll discuss it internally this evening. When Scott is back I'll also talk with him

meager fog
#

@pastel panther yeah im in Show Mode now

#

btw more πŸš† are in stock

raven canopy
#

:choo: :choo: πŸŽ†

modern wing
#

@meager fog Thanks for the heads up, ordered a GC + a bunch of long-awaited goodies.

manic glacierBOT
#

So to answer your questions from before:

  1. The only developer mode I thought I enabled was to turn on the linux BETA for chromebooks https://support.google.com/chromebook/answer/9145439?hl=en Other than that I don't remember ever turning on developer mode.
  2. Looking at dmesg I dont see anything new added after plugging in and out. Link to before and after messages here: https://drive.google.com/open?id=188NloJ0XiLJDcyqcyPmNYEzbGWYvtZpx
  3. I have tried this with the 4.0.0 0 and 4.0.0 ...
river quest
manic glacierBOT
manic glacierBOT
manic glacierBOT
#

I replicated the problem with a Trinket M0 and a circuit playground express.
The serial device and the CIRCUITPY drive never appeared. TRINKETBOOT did appear when I reset to the firmware upload mode.

The kernel logged errors after starting to enumerate the HID devices then disconnected the USB device. Which was then detected and the process started over.

I recompiled the same CP version with CIRCUITPY_USB_HID=0 and then the serial port and drive both appeared on the chromebook. I was...

manic glacierBOT
#

It is definitely USB HID issue, I remembered that CPY doesn't support boot protocol for keyboard. Maybe chromeOS trying to switch protocol to boot mode, and doesn't receive correct response from CPY. Hard to tell for sure, but it is a possible cause. I haven't used chromebooks before, could It be run with virtual box to troubleshoot the issue, if yes, please tell me which version chromeOS I should download to begin with :D

manic glacierBOT
#

Tested on feather_nrf62840 with TFT featherwing:
slideshow from SD Card worked normally!
stmpe610 test worked with one issue that is more a problem with the test than CP.
When the displayio device is in use, there is a noticable slowdown in the execution speed at the REPL. You can see it just typing. the response is sluggish.
For a device like the stmpe610 that buffers data quickly, this resulted in some significant lag issues. But that will likely have to be addressed by the user code.
...

tulip sleet
#

@solar whale if you're around, could you re-approve the PR1620? I fixed the German-too-big issue. If not, np, I'll wait for Scott.

#

tnx!

#

Github&Travis seem confused. Both builds have finished, but one is still marked in progress. I re-ran it and it was fine.

solar whale
#

np -- will do it now -- I can't test it, but I can approve it!

tulip sleet
#

only change was to shrink the metro m0 build

manic glacierBOT
manic glacierBOT
manic glacierBOT
#

What's the summary of the behaviour now for M0 and M4 boards?

If I do

play whole sample 1
play whole sample 2

and they both start/end with 32768 will it play them back to back without any additional delays? If sample 1 ends at 0 and sample 2 starts at 65535 how long will it take to ramp from one to the other and is this controllable from CircuitPython program?

For this scenario,

play very short sample 1 looping
stop sample 1
play very short sample 2 looping

is t...

manic glacierBOT
#
[adafruit/circuitpython] New tag created: 4\.0\.0\-beta\.3
manic glacierBOT
tawdry wyvern
#

Howdy ya'll. I'm working on a CircuitPython driver for the TMC5130A motor control chip, the TMC5130A-BOB (breakout board) to be precise. So far I haven't been able to successfully communicate with the chip, and I'm wondering if it has anything to do with "SPI Mode 3", the CP documents suggest that everything works, but can anybody here tell me if there are known issues in the SPI communication tools? Thanks.
https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC5130_datasheet.pdf https://www.trinamic.com/support/eval-kits/details/tmc5130a-bob/

manic glacierBOT
meager fog
#

@pastel panther heya i have an arduino register library

manic glacierBOT
pastel panther
#

@meager fog nice! you have a repo for me to check out?

slender iron
#

πŸ‘‹

pastel panther
#

a wild Tannewt appears

slender iron
#

achievement unlocked: caught up on discord

idle owl
#

@slender iron πŸŽ‰

raven canopy
#

"Mark As Read" doesn't count... πŸ˜‰

slender iron
#

I did a mix πŸ˜ƒ

manic glacierBOT
raven canopy
#

@tulip sleet

* 6 closed issues by 2 people, 6 opened by 5 people
* 151 open issues
  * https://github.com/adafruit/circuitpython/issues
* 5 open milestones
  * Long term: 94 open issues
  * 4.0.0 - Bluetooth: 16 open issues
  * Handheld Gaming: 6 open issues
  * 3.x: 1 open issues
  * 4.x: 19 open issues
  * 15 issues not assigned a milestone

going to tweak a bit, but should be in tonight.

gilded cradle
#

Nice

manic glacierBOT
manic glacierBOT
tulip sleet
#

@raven canopy very nice! thank you!

river quest
#

@gilded cradle blinkacomputer

#

done

umbral dagger
#

What sort of little utility libraries would people like to see for CP?

slender iron
raven canopy
#

@modern wing I should have the Pirate translation PR in tonight after Gotham. Took a while to read through the IETF spec to decide on a legit language code. πŸ˜„ 🌴 β›΅

manic glacierBOT
modern wing
#

@raven canopy Gotta build that submarine first πŸ˜›

manic glacierBOT
pastel panther
#

@umbral dagger not sure if this counts but a way to easily keep my local copy of the library bundle up to date with the current release would be amazing

umbral dagger
#

@pastel panther Should be able to do that with a cron job

#

Kick off a little python script to fetch, unzip and copy into place.

manic glacierBOT
umbral dagger
#

@pastel panther But, yeah, that wasn't the sort of thing I was thinking of πŸ˜ƒ

pastel panther
#

@umbral dagger is there a stable url that one could fetch for the latest bundle release? If I can avoid scraping the releases page that would make life a lot easier. I didn't think there was otherwise I would have done something along the lines you suggested

raven canopy
#

@pastel panther the release page is the only location. other than version changes, the only difference in the filenames is the date. assuming adabot and travis are playing nice; which they've been stable this week after my last fix to the yaml.

tulip sleet
manic glacierBOT
raven canopy
#

yeah, that works too. just have to scrape the links. the API aids by giving the asset URLs in JSON. 6, or half a dozen. πŸ˜„

tulip sleet
#

you could take apart the redirect URL (just fetch the header with curl and find out the redirect URL) to get the tag, and then use that in the API call

#

oh, i see it's already in the API, ok nvr mind

manic glacierBOT
#

Obviously, Pirate is not (yet) an official language. However, I think its a fun idea that @CedarGroveStudios inadvertently suggested.

This is meant to be a community effort. I only did a handful of translations just to get it started.

Mr. Certainly has expressed in interest in helping, and @ATMakersBill mentioned he has an affiliation with ITLAP.

For the IETF language code, I used en_x_pirate, utilizing the "private-use" subtag.

Lastly, f...

raven canopy
#

@modern wing ^^^

modern wing
#

thank you @raven canopy -- please bear with me, as this is my first time working with github. :)

Wait.... ☠ Thank ye Captain @raven canopy --- this be me first time drudging through the briny deep of github. Show me some quarter, matey! ☠

raven canopy
#

haha. Quarter be granted!

#

@modern wing i would wait until the PR is merged, then pull from the adafruit repo to do yer work. I mean, you could conceivably just push to my branch, but no need to make it more difficult and keep that PR open longer.

modern wing
#

gotcha @raven canopy

gilded cradle
#

Thanks @river quest blinkacomputer

manic glacierBOT
#

I have more data but no solution.

I tested on a CentOS 7 system with a Redhat patched 3.10.0 kernel.
kernel version 3.10.0-229 (the 229 is Redhat's patch number) did not work.
kernel version 3.10.0-327 did work.
Redhat backports fixed from later kernels into the RHEL/CentOS kernel. I'm guessing something is tickling a bug in the kernel.

Red Hat's changelog can be found here:
https://git.centos.org/blob/rpms!kernel.git/c7/SPECS!kernel.spec

I also did some more testing on the chrom...

ruby lake
#

I think the grand central will become the core of module playground v2, but I will do a v1.1 first to test a few things.

#

with feather m4

tough flax
#

@umbral dagger I am going to need to download groups of files to the PyPortal. Ideally an Unzip utiltity would be amazing. Because the compression might be troublesome, even a TAR-file reader would be helpful.

manic glacierBOT
pastel panther
#

@ruby lake That's awesome! I always meant to put together a version of the V1 but never got around to it. I've been feeling the lure of the EuroRack recently so maybe this'll push me over the edge

#

Will the v1.1 be making an appearance on your github?

ruby lake
#

@pastel panther eeventually, I need to build and test one first πŸ˜‰

meager fog
#

@pastel panther ok

#

so here is a thing

#

and an example of usage

#

you can try it for INA260 - its nearly identical to circuitpython style

#

with the usual C++'isms

pastel panther
#

ah, that't the arduino version of the thing kattni did

meager fog
#

yeah its a fairly complete library

pastel panther
#

cool

meager fog
#

it was easier to add full coverage

pastel panther
#

thanks for crankin' those out!

meager fog
#

πŸ‘

#

i only wish there was a way to have a member object of a class that you can call functions of but you can't replace

#

not sure if such a thing is possible in C++

pastel panther
#

hmm... not sure

meager fog
#

im going to πŸ’€ but you can try out the C++ library for iNA260 now

pastel panther
#

okie dokes, have a good sleep

manic glacierBOT
#

It would be useful to allow audio samples that are playing with the looping feature to be optionally terminated after a complete sample, e.g. to an integer number of samples will be repeated. I've not considered the case for non-looping but perhaps that would also be a desirable optional feature for some use cases.

A carefully constructed looping sample this would start at "0" (midpoint would be 32768 for 16bit dac) and end at or very near there. The current system stops immediately and ...

manic glacierBOT
raven canopy
#

why can this never go smoothly... 😧

>git submodule update --init --recursive
fatal: Not a git repository: /home/vagrant/source/circuitpython/.git/modules/lib/tinyusb/modules/hw/mcu/microchip/samd/asf4
Unable to find current revision in submodule path 'lib/tinyusb/hw/mcu/microchip/samd/asf4'
fatal: Not a git repository: /home/vagrant/source/circuitpython/.git/modules/tools/uf2/modules/hidapi
Unable to find current revision in submodule path 'tools/uf2/hidapi'
Failed to recurse into submodule path 'lib/tinyusb'
Failed to recurse into submodule path 'tools/uf2'

looks like its nuke time, again.

manic glacierBOT
pastel panther
#

@raven canopy when I was looking at the mixer stuff a while back, I believe Scott has said no one was working on it so I'm going to assume that's still true

raven canopy
#

@pastel panther k. i vaguely remember someone saying they were going to jump on it, but couldn't remember who and if they were. at minimum, i'll at least get it up to speed on the new mpconfig stuff. πŸ˜„

#

well, once i can get this repo to act like a good-lil-repo. 😑

pastel panther
#

nuke it from orbit!

solar whale
#

@raven canopy did you try git submodule sync then the usual git submodule update --init --recursive?

#

and were you facing East πŸ˜‰

crimson ferry
#

@umbral dagger Is your suggestion box still open? Maybe out of scope, but UDP classes would be very useful for easy NTP and other protocols.

prime flower
#

woah, the PyCon schedule is huge (opens up excel)

raven canopy
#

@solar whale yep. I've tried all the tricks I know, some I don't, stand-on-one-foot left & right, turned in a circle 5 times, said "Candyman" in the mirror with the lights off. Nuke will be inbound...once my internet comes back up. #FridaysAreFun

modern wing
#

I wonder what is the software developer equivalent to saying Macbeth in a theatre.... and if @raven canopy inadvertently did it.... πŸ˜›

umbral dagger
#

@crimson ferry Always open.

raven canopy
#

@solar whale @pastel panther decided to give submodule deinit && submodule update --init --recursive a go before nuking. back to good-lil-repo status. guess .gitmodules got smashed somehow. joys of synced folders with windows, perhaps.

pastel panther
#

fun!

meager fog
#

@pastel panther hihi im around today - wanna try that libray for ina260

#

i can go thru it with u

#

take a toooooour of the library 🎩

pastel panther
#

I gotta get to dayjob but I kinda started on it, mainly just installing the veml7700 and busio libs, and find/replacing veml700 with ina260 :p. It compiles!

#

as a side note is there a cookie cutter equivalant for arduino?

#

@meager fog I'll read through the lib again on my lunch and then ping you when I get home?

meager fog
#

lol

#

there is not for arduino - other than this guide

#

arduino packaging is not as detailed as python

manic glacierBOT
#

do we like this enough to pay the cost of longer Travis build times

Fair point. I'm not married to an ever-present Pirate translation. Maybe turn it on around International Talk Like A Pirate Day? A "target audience" in my head is the teaching community; "today kids, we'll be programming like pirates". Lofty goals, I know. :smile:

Is there currently a way to turn off any particular translation in the Makefile? I can gladly update it with this PR.

#

We could but not building on Travis means it may not build at release time.
Right now all assets are built and uploaded automatically. I think its ok
to turn on if you really want it. It only incurs ~10 seconds per board.
Adding a new board is more costly.

On Fri, Mar 8, 2019 at 10:58 AM siddacious notifications@github.com wrote:

I plan on updating all my build aliases to use this but yea, I'm not sure
it's worth the travis tax. We can still do builds for announced releases,
right?
...

raven canopy
#

@slender iron wrt ^^, just add -I "en_x*.po" to the $(shell ls locale/*.po)?

#

scratch that. re-looking. will type after full thoughts. πŸ˜„

manic glacierBOT
slender iron
#

@raven canopy that only impacts make translate I think

raven canopy
#

yeah. it was a partial thought. hehe

slender iron
#

how much longer did travis actually take?

raven canopy
#

the passing one: Ran for 29 min, Total time 2hr 17m.

#

the last merge: Ran for 25 min, Total time 2hr 20m

#

but...they're all over the place honestly. total times are just under 2 hours, to a max of like 2hrs 25m.

#

there's also the list of boards to consider. i know that efforts are underway to make it easier, but that list is getting loooong

slender iron
#

ya, I want the website available for 4.0 stable

manic glacierBOT
raven canopy
#

heh. i finally finished my thoughts on how to exclude. and the ship has sailed...

slender iron
#

seems fitting

#

πŸ˜ƒ

raven canopy
#

indeed.

solar whale
#

βš“

raven canopy
#

@modern wing en_x_pirate is merged. Weigh anchor on yer translatin', me hearty!

manic glacierBOT
solar whale
idle owl
#

It was refactored to remove it, according to the PR. Ask @umbral dagger for details.

solar whale
#

ok but then it should not be in the example should it? @umbral dagger ?

umbral dagger
#

@solar whale Agreed

#

fixing

solar whale
#

I thought maybe it was some Python magic I did not understand...

umbral dagger
#

PR in to update it.

#

@solar whale There may be a bit of that in there as well.

exotic pumice
#

@pastel panther did you get a chance to try that neopixel code with a logic analyzer?

manic glacierBOT
solar whale
#

@umbral dagger thanks -- would you like me to merge it?

umbral dagger
#

@solar whale please do

solar whale
#

merged

crimson ferry
#

I'm seeing some interesting behavior with web server response headers, not sure where to put the issue. (#1) Somewhere, I don't think it's ESP32SPI but then must be either NINA FW or the depths of CP ... headers not served by the server are inserted back to the client (e.g., 'via': '1.1 vegur') - I see this on evewry GET from any site, but only in CP. (#2) In trying to demo #1, noticed that after pulling a couple of pages from disparate sources (via HEAD), headers from prior sites live on and get presented to the client for subsequent sites.

manic glacierBOT
crimson ferry
#

Nevermind #1, I think that's just an artifact of having hit worldtimeapi.or first.

solar whale
crimson ferry
#

@solar whale That makes sense. The json/text/content comes back OK, but the headers are crazy... after hitting a couple of sites, you have an incredible set of headers being reported to the client.

gilded cradle
#

That's good info @crimson ferry. It's possible that the WiFi Manager needs to be updated to clear out old data.

crimson ferry
#

I just tried at the client level and it doesn't seem to make a difference. The old headers seem to be sticky deeper somewhere. response = None in the app doesn't clear the old ones (headers with same name will be overwritten with new values, but old unique headers still get returned next time.

gilded cradle
#

But you say the problem only happens in CP?

crimson ferry
#

As opposed to cURL? Yes. If I fetch microsoft.com before twitter.com for example, I'll have microsoft-specific custom headers in the twitter response.headers

#

Even with response = None between fetches

gilded cradle
#

I mean I didn't know if you cooked up something that ran on Arduino. I was just trying to see if it might be the NINA firmware or something on the CP side.

crimson ferry
#

On my Arduino stuff, I don't think I had the ability to see headers at the time,, so I don't know.

gilded cradle
#

Perhaps file an issue under the ESP32SPI library and after digging in more, if it is in the firmware we can move the issue over.

#

@crimson ferry, I forgot to ask what your setup was. Are you running this on PyPortal or with a separate ESP32 in some configuration?

meager fog
#

@crimson ferry turn on debug so you can see the raw data

#

the can help

crimson ferry
#

@gilded cradle PyPortal (I can also test on ItsyBitsy M4 with ESP32Huzzah). CP 4.0.0-beta.3, adafruit-circuitpython-bundle-4.x-mpy-20190307, debug is now on, I can put some example code and output in a Gist or something.

gilded cradle
#

Ok, thanks.

umbral dagger
#

Any CP librarians here?

gilded cradle
#

Yes, I'm here.

gilded cradle
#

Ok

umbral dagger
#

Thanks

gilded cradle
#

Yw

manic glacierBOT
manic glacierBOT
manic glacierBOT
crimson ferry
#

Thanks, @gilded cradle you rock! It even works if someone forgets to close() (hopefully I'll get better at finding where in the code stuff is happening rather than brute-force black-box testing πŸ˜‰

manic glacierBOT
gilded cradle
#

You’re welcome @crimson ferry . I had a few minutes, you gave great example code and it was a pretty easy fix.

umbral dagger
#

I've wanted logging support in CircuitPython for some time so I finally wrote a stripped down on for it. It's a helper in the bundle now. A guide's in the pipeline. Thanks to @idle owl, @solar whale, and @gilded cradle for the help & feedback.

umbral dagger
#

Where can I dind details on the changes to the builtin re module?

tulip sleet
#

the only change was the name, from ure to re.

#

well, actually some features were added, but in a previous PR some weeks ago.

#

it was updated to the latest MicroPython version

umbral dagger
#

Hmm.. I just updated from beta 3 to beta 4 and CircuitScheme stoped working.

slender iron
tulip sleet
#

@umbral dagger do you mean beta2 to beta3? PR 1544 happened during that time.

umbral dagger
#

ops.. ya

#

ok, that seems ok.

#

That was the most obvious change (my import broke)

tulip sleet
#

we often do stuff like this

try:
    import re
except ImportError:
    import ure as re
umbral dagger
#

Still seems to be in the regex use...

#

On the plus side, C-c is being handled better now. (by better I mean the way I want it to)

tulip sleet
#

maybe some new pattern chars need to be escaped that didn't used to be??

umbral dagger
#

quite possibly. It seems confined to recognizing double-quoted strings

tulip sleet
#

it could also be buggy!

#

though there are tests

umbral dagger
#

I'm amused by what you call tests

tulip sleet
#

i didn't write them πŸ˜ƒ

#

generally we just take core-language stuff from upstream

#

without much review

umbral dagger
#

@tulip sleet Got it working again. Just needed some tweaks to the regex.

#

I put in a PR to bring adafruit/Adafruit_CircuitSchemem up to date

#

If anyone would like to have a look and ok/merge it

raven canopy
#

@slender iron site looks good to start! i would approve/merge PR #8, but no creds. πŸ˜„

slender iron
#

@raven canopy just added librarians

slender iron
slender iron
lean hare
#

Does the Trinket M0 support the use of the RTC library? - Making a simple digital clock

raven canopy
raven canopy
#

@slender iron that padding fix to the CSS really helped the image/cell sizing. much improvement!

lean hare
#

@raven canopy Thanks!

#

Now if my new Hakko comes in today I'm off and running

manic glacierBOT
#

It would be nice to allow partitioning/splitting of the display with displayio such that you could use each partition as an independent display. For example, drawing graphics - buttons, shapes, etc. - on the top half while preserving the REPL output on the bottom of a single display.

I'm admittedly fuzzy on how the layering works with displayio Groups right now, so maybe we're not far from this capability, already.

maiden beacon
#

I noticed in lib/adafruit_midi.py for control_change() it says controller number must be 0-15. But that's not the case, MIDI accepts controller numbers from 0-127 and the underlying code allows it, too. I've tested it with Apple Pro Logic X and it works fine for controller number > 15. Here's the MIDI 1.0 spec, btw:

https://www.midi.org/specifications-old/item/table-3-control-change-messages-data-bytes-2

#

It's important in order to handle 14-bit controls. For example, controller 20 is the MSB and controller 52 is the LSB. So by reading an analog input w/ high resolution, we can encode up to 14 bits and transmit over MIDI in two separate packets.

I'm using this on the Grand Central, btw. Wonderful board!

I've opened a github issue for the library, but wanted to post it here in case anybody was playing with MIDI.

manic glacierBOT
#

I'm seeing some rather non-deterministic behavior with creation of pulseio.PWMOut(). I've been discussing how to get the most PWM outputs on a Circuit Playground Express: https://forums.adafruit.com/viewtopic.php?f=60&t=148017. I can sometimes get four by using the same frequency and variable_frequency=False but not always! Example below is a variant of 4.0.0 beta 2 with no code.py/main.py and after a power off/on to rule out any accumulated-weirdness(tm):

Adafruit CircuitPyth...
modern wing
#

@slender iron I like the site πŸ˜ƒ I think it's a great landing point for CircuitPython. The downloads page looks better with the CSS fix as @raven canopy mentioned, but if I could make a suggestion -- I imagine someone who's unfamiliar with things would be overwhelmed with a large unsorted list of boards. It's a lot to scroll through.

I know I'm not that helpful as I don't have a specific solution (I'm not a strong web developer), but I think it needs organization of some sort. Either by brand, or by board line -- with a legend in the top/side hotlinking to that section.

pastel panther
#

Ya, it could go either "whoooOOoooooo LOOK.AT.ALL.THE.OPTIONS" or
"....lookatalltheoptions"
squeak
run

#

I don't think it's the worst but it's worth considering

#

I imagine in the future there will be dropdowns for filtering by brand, processor, etc. I'm biased/old/experienced but I think it's good for now

#

whaddaya know, it's on the list of todos on the github repo

crimson ferry
#

First time git user... I'm getting an authentication failure trying to do a git push of a CP library change to my forked repo. I'm sure password is correct... tried "anecdata", private email address, and aliased email address as username.

pastel panther
raven canopy
#

@crimson ferry do you have OAuth/tokens set up? ^^^
if you do, you need to use a token for the password.

modern wing
#

@pastel panther I wasn't even aware there was a list of todos in Github (still kinda new to this). Do you have a link to that page so I can read it before putting my foot in my mouth next time? πŸ˜„

pastel panther
#

Neither was I until I looked!

#

It's not a github feature or anything, just something someone added to the README

crimson ferry
#

@raven canopy Not that I know of. I have one unrelated 'Authorized OAuth App', but no GitHub apps. No personal access tokens. I tried both with and without 'Block command line pushes that expose my email' checked. Username 'anecdata' and alias email (xxxxxxxx+anecdata@users.noreply.github.com) is set up in git. I have 2FA.

modern wing
#

@pastel panther Gotcha --- this is good, I like it πŸ˜ƒ

#

Thanks man

manic glacierBOT
pastel panther
#

@crimson ferry are you wedded to using password auth? ssh keys are pretty nice...

crimson ferry
#

@pastel panther I added a key to GitHub. It's not clear to me how git uses that. It still asked me for username and password.

exotic pumice
#

@anecdata click ssh next to the clone link

pastel panther
lone sandalBOT
crimson ferry
#

@pastel panther @exotic pumice Done, but it's still asking for username. I'll scrub it all and start over, maybe a problem with the sequence things were done in. Thaanks.

pastel panther
#

@crimson ferry I think you may need to set a default username when connecting to github in you ssh configs; what OS are you using?

crimson ferry
#

macOS

pastel panther
#

ok; lemee double check my config; it's been a while

raven canopy
#

on the git side, there is git config --global user.name <username>. not sure if the SSH part makes things different; never used SSH.

main meteor
pastel panther
#

ya I think github figures out your account from your git email

#

I think user.name is your name name, not your username

raven canopy
#

i have both set. git config --global user.email <email>. 🀷

main meteor
#

If you want to use key-based login, add another entry for your private key to your config file: ```
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa

slender iron
#

@modern wing Ya, I agree the list is long. Its currently sorted by the number of downloads per board but only based on 3.x

#

The search does work

crimson ferry
#

Thanks, all. I have a few things to try.... πŸ˜ƒ

raven canopy
#

hehe. that's the name of the game, with git. "and now i'll try..." πŸ˜†

pastel panther
#

@crimson ferry glad to help. The github documentation is really very good so give it a thorough read through. I'm pretty sure the key is having your git user.email set to one that is associated with your github account

crimson ferry
#

@raven canopy "Any sufficiently advanced technology is indistinguishable from magic."

raven canopy
#

exactly. i always refer to git as a "mystical land of rainbows and unicorns". πŸ¦„ 🌈

exotic pumice
#

I really think there should be a git subcommand that deletes the repo and re-clones

raven canopy
#

haha. that would be handy. although, git reset --hard works pretty good for me. πŸ˜„

pastel panther
#

@exotic pumice just make an alias to do it for you

#

btw, no I did not test the trellis yet but I'm at a stopping point with my driver so I can give it a try now

exotic pumice
#

I've had instances where git reset --hard and git clean -f -d left me with differences, perhaps in a gitignored directory

raven canopy
#

ahh. good point. didn't think about ignore.

exotic pumice
#

Thanks, I won't be able to take a look right away but I'll pass whatever you send along

#

Or do you wanna join our gitter and talk to the other guys working on the libraries directly?

pastel panther
#

sure?

exotic pumice
#

Ping david-sawatzke

pastel panther
#

kk

pastel panther
#

@exotic pumice If you have time later to make a different version of the previous demo that instead of setting the first or second leds of a 32 neopixel string, have it use strings of length one or two only

stuck elbow
#

@crimson ferry "Any technology distinguishable from magic is not sufficiently advanced."

meager fog
#

@pastel panther hiya

#

im hackin for a bit today

pastel panther
#

heya was about to ping you

#

I'm almost done with the arduino driver, just commenting and cleaning up

meager fog
#

rad

#

i have some Ideas

#

so i think we may want to do a mix of CMSIS structs and the BusIO library

#

but BusIO only is also fine

pastel panther
#

googles

meager fog
#

so yeah can u show me whatcha got now

#

PR or commit or whatnot

pastel panther
#

sure, one sec

meager fog
#

thanx

fluid helm
#

Awesome site!

manic glacierBOT
pastel panther
meager fog
#

@pastel panther tanx lookin now

pastel panther
#

I'm gonna run down to the store for a minute; bbias

meager fog
#

looks great

#

we can't travis yet because busio isn't in the libray manager

slender iron
#

Thanks @fluid helm ! Want to review πŸ‘† ?

fluid helm
#

Yeah sure! @slender iron

slender iron
#

thanks! a comment is enough if you can't approve approve

manic glacierBOT
fluid helm
#

Looks like @meager fog beat me to it πŸ˜‰

#

But all looked ok to me!

pastel panther
#

@meager fog back! Ya that code I pushed needs a bit of cleanup anyways, just wanted to share my progress. I'm interested to look at CMSIS structs but I don't know much about them.

Is there some reading material you can point me to?

meager fog
#

ok yeah

#

soooo

#

the thing is - with registers being objects, they take a lot more memory

#

i can squeeze em down a bit because i have some extra member variables but it definitely adds up

#

the way we did 'bits' before is with a struct

meager fog
#

i gotta get a clang linter at some point, too many tab/spaces issues

#

but basically you end up splitting the register's uint8_t or whatnot, into a struct, instead of a definition of a register object for each bit

pastel panther
#

ah

meager fog
#

but i think for now lets stick to what we gots

pastel panther
#

okie dokes

meager fog
#

i think if you get to like 6-8 RWbits then we should look at maybe using cmsis

pastel panther
#

ok

#

I'll finish it up, give it a polish and see where we're at

manic glacierBOT
meager fog
#

@pastel panther nice

pastel panther
#

@meager fog I'm gonna head out for a bit to enjoy the break in the rain but I should have something later tonight

crimson ferry
#

Got the git / ssh process working, one final (I hope) process question... I assume the best place for me to test my change is while I have my branch checked out, changes just made, git status = clean tree, probably after last anticipated commit before PR, but definitely before push back to my fork. Testing by copying changed file(s)/lib to my device(s). Or is there a better flow?

idle owl
#

@crimson ferry Testing anywhere along the way is good. I'm bad about iterating within my git directory and instead often do it on the board (Which can lead to losing code if something goes wrong). What you're suggesting above is an excellent workflow.

crimson ferry
#

Thanks, @idle owl. I was following your Guide but don't want to get too far without confirming it still works πŸ˜‰

idle owl
#

For sure, it's still exactly what I do πŸ˜ƒ

meager fog
#

@pastel panther β˜€

manic glacierBOT
raven canopy
#

why must sheets do this to me. "Section 3: route feeding lines in the Tx layer" - "Section 6: avoid routing feeding lines in the Tx layer". 😡

#

actually...i may be reading section 6 wrong. sorry sheet! didn't mean to blame my duncery on you! 🀦

umbral dagger
#

@idle owl @crimson ferry I have a "deploy" alias defined that copies *.py in the current directory to my CIRCUITPY drive and does a sync (to make sure everything finished writing). I work in my working dir and deploy to test (the auto-reload causes a restart when I deploy).

meager fog
#

i git clone directly in and then commit when its in a good spot - kinda funky tho πŸ˜„

exotic pumice
#

@pastel panther ok I will when I get home

manic glacierBOT
#

Tested boards: pca10056, pca10059
Steps to reproduce the errors:

  • take a blank board, connect it to a computers USB, put a simple main.py on it (LED blink, or such) and run it
  • create a subdirectory on the virtual drive (e.g. /lib)
  • copy some CircuitPython libs into the subdir (a few 10kB of files are usually enough, but sometimes more is needed)

The following errors occur, sometimes immediately, sometimes after disconnecting and reconnecting the board from the USB:

  • script crashe...
exotic pumice
#

@pastel panther this one only uses 3 neopixels, I think we've identified the problem as a slow timer

#

oops wrong file

#

not sure what to do with it

main meteor
#

Looks like an HD44780 pinout to me.

#

Then again, the listing says a spfd5408 controller.

pastel panther
#

also says ili9341😜

main meteor
#

Yeah, title says one thing, description says another

#

Probably not too hard to fold SPFD5408 support into the adafruit_rgb_display library.

exotic pumice
pastel panther
#

yaaaay!

exotic pumice
#

yeah, this is using the assembly delay version, with link time optimization disabled, and compiler optimization set to "s"

#

it would be nice to get the timer version working too

#

because then people can run with whatever optimizations they please

#

we discovered our timers were only running around 500KHz

#

or actually, timers running at 1MHz, a toggle on two different ticks was 500KHz

#

I have no idea how that was working on Metro M4

#

must be some super tolerant neopixels

manic glacierBOT
#

I'm using a Feather nRF52840 Express. I have used it extensively for 2 weeks. I coded a small game and everything was working great. I upgraded to beta 4.3 and now the board is consistently crashing without giving any kind of debugging messages in the serial console. This never happened prior to 4.3. The crashing started instantly after the upgrade without any mods to my previously working code. Prior to the upgrade I never experienced any crashing with the Feather nRF52840.

After cr...

manic glacierBOT
manic glacierBOT
#

If you were running 4.0.0-beta.2 before you upgraded to beta.3, then reinstalling beta.2 would revert things to as they were: there's nothing "hidden" going on. It's possible a new bug was introduced in beta.3, or perhaps something about your operating conditions have changed. Please give us more information:

  1. Source code of your program (attach as .zip or .txt)
  2. More complete description of when the error happens. Can you reproduce it consistently, and how
  3. Complete text of error ...
fluid helm
#

How "open" is the circuitpython website? I was trying to create a Jekyll grid system for my learning portal and it seems like i could build upon the system the site uses. Obviosuly i'd include full credit

pastel panther
#

@fluid helm I don't see a license but it's adafruit so I think it's safe to say it's open source. Plus, it's based on jeckyll which is open source so by all means do whatever you want.

fluid helm
#

Ok, just wanted to be cautious. Thanks @pastel panther!

manic glacierBOT
void void
#

I have a Itsy Bitsy and just starting out

#

at this point I have up and running and now I need help on where is the best place to start learning on how to make code and simple projects thanks for any help.

pastel panther
#

hey @void void I responded to your message in #help-with-circuitpython . Posting in just one of the two spots is usually enough. Let's talk over there

manic glacierBOT
#

Hi

I have recently upgraded my CPX to 4.0.0beta3.
I am working on a project where I need to log data to files on the file system (requires storage to be mounted as writable from boot.py).
In order to optimize the debugging I am using uPyCraft which is an IDE which allows to upload files to the file system through the REPL.
The code send by uPyCraft to the REPL is:
`myfile=open(filename,'w')
myfile.write( ...data... ) # data is a 128 byte string where end of line are all '\r'
.. repea...

#

There is no native build for ESP32. However, we have a good library that supports using the ESP32 as a co-processor: https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI. This library is used for the PyPortal.

Using the ESP32 as a co-processor is advantageous in several ways: we don't need to port CircuitPython itself to the ESP32, which is a major task; we can substitute another Wifi-capable co-processor if another good one comes along, and having another core running the network c...

meager fog
#

@pastel panther hihi

pastel panther
#

heya

meager fog
#

im going to give you access to our PCB repo now

pastel panther
#

ok, sweet

#

(currently trimming castillations with an exacto knife)

meager fog
#

ok check ur email - did i do it right?

pastel panther
#

I just saw your response to my email but didn't see anything from github or elsewhere

#

there it goes

meager fog
#

ok yay

#

so i think you can stick it in...

#

Development/Battery and Power

#

under a new directory INA260

pastel panther
#

ok

meager fog
#

we like to have a folder per rev, so make a subfolder Rev A

#

rename the PCB to include Rev A in the name

pastel panther
#

will do

pastel panther
#

sounds good. Spaces in names are preferred? I normally default to underscore but whatever's clever

meager fog
#

spaces are fine - they're files not code πŸ˜ƒ

#

we commit directly, no PRs

#

since you can't really review em anyways

pastel panther
#

makes sense.

meager fog
#

ok next up wanna move the libs to adafruit?

pastel panther
#

sure

meager fog
#

alright plz try!

pastel panther
#

wait, by libs you mean drivers or switch the board to use adafruit libraries?

meager fog
pastel panther
#

right

#

I don't think there is a repo... do I have that ability or can you make one?

meager fog
#

can you 'move' the repo?

#

you can move it to me ladyada

#

then ill move it to adafruit

#

transfer maybe

pastel panther
#

I didn't know that was a thing... lemme try

meager fog
#

itz a thing

pastel panther
#

It says I don't have perms to create adafruit repos

#

I was also disappointed that part of the github ui didn't play kenny loggins

meager fog
#

lol

#

ok try to transfer it to me

pastel panther
#

k, that works

meager fog
#

ok all done!

manic glacierBOT
#

It turns out I did not revert far enough. I loaded Adafruit CircuitPython 0dc2600 on 2019-02-20 and everything is now working! Unfortunately, Adafruit CircuitPython f3e50b9 on 2019-02-21 does NOT work.

  1. Attached is the source code and a schematic.
    Mario Working 2.zip
  2. By β€œlock up”, I mean the program halts, the serial stops functioning and the feather drive disappears. It happens consistently with f3e50...
exotic pumice
#

so my swd pi died but it turns out I can use upstream freedap with a few modifications as an swd debugger on feather m0, while Adafruit_DAP only supports programming

#

J-Links, who needs 'em?

meager fog
#

@pastel panther ok wanna fix up the repo to have our 'style' of travis and stuff

exotic pumice
#

it also seems that openocd has merged samd51 support

pastel panther
#

sure

meager fog
#

@pastel panther ok try following the guide?

pastel panther
#

ok

umbral dagger
#

So I'm playing with PyPi packaging today.

pastel panther
#

@meager fog I was going to do a few cosmetic tweaks to the board; should I wait until they're tested more or go ahead and do them now?

meager fog
#

@pastel panther do em now!

pastel panther
#

@meager fog is there a standard pitch for mounting holes?

meager fog
#

check the mbaboards libarary for mountinghole-2.5

#

and put em on a 0.1" spacing

pastel panther
#

kk

meager fog
#

im writing text stuff so ping me if you have Q

pastel panther
#

ok, thanks

manic glacierBOT
#

So, I asked about Touchio because I found it really usefully for standalone application of a TrinketMO but when I tried using it on ItsyBitsyMO on larger applications I ran into code space issues. So, moved to ItsyBitsyM4 but then found it doesn't have Touchio. So, after watching 2yr. old video of yours on it. Is it that the SAMD51 touch is so different from SAMD21 or is it the amount of code space it requires in the base that's the problem. Looking at data sheets, it isn't apparent to me...

manic glacierBOT
#

Hi @tannewt

I am trying to port the mkr1010 together with the esp32_spi library

I have changed firmware wifinina of adafruit in the ESP32, but i have the next error

Traceback (most recent call last):
  File "main.py", line 20, in <module>
  File "adafruit_esp32spi/adafruit_esp32spi.py", line 309, in status
  File "adafruit_esp32spi/adafruit_esp32spi.py", line 298, in _send_command_get_response
  File "adafruit_esp32spi/adafruit_esp32spi.py", line 224, in _send_command
  Fi...
manic glacierBOT
raven canopy
#

spent the last couple days getting the MixerVoices PR back to compiling. needed to gen up some wavs to test with, and i dug out an old dj trick: millisecond desync = reverb. Only had a piezo handy, so had to tweak the audio post-production. πŸ˜„

DeanM did excellent work on this; i can't take credit for any of it.

No reverb sample: [2 voices; voice1 at 100% gain; voice2 @ 0% gain]

timber mango
#

DeanM rox

slender iron
#

<@&356864093652516868> Reminder: the meeting is tomorrow at 11am Pacific. If you are outside the US, then it will be at a different time. We just entered Daylight "savings". https://everytimezone.com/s/b06e6a22

Easily find the exact time difference with the visual Time Zone Converter. Find meeting times for your contacts, locations and places around the world. Never warp your brain with time zone math again.

exotic pumice
#

notes doc?

slender iron
#

ah, thanks for the reminder

manic glacierBOT
manic glacierBOT
fierce girder
#

hi, anyone know how many of the A1-A7 outputs on the CPE can do PWM output?

idle owl
#

@fierce girder CPX has PWM on the following pins: A1, A2, A3, A6, RX, LIGHT, A8, TEMPERATURE, A9, BUTTON_B, D5, SLIDE_SWITCH, D7, D13, REMOTEIN, IR_RX, REMOTEOUT, IR_TX, IR_PROXIMITY, MICROPHONE_CLOCK, MICROPHONE_DATA, ACCELEROMETER_INTERRUPT, ACCELEROMETER_SDA, ACCELEROMETER_SCL, SPEAKER_ENABLE.

There is NO PWM on: A0, SPEAKER, A4, SCL, A5, SDA, A7, TX, BUTTON_A, D4, NEOPIXEL, D8, SCK, MOSI, MISO, FLASH_CS.

fierce girder
#

thank you!

idle owl
#

You're welcome!

#

Obviously a lot of that isn't broken out, that's from a script that checks every possible pin that's available in dir(board). But it does tell you the A1-A7 answer.

fierce girder
#

@idle owl so for the gator clip friendly pads, that is A1, A2, A3, A6 ?

idle owl
#

Looks like it, yep!

fierce girder
#

great, thanks πŸ˜ƒ

#

I had been looking in ./ports/atmel-samd/common-hal/pulseio/PWMOut.c and ./ports/atmel-samd/boards/circuitplayground_express/pins.c and was getting confused. I'll keep "dir(board)" in mind for next time.

idle owl
#

@fierce girder If you check out that guide page, it has a script at the end that tries to setup PWM on every pin, and tells you whether it was able to or not. That's how that list was generated.

fierce girder
#

ah@

stuck elbow
#

@fierce girder also note that some of the pins use the same timer, so it might be impossible to get pwm on all of them at once

fierce girder
stuck elbow
#

at least not with different frequencies

fierce girder
#

I see it now. I need better glasses πŸ˜ƒ

idle owl
#

πŸ˜„

fierce girder
#

@stuck elbow ah, good point. i had been hoping to use them as independent PWM outputs. I'll need to wire up LEDs and see if I can control independently

stuck elbow
#

you will get an error if you try to create pwm objects that conflict

fierce girder
#

ah. good to know

stuck elbow
#

is there any reason why PA31 is always "in use" even after a restart?

tall granite
modern wing
#

Hi! Lurking on the call today, put a hug report in the doc πŸ˜ƒ

gilded cradle
#

I’m text-only today. No microphone or speaker. Hugs and status in the doc.

modern wing
#

Howdy @errant grail !

#

Loud and clear

raven canopy
#

Hey hey!

idle owl
#

<@&356864093652516868> Weekly meeting starts in a few minutes!

errant grail
#

I'm in hybrid mode today. May have to go text-only at some point due to background musical "noise."

river quest
#

🚰

raven canopy
#

Skip? This is the only meeting I actually try to attend. πŸ˜„

river quest
#

oh @slender iron i am here and can do some of community

manic glacierBOT
meager fog
#

im here till 2:30

#

oh wow thanks !:)

raven canopy
#

Re: milestone numbers - I noticed some off-by-one errors when comparing API & webpage. 🀷

slender iron
#

it could be how it counts PRs with milestones

river quest
slender iron
#

@river quest do you want to skip ahead too?

river quest
meager fog
#

πŸ‘‹

#

DRINK DELICIOUS ADAFRUIT BEVERAGES

river quest
#

this week sponsored by Nyquil

meager fog
#

NYQUIL IS A DELICIOUS ADAFRUIT BEVERAGE

raven canopy
#

🀣

meager fog
#

@pastel panther heya no rush but im adding you to basecamp

#

yayyy mixer!

jolly egret
#

I'm Lurking. Hug report out to @meager fog thanks for getting the TX2 compatible with the Blinka libraries. I will be investing time today to test!

marble hornet
#

lurking

meager fog
#

nice - thanks @jolly egret plz put any notes on that PR

jolly egret
#

For sure!!

meager fog
#

πŸ‘ 🐧

#

hugz to carter for not giving up on the ADS1x15

modern wing
#

Lurking -- hug report in the doc πŸ˜ƒ

raven canopy
#
  • @DeanM for the great foundation with audioio mixer.
  • @jerryn, @deshipu, @siddacious, & @danh for some great support in Discord.
  • Group hug! I wish I could give you all an hour back, if you recently had one stolen from you.
old smelt
#

Late and lurking...

inland tusk
#

Well spring has sprung.
I lost my Mike.
Status update
I finished the ovarian, finally. Next is to work on a mouth organ.

prime flower
errant grail
#

< local music levels increased -- switching to text-only mode>

prime flower
#

@errant grail might want to add a filter for the noise πŸ˜ƒ

errant grail
#

Oh, if it was only noise. It's actually classical music...

#

Decided to rework the Range_Slicer library this past week to make it more universal rather than limiting to positive integers and only ordered inputs/outputs. Had to completely start over from scratch three times (or was it five times?) to approach the algorithm from different angles (thanks to my HS Physics teacher for the technique he taught me many years ago). Finally found the one I was looking for yesterday. It’s passing the tests!
Here’s an example of how Range_Slicer can quantize a relatively noisy potentiometer input signal (input: green trace, quantized output: blue trace). The Slicer class linearly processes any range of input values into a set of indexed output values.

#

Tasks this next week will be to complete the GitHub documentation, experiment with non-linear quantization and floor versus ceiling versus truncation methods. Will continue to develop the hardware prototype with the goal of sending the PCB and front panel design to the vendors by Friday. Planning to get deep into displayio for the relatively complex control panel display.
Also, today is the big day for the CircuitPython-lighted UFO film miniature’s 15 minutes of fame. Green-screen filming begins in an hour. Hope that the production team will let me post a few video clips for you to see.

tidal kiln
#

@errant grail wow. cool. good luck with that!

errant grail
#

πŸ“½

meager fog
#

hi back if any q

prime flower
#

@solar whale Good luck wrangling the cheerlights !

meager fog
#

testing the fether m0 arduino/circuitpy thingy now

stuck elbow
#

it should be at the baseline :P

meager fog
#

@idle owl @gilded cradle thermal cam featherwing is essentially === to the breakout, so not sure it needs its own lib

manic glacierBOT
#

Hi tannewt,
It does not depends on the file size. Even a small file such as boot.py failed.
When I look at the uPyCraft code (https://github.com/DFRobot/uPyCraft_src/blob/master/ctrl.py line 1044), I understand that:

  • File to write is cut in chunks of 128 bytes
  • Each chunk is written with a myfile.write(...data..) REPL command
  • After each write, they wait for REPL response. (They do not explicitly check for ">>>" but they test for "Traceback" or "..." to decide for a failed t...
raven canopy
#

Last Week:

  • adabot.circuitpython_libraries:

    • Fixed an issue with the list of repos received from GitHub API search. It was dropping the more recently updated repos.
    • Added milestone remaining progress to core insights
  • Pushed my initial Pirate translation to get it started. Th' rumainin' will be finished by me hearties!

  • Started a board design for a Gesture Control FeatherWing. Using a MGC3030: https://www.microchip.com/wwwproducts/en/MGC3030

  • Started working on DeanM's MixerVoice PR (#1365, "add mixer voice objects and volume control"). I've brought it up to current master/config, after fighting some persistent compile errors. Got a working test up and running, late yesterday.

This Week:

  • Continue with MixerVoice. Still learning the nuts-n-bolts of it. Then will start discussion on any desired changes.
idle owl
#

@meager fog @gilded cradle Ok. I'll talk to Melissa about the rest of the wings as well.

meager fog
#

yaar

#

@raven canopy i actually made a MGC3030 breakout

#

a loooooooooooooooooong time ago

wraith tiger
#

Py-rate?

slender iron
raven canopy
#

@meager fog really? Sweet. I grabbed one months ago just to play with.

meager fog
#

yeah i never released it

#

could be a good excuse πŸ˜ƒ

#

will you be writin' a library?

raven canopy
#

Planned on it, yes.

meager fog
#

@slender iron just verified a feather m0 basic with the latest UF2+S3 build -> arduino just fine on win7

tidal kiln
#

IN THE WEEDS

  • will there be a guide for new 4.x displayio stuff
  • pin naming suggestion PyPortal.board.AUDIO_OUT -> .SPEAKER (to match SPEAKER_ENABLE, it's also .SPEAKER in CPX)
  • PyPortal has a board.DISPLAY, why not also a board.TOUCH, instead of just pins
  • and more...
prime flower
#

I do

meager fog
#

@slender iron anything else to test?

tidal kiln
#

I do

#

it has it

prime flower
#

Absolutely, but it already has a terminal which I use screen with

tidal kiln
#

^^ that

prime flower
#

terminal is built into vscode*

manic glacierBOT
slender iron
#

@meager fog not that I know of atm. take a look at the issue list

meager fog
#

@slender iron kk

prime flower
#

Mu-like auto-connect to the repl would be great

wraith tiger
prime flower
#

I usually open the CIRCUITPY device as a folder and edit files directly on there

#

so adding file management wouldnt be req'd as vscode handles it..kinda

meager fog
prime flower
#

Possibly a settings configuration (unhide spaces/whitepsace, space size set to 4). VSCode's benefit is its configurability via settings files, should be documented ("Setting up VSCode for CircuitPython")

meager fog
#

sorry just came back - is this about SWD pin directions?

slender iron
meager fog
#

kk!

raven canopy
#

I mentioned it in the force safe mode issue: check the cold debug flag in main.c, if not mux it to io

meager fog
#

@tidal kiln you can check with me as you do it

#

i think we can start with displaying bitmaps first

manic glacierBOT
meager fog
#

@prime flower do you want to take a look at the Ethernet library?

#

since you're doing so much internetting

gilded cradle
#

I’ve been finding the displayio stuff a little confusing too, so a guide would be great.

prime flower
#

@meager fog Sure!

meager fog
#

@raven canopy are ya around

#

touch can be differently implemented

#

resistive or a chip

raven canopy
#

@meager fog I just made the issue; nickzoic was working it iirc.

meager fog
#

for example on a Metro M0 + shield, the shield could be resistive+display or capacitive+display or just display

#

touch also isnt a speed-bound interface

#

its slow to do and thats OK πŸ˜ƒ

manic glacierBOT
meager fog
#

the bundle will only get bigger n bigger πŸ˜ƒ

jolly egret
#

Best party to listen too!!

modern wing
#

πŸŽ‰

jolly egret
#

please post channel

gilded cradle
#

Thanks. I wasn’t able to jump on voice until the end. Will listen tonight.

meager fog
#

@prime flower well - it looks like Ethernet might kinda work? maybe try it (featherwing + m4) and lemme know how it goes, if you can do a basic socket-get we can quickly turn our existing requests lib to ethernet

raven canopy
#

Thanks everyone!! Great meeting. Make it a great rest of the day for you all!

modern wing
#

Thanks!

meager fog
#

πŸ‘‹

#

thanks @slender iron

gilded cradle
#

Thanks

prime flower
#

@meager fog was looking at Nick's PR, I'll try it later today and let you know how it goes. eth time!

meager fog
#

@slender iron @idle owl @tulip sleet yeah a brief catchup thingy

raven canopy
#

✌

meager fog
#

@prime flower we could then have adafruit_io ethernet support

manic glacierBOT
manic glacierBOT
manic glacierBOT
#

Downloaded and tested on pewpew10 --- still functions normally -- I did not do any specific tests.
Imported board to verify pin definitions are seen.


Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 4.0.0-beta.3-5-gcaf51cf4e on 2019-03-11; PewPew 10.2 with samd21e18
>>> import board
>>> dir(board)
['DAC', 'I2C', 'MISO', 'MOSI', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7', 'RX', 'SCK', 'SCL', 'SDA', 'SPI', 'TX', 'UART', '_BUTTONS', '_C1', '_C2', '_C3', ...
timber mango
#

Hi All,

#

I am trying to update a Feather M0 with rfm9x with the latest CP. The board shows up on my Windows PC, but only shows 48K available. When I double-press the reset button, it shows up as a serial port. Is there an existing guide to help me fix this?

stuck elbow
timber mango
#

Interesting, I flashed it with CP 4 beta 3 successfully, but it still comes back with a 48K disk

stuck elbow
#

if it's not an express board, then it's normal

#

it doesn't have the extra flash chip for the filesystem

timber mango
#

@stuck elbow thank you for your help!

stuck elbow
#

use the compiled libraries, they should fit

#

copy only the .mpy files that you need

raven canopy
#

@slender iron you mentioned during the meeting about holding MixerVoice off until 5.x. I imagine it would be better to close the current PR, create a 5.x branch, and then push the change there. or, could just leave it on the dm-mixer branch where it actually lives currently, and re-PR from there when the time is right. /post-meeting-thoughts

timber mango
#

@stuck elbow Sadly the motor controller set of required libraries are much larger than 48K. adafruit_register is big enough alone to fill most of the storage. It's OK, I can order the M0 express and a rfm9x wing.

#

It's the price of not doing more research before ordering, so it's on me πŸ˜ƒ

idle owl
#

@timber mango It might be worth ordering the M4. If you can.

timber mango
#

M4 is out of stock sadly

idle owl
#

Ah

raven canopy
#

check digikey, etc?

timber mango
#

I will, I have a whole cart of stuff from Ada that I'll let sit for a week.

raven canopy
#

also OoS. 😦

stuck elbow
#

@timber mango those .mpy files are only 2kB each, and you don't need all of them

#

check if you have any hidden files in there that take up your space

timber mango
manic glacierBOT
#

I'm encountering a similar issue to the behavior @genevanmeter and @turbinenreiter noticed, on 4.0.0b3. Except, I'm not able to get it to connect.

Running the script in Code.py seems to lock up the device (can't view contents in Finder) and the REPL. I had to downgrade to 3.0 to remove the code.py (since it lacks 'wiznet'), then bump back to 4.0 to get the board connecting again.

Calling .connect:

>>> ss.connect(sockaddr)
Traceback (most recent call last):
  File "<stdin>", ...
stuck elbow
#

and I think you only need the i2c_struct.mpy

manic glacierBOT
#
Adafruit CircuitPython 4.0.0-alpha.2-807-g186e31591-dirty on 2019-03-11; Adafruit PyPortal with samd51j20
>>> import board
>>> dir(board)
['__class__', 'A0', 'A1', 'A2', 'A4', 'AUDIO_OUT', 'D13', 'D3', 'D4', 'DISPLAY', 'ESP_BUSY', 'ESP_CS', 'ESP_GPIO0', 'ESP_RESET', 'ESP_RTS', 'I2C', 'L', 'LCD_DATA0', 'LCD_DATA1', 'LCD_DATA2', 'LCD_DATA3', 'LCD_DATA4', 'LCD_DATA5', 'LCD_DATA6', 'LCD_DATA7', 'LIGHT', 'MISO', 'MOSI', 'NEOPIXEL', 'RX', 'SCK', 'SCL', 'SDA', 'SD_CARD_DETECT', 'SD_CS'...
timber mango
#

Thank you @stuck elbow is there a way to go and find those for each library? I looked for Adafruit_motor but didn't find one, etc.

stuck elbow
#

click on "releases"

#

next to "commits"

#

or download the bundle, to get them all at once, and just pick the .mpy files from there

timber mango
manic glacierBOT
prime flower
#

@timber mango definitely snag a M4 when they're back in stock. Having that board makes LoRa development a lot easier, espcially if you want to use lorawan

slender iron
#

@raven canopy let's just sit on it until we branch 4.0.x

#

I don't care if we do 5.0 in a month with the mixer stuff

raven canopy
#

ok. so leave the PR open? i'll look through and see if i can help with anything on 4.x. i will at least push my currently-building work to dm-mixer.

slender iron
#

ya, I think it's fine

#

can you push to his branch?

raven canopy
#

i'll try. let me spin that up.

manic glacierBOT
slender iron
#

otherwise we'll need a new pr

manic glacierBOT
tulip sleet
#

@slender iron oh man:

Breakpoint 2, nrfx_spim_xfer (p_instance=0x200042e8 <spim_peripherals>, p_xfer_desc=0x2003f5e8, flags=0)
    at nrfx/drivers/src/nrfx_spim.c:555
555        spim_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx];
(gdb) p/x NRFX_SPIM_ENABLED_COUNT
$57 = 0x1
(gdb) fr 1
#1  0x0006f9d8 in common_hal_busio_spi_write (self=0x20008270, data=0x20008620 <incomplete sequence \375>, len=1)
    at common-hal/busio/SPI.c:246
246            if (nrfx_spim_xfer(&self->spim_peripheral->spim, &xfer, 0) != NRFX_SUCCESS)
(gdb) p/x NRFX_SPIM_ENABLED_COUNT
$58 = 0x2

NRFX_SPIM_ENABLED_COUNT is an enum defined in a .h file, getting defined with two different values :/

#

on the track of WHY

slender iron
#

yuck

raven canopy
#

hmm. i get no refspec on git push upstream dm-mixer. should the refspec be like this: git push upstream :dm-mixer?

slender iron
#

what remote is upstream?

raven canopy
#

adafruit

slender iron
#

add dean's repo as a separate remote

raven canopy
#

he commited straight to adafruit, afaict

slender iron
#

ah maybe

raven canopy
slender iron
#

what is your local branch name?

raven canopy
#

mixer_voice

slender iron
#

ah, I think you need to specify both if they don't match

#

check help

raven canopy
#

back into the foxhole
yeah...progit book tries to explain the refspec...oof. πŸ˜„

#

but that also makes sense. refspec = <source>:<destination>

#

note: if you see a upstream/dm-mixer branch...sorry. 🀣

slender iron
#

np

raven canopy
#

try from earlier, but doesn't show up oh GH

~/source/circuitpython$ git push upstream upstream/dm-mixer
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/adafruit/circuitpython.git
 * [new branch]      upstream/dm-mixer -> upstream/dm-mixer
manic glacierBOT
slender iron
#

success!

raven canopy
#

πŸŽ‰

slender iron
#

if you want to move it to your own repo feel free

raven canopy
#

yeah, i pushed to mine before doing anything ruinous. how do you even change the branch in a PR?

slender iron
#

new pr

raven canopy
#

touchΓ©

#

dinner time. well...start cooking time. πŸ‘‹

slender iron
#

thanks for all of your help!

manic glacierBOT
modest atlas
#

Good day all!

#

Can anyone help me with or direct me to a hot to for scrolling letters using a apa102 8x8 metrix

#

Using a sparkfun redboard turbo samd21 running circuitpython 4.0 beta 2

slender iron
#

@umbral dagger and @gilded cradle have done some animations on led matrices but I'm not sure about text

umbral dagger
#

@modest atlas samd21 is going to be limiting judging from my experiences with the dotstar featherwing and a Feather M0 Express.

#

You could look at the guide I did for that (over a year ago) for some ideas. I did text scrolling on the 6x12 dotstar matrix.

modest atlas
#

Will check it out thanks @dastels

manic glacierBOT
#

For what it's worth I tried it on 4.0.0-beta.3 and same fault occurs there.

I've written some python code that now tries to initialise them with retries and then reverses order. My current implementation doesn't seem to be that useful as a workaround. Control-C/Control-D for a soft reset will eventually work but it often takes ten attempts :(

manic glacierBOT
#

@rdagger could you test the attached .uf2? It works for me with your program (your program is very cute!). Thanks.

Problem was that nRF52840 SPIM3 peripheral got re-enabled in beta.3, but it has a hw bug, there's a workaround in the nrfx library, but the workaround breaks BLE. So disabled SPIM3. There was also another problem involving include files, but fixing that didn't fix the underlying SPIM3 problem.

[nrf52840-fix-spi-ble-2019-03-11.uf2.zip](https://github.com/adafruit/circuitpyth...

manic glacierBOT
pastel panther
#

@meager fog yaay. I'm camp'd. I'ma camper β›Ί

meager fog
#

lol ok you can put your notes there

pastel panther
#

like on my thoughts about life the universe and everything, or something more specific?

meager fog
#

tahts fine

#

but also just on the topic of the boards you're working on

#

illt ag u

pastel panther
#

cool, got it

#

should I add the ina260 board somewhere or did you want to review it first?

meager fog
#

oh yeah plz add a todo for it

#

good for trackin

orchid basinBOT
manic glacierBOT
timber mango
#

thank you @stuck elbow for the tip on using the precompiled modules. I managed to get all my libraries loaded, along with a basic stepper test. πŸ˜ƒ

#

3KB to spare after the test code, now I have an excuse for leaving out the comments

gilded cradle
#

@modest atlas, I did some animation for examples in the Adafruit_CircuitPython_FeatherWing library using some shifting functions I implemented. I didn't do text yet because I was going to look into using an existing library such as Adafruit_CircuitPython_Bitmap_Font, though I'm not sure if that would work or not.

manic glacierBOT
manic glacierBOT
#

SPIM3 has a hardware bug in rev1 nRF52840 (see errata). There's a workaround in nrfx, but it causes BLE to fail.

Reconfigured busio choices to use SPIM1 and SPIM2, disabling SPIM3. TWIM0 and TWIM1 are shared peripherals with SPIM0 and SPIM1, and it's not possible to shared dynamically right now due to static nrfx interrupt handler allocation. So choose to have one I2C bus available, and two SPI buses.

Later we may allow dynamic reconfig, try to fix the SPIM3 anomaly-fix bug (or at least...

tall granite
#

what feather[s] are good for wifi and/or BTLE and support CircuitPython?

tulip sleet
#

@solar whale on nRF52840, in order to fix a bug, I have stopped using the high-speed SPI peripheral (SPIM3). That leaves peripherals TWIM0/SPIM0, TWIM/SPIM1, and SPIM2. The 0 and 1 periphs are shared I2C/SPI, but due to interrupt-handler issues, we can't dynamically choose between the two. So there's the choice of providing one available I2C bus and two available SPI buses, or vice versa. We consulted and chose the former (more likely to need multiple SPI buses), but if you have other considerations, let us know). Your opinion is appreciated.

#

@tall granite nRF52840 feather does BLE. CircuitPython 3.x supports wifi on ESP8266, but we are dropping ESP8266 for 4.0 and providing wifi via an ESP32 co-processor now instead. The PyPortal is the first example of that (SAMD51 with on-board ESP32 co-processor modules). 4.0.0 is in beta now. BLE support is currently peripheral only, but central will be added in later 4.x versions.

tall granite
#

@tulip sleet awesome, thanks. Does that mean that the Feather HUZZAH32 will be supported in cp 4.0

#

or, not because it's the main processor, not co-

tulip sleet
#

No, because we'd have to do a complete port of CPy to that chip, which is a lot of work. It's much easier to use it only as a co-processor, for a number of reasons.

solar whale
#

@tulip sleet Does the access to the SPI flash use one of the SPI buses so in general one remains for other stuff or is the SPI flash handles separately.

tulip sleet
#

@solar whale there's a separate QSPI periph, so there's no conflict

tall granite
#

I wonder if there will be a feather in the future that uses esp32 as coproc and supports CP4.. looking at the huzzah32 there's not much room for another chip!

tulip sleet
#

@tall granite there's always new hw in the works, watch this channel for "LEEKS" and check out the "Top Secret" extracts from Ask an Enginner shows on youtube

solar whale
#

@tulip sleet OK -- The only time I think a second I2C bus is used is for some boards with - on board sensors - like CPX, Hallowing, Neotrellis -- Are there any plans for similar nrf52840 boards ?

tulip sleet
#

@solar whale, exactly, we'd flip the choice for CPX, etc. and have one private I2C, one avialable on board pins, and one SPI on board pins. I'll be adding some conditional compilation for that. And/or Nordic can fix their bugs

solar whale
#

AH - sounds good

tulip sleet
#

nordic forum indicates people are having other issues with SPIM3 32MHz SPI as well at higher speeds, so perhaps best to avoid it for now

solar whale
#

@tulip sleet I misspoke(typed) It looks like only the CPX uses an "interenal" I2C bus. The others (pyportal,hallowing ) have the sensors in the SDA/SCL pins that are exposed as well. So only CPX is "different" I guess that is due to the limited number of pins available on the CPX. Can't afford to dedicate 2 to SCL/SDA.

tulip sleet
#

that's helpful to know - one I2C bus is probably fine for most people

solar whale
#

neotrellis accel is on a separate I2C bus as well ...

manic glacierBOT
main meteor
#

I saw a leek for a good-looking compact board using an ESP as a coprocessor. I expected it to be available before the more complex PyPortal, but that isn't how it happened.

stuck elbow
#

not all that gets leek-ed gets finished

main meteor
#

Also true. Back when I was using PIC chips, they announced an 18F010 which had a whole bunch of compute hardware in an 8-pin DIP. I still have the data sheet somewhere, but it was never made.

stuck elbow
#

and sometimes it does get released, but in the mean time the concept changes so much, that it is unrecognizable from the original leek

solar whale
#

sometimes a little duct tape makes a leak go away ...

#

Or redirects it

main meteor
#

I'm kind of hoping the little ESP coprocessor board shows up, as it seems useful in its own right, and wouldn't involve much hardware or software engineering effort/risk (basically just a smaller PyPortal without the screen and some other peripherals).

solar whale
#

Sounds like a particle argon withs an SPI interface to the ESP32

main meteor
#

However, I'm well aware AdaFruit has a lot of irons in the fire, nothing is standing still, and there are only so many hours in a day.

#

It could be that someone decided the Argon would fill that rΓ΄le and another part wasn't required.

#

Also, my use cases aren't everybody's: I'm intrigued by the power and solid environment of an M4 with the connectivity of an ESP, but without the size and expense of a PyPortal.

solar whale
#

Agreed -- That is why I like the Argon - nrf52840 has BLE and I can use the ESP32 with ESPATControl, but ESP32SPI is much better

crimson ferry
#

Yeah a breakout would be very cool, and agreed seems low-risk. Even a FeatherWing wouldn't need any new tech. I like my PyPortal and have some good uses for it, but I also have use for a small fleet of CP-WiFi devices that don't have TFT, to evolve my Arduino ESPs toward.

#

So far, just joining ItsyBitsy M4 and Feather M4 to Feather ESP32, but the latter especially is more expensive than necessary. At least both combos fit on a 1/2-size board with a little nudging in the x, y, and z axes πŸ˜‰

main meteor
#

I am amazingly fond of the ItsyBitsy M4 Express.

manic glacierBOT
#

From some brief testing, 2kHz seems like similar behaviour with many failures using 4.0.0-beta.3-4-g186e31591-dirty.

I can't see a clear pattern yet, maybe a power off makes it more likely to initialise ok but it's not on the first execution of code.py as one might expect. The second attempt (i.e. power off/on, auto-execute code.py, soft reset post exception, second code.py execution) seems pretty successful though.

stuck elbow
#

I think it shouldn't be so hard to look at the schematic of pyportal and make an esp8266 or esp32 featherwing

#

I mean, since you take power from the board and don't need the usb connection, it's basically just the module and nothing else

crimson ferry
#

Having the USB makes esptool flashing really easy, but I'm guessing if three's an ESP32SPI breakout, it will be pre-flashed. Then the only issue is NINA fw updates. But yes, custom is always possible, e.g., https://github.com/maholli/SAM32

simple pulsar
#

I'm using 4.0.0-beta.3-4-g186e31591-dirty which is a minor variant of 4.0.0 beta 3 from @tulip sleet . I just noticed when it spat an exception from my near-perfect code down the serial line (via normal USB connection) that I didn't see the full output. When i hit return the rest appeared. Was that my imagination or is there a difference/ buffering bug in the output now for 4.0.0 betas?

#

This could be my imagination, I'll try and reproduce

#

I've reproduced it

dawn rampart
manic glacierBOT
#

My near-perfect code has just spat an exception. I'm running 4.0.0-beta.3-4-g186e31591-dirty which 4.0.0 beta 3 with a minor tweak. The exception has half-appeared on my console (PuTTY on Windows) from the CPX over USB:

Press any key to enter the REPL. Use CTRL-D to reload.soft reboot

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
Shared couter PWM failure I - trying in reverse order
Shared couter PWM failure II - soft/hard ...
idle owl
#

@dawn rampart We'd love help with that! I believe you can fork this repo, make changes and submit a PR to update board info.

dawn rampart
#

Yea! I just saw that. Forked already. I'll update and send a PR later. Thank you!

idle owl
#

You're welcome! Thank you for contributing!

meager fog
#

@main meteor we have a metro m4 wifi in the works - thats it for now. we're trying to source a esp32 pico chip in a tin but have not had any success so far - hopefully soon πŸ˜ƒ

orchid basinBOT
manic glacierBOT
#

I don't know if this adds any information but as long as I did the test I thought I would add it here. I was looking at this code as a tilegrid example (I'm hoping to create similar app specific drawing primitives) and got curious. I added a bunch of debug print statements to rect.py:rect.INIT to see where it happened. The position value was initially (0,0) and changed after the line

self._bitmap =displayio.Bitmap(...)

to the same value printed in the above wrapper example code.

manic glacierBOT
orchid basinBOT
manic glacierBOT
#

The incoming buffer has changed with 4.0.0 because we moved from the Atmel USB stack to TinyUSB.

Looks like the incoming buffer is 128 bytes on the SAMD21: https://github.com/adafruit/circuitpython/blob/master/ports/atmel-samd/Makefile#L91

One easy fix would be to increase that value and see if the problem goes away. It will reduce the available heap memory so it's a balancing act.

prime flower
manic glacierBOT