#circuitpython-dev

1 messages · Page 234 of 1

modern wing
#

_will remember that :p
_

raven canopy
#

although, in looking at some other translations, seems they went beyond the scope? We're not translating any Python keywords. 🤷

idle owl
#

Hmm.

raven canopy
#

i'm also thinking of how we can drop the unused stuff to make more room. e.g. esp8266 stuff.

tulip sleet
#

@solar whale or @gilded cradle have you tried an ESP8266 breakout with ESP_ATControl? I'm using the sample code in https://learn.adafruit.com/adding-a-wifi-co-processor-to-circuitpython-esp8266-esp32. (And updating some obsolete stuff in the learn guide. The point of this is to update some of the Learn Guide code.). When it switches baud rates to 115200 it loses sync. I don't have an ESP32 breakout handy. Did you already find this problem? Should I lower the baud rate?

solar whale
#

@tulip sleet I have used it a lot. Do you have the RTS pin connected?

tulip sleet
#

no, that wasn't in the guide: just RST

solar whale
#

It is needed for higher baud rates

tulip sleet
#

so the guide needs more revision (I already revised the ssid/password setting part)

#

ok, I'll read the code for which pins, unless you know aoff the bat

solar whale
#

Yes. It needs a lot. Can’t look now . I can check later.

tulip sleet
#

thanks, though, that's very helpful. The only point of this was to test the ujson -> json rename, but I may as well correct the guide.

solar whale
#

I can try to look at it tonight or tomorrow morning. Let me know if you find area that need attention

manic glacierBOT
#

to get it to output this error I just saved the same main.py over and over, using the program in between saves, until it went to safe mode (took three tries). I was using the most recent master (see below for the build number).

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

You are running in safe mode which means something unanticipated happened.
Looks like our core CircuitPython code crashed hard. Whoops!
Please file an issue at https://github...
tulip sleet
#

@solar whale got it to work by turning of RTS. The example I was trying to change is seriously out of date, and not worth me fixing. The Guide did need some updating -- that was separate, so time not wasted. Thanks!

manic glacierBOT
#

@tannewt I think one thing to check here is if a displayio-related object (or maybe a filesystem-related object) should be part of the root pointers lists, but is not. I had a crashing (not a filesystem issue) due to forgetting this for an internal BLE linked list.

@TG-Techie What editor and what operating system are you using? (MacOS for the latter, right?)

solar whale
#

@tulip sleet It looks like the guide still does not show the RTS connection - should I go ahead and add that (GPIO13 on the breakout) Is that what you added?

tulip sleet
#

i was using some other code (not in the guide) that specified RTS. I just took it away and it sort of worked. But you think it needs to be there for reliability?

#

None of the examples actually show RTS/CTS connected, though the commented-out ESP32 code specifies the pin

solar whale
#

for anything above 115200 it does.

#

even 115200 was dicey

tulip sleet
#

I'm just chatting with limor, will ask her

solar whale
#

teh ESP8266 is poor in comparison to the ESP32 in all ways...

#

for this application

tulip sleet
#

can you use the pin on the UART header as well? Is that wired to GPIO13?

solar whale
#

where is that?

#

i don't think so

tulip sleet
#

the upward pointing pins on the end that connect to an FTDI cable

solar whale
#

I don't see any connection to GPIO13

tulip sleet
#

limor says she'd like to deprecate ATControl because it's too flaky

solar whale
#

She's the boss

tulip sleet
#

hah, pins 1 and 5 on the FTDI connector (lower right) aren't even connected. No wonder it didn't work. Anyway, don't need to bother about this now. SPI32 is the preferred solution. It was an experiment.

solar whale
#

I think it can be usefull for the special case of the argon -- but may not be worth the effort.

tulip sleet
#

ESP8266 is not a preferred solution going forward, I think esp due to newer TLS issues, etc.

#

I think the number of users is very low; we'll have our own hardware that's more suitable soon.

solar whale
#

right esp32 may be worth salvaging but only for the argon -- esp32spi is better for all other applications

#

ok with me to pull the plug -- there will be some dissapointment, but thats what hapeens on the cutting edge 😉

#

I do like the argon/esp32 with ESP_ATcontrol and may invest a bit more time in it -- actually I like @lime trellis method of putting micropython on the ESP32. the miniesptool is still useful and it gives users a tool to experiment with.

#

The same goes for putting micropython on an esp8266 then setting up a UART connection to it if you want to use it for say mqtt to Adafruit IO -- I have done that -- may be easier to support than ESP_ATcontorl.

#

as far as the particle argon goes, It was a fun way to get early nrf52840 support before the feather rf52840 came out. I think the argon is best used with the particle.io environment.

manic glacierBOT
manic glacierBOT
gilded cradle
#

@tulip sleet I haven't had a chance to try out the ESP8266 WiFi Co-processor. Since it sounds like we're not working on this anymore, I won't bother implementing the WiFi Manager in it.

manic glacierBOT
#

I don't know whether it's related or not, but I built the latest version from the repository, and tried adafruit_ble with the echo example.
It ran perfectly at first, but then I added some code to show the bluetooth status with the onboard LEDs, and after several restarts, both by saving the file and CTRL-D, the virtual drive was wiped.

Version:
Adafruit CircuitPython 4.0.0-beta.2-111-gd218069f0 on 2019-02-22; PCA10059 nRF52840 Dongle with nRF52840

manic glacierBOT
manic glacierBOT
#

There seems to be something wrong with the filesystem drivers, after reformatting the virtual drive, and reflashing, I got all sorts of weird errors, like:

main.py output:
Traceback (most recent call last):
File "main.py", line 1, in <module>
File "/lib/adafruit_ble/init.py", line 1, in <module>
NameError: name 'ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ' is not defined

But when I open the file init.py in an editor, everything looks OK.

#

*** This code works:
#######################################
from adafruit_ble.uart import UARTServer
import board, digitalio

ledg = digitalio.DigitalInOut(board.LED2_G)
ledg.direction = digitalio.Direction.OUTPUT
ledb = digitalio.DigitalInOut(board.LED2_B)
ledb.direction = digitalio.Direction.OUTPUT

uart = UARTServer()

while True:
uart.start_advertising()
ledg.value = False
ledb.value = True
# Wait for a connection
while not uart.connected:
pa...

manic glacierBOT
#

I just tried the error prodcing code both manually as test.py and as main,py -- it does produce an error as main.py but it runs normally as test.py


Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
main.py output:
Traceback (most recent call last):
  File "main.py", line 1, in <module>
NameError: name '�����������������������������������������������������������������������������������������������������������������������' is not defined



Pr...
#

@dhalbert Git log says:
commit d218069f03451e74e049b337830cbd1be7a25d8e (HEAD -> master, origin/master, origin/HEAD)
Merge: 3e877e0f6 ed1ace09e
Author: Dan Halbert halbert@halwitz.org
Date: Thu Feb 21 17:15:50 2019 -0500

Merge pull request #1584 from tannewt/disable_concurrent_write_protection

Add option to disable the concurrent write protection

commit 3e877e0f6a05083980d5829e8fcc948a14642d58
Merge: 0261c57d3 1532863d8
Author: Scott Shawcroft <scott@tannewt.org...

#

Now I reloaded it as main.py and it works fine ...

It may be very important to make sure the File sytem has been updated before resetting - on lyninx I do "sync" after any write to the board.

I had some odd behaviors with trying to load another file and execute it from the REPL -- it resulted in the same "name= junk " error as above until I reloaded

after that even the previous;y failing main.py started working. So it may all be related to not having the FS stable when resetting

finite narwhal
#

@slender iron, a belated thanks for your help last Tue at 1:46 am.

manic glacierBOT
#

It's definitely not the write cache, I disable write caching for the circuitpython drive in Linux, but nevertheless I get the error.

Also, there seems to be an error in adafruit_ble, because even when it works, I can send only a few characters at a time, when I sent more than ~10, CircuitPython crashes:

Traceback (most recent call last):
  File "main.py", line 26, in <module>
  File "adafruit_ble/uart.py", line 128, in write
OSError: Failed to notify or indicate attribute value,...
manic glacierBOT
manic glacierBOT
#

@uhrheber Your testing is on a PCA10059, which uses the internal flash as CIRCUITPY. On the chance that there’s a bug in the internal flash code, could you test on the PCA10056 as well?

Also, please turn off the special mount options you are using, and just do sync after writing, to avoid any possible Linux driver issues.

What text editor are you using?

You mentioned resetting the board frequently. When do you do that? What are the steps of your workflow?

Thanks.

gusty topaz
#

@solar whale did I read the comments above right?, is the WiFi ATControl for the Argon going to be deprecated? (I was about to make the switch tonight).

gusty topaz
#

@tulip sleet When you wrote "..we'll have our own hardware that's more suitable soon." above, were you referring to PyPortal? (Yes or No would suffice. No need to for more details if still kept under wraps).

solar whale
#

@gusty topaz I only know what the discussion indicated. I have no other information about the plans. Stay tuned.

manic glacierBOT
#

I don't use special mount options, I just disabled the write cache.
Also, as I already said, it's independent from the OS.
Text editors:
Windows: Notepad++, Mu
Linux: Gedit, Mu

I said nothing about resetting the board.
It doesn't matter whether I use the OS' drive eject function before unplugging it, the file system gets wiped anyway.

When I don't use external libraries, I can do with the board what I want, nothing breaks the drive, not even unplugging it while it runs.

manic glacierBOT
manic glacierBOT
prime flower
#

@idle owl If I'm only targeting CircuitPython Microcontrollers, should I remove the PyPi install info from the Adafruit CircuitPython Adafruit_IO readme?

#

Raspi users should be using the Adafruit IO Python library instead, which is set up with PyPi. Maybe add a note to that repo in the readme?

idle owl
#

@prime flower You can. But typically everything ends up on PyPI. I guess you can add it back in if the decision is made to put it on PyPI.

manic glacierBOT
idle owl
#

@slender iron Any guessing on what type of exception this would throw? Needs to except a thing, not be bare. try: self._bg_sprite = displayio.TileGrid(background, pixel_shader=displayio.ColorConverter(), position=(0, 0)) except: self._bg_sprite = displayio.Sprite(background, pixel_shader=displayio.ColorConverter(), position=(0, 0))

#

You wrote the displayio code so I thought you might know off the top of your head.

slender iron
#

why are you try/excepting? Sprite was never stable so I'd rather give people reason to update

idle owl
#

I'm not, I'm deep linting Limor's code

#

try sprite and except an error that says "update"?

#

er wrong way

#

How would you rather it be written?

#

I can change it now, I'm working on getting it ready.

slender iron
#

probably easiest to just figure out the exception

#

I usually just try it in the REPL to see what is thrown

#

I don't know off the top of my head

idle owl
#

Ok.

#

Thanks

#

I was trying it in the REPL but it requires arguments that I was having trouble satisfying. That's why I asked. I'll see if I can figure it out though

tidal kiln
#

"deep linting" 😋

idle owl
#

It seemed fitting... mostly because I'm linting code I've never seen and also never used and also can't test. 😄

#

(Yes I have someone else testing it.)

manic glacierBOT
prime flower
#

@solar whale thx for testing IO CircuitPython 😃

#

super useful as I plug away. Should I wait on you to do a code review before merging it into master?

solar whale
#

@prime flower my pleasure -- i'm learning a lot about the AIO API -- I'll go ahead and mar it reviewed -- I think it is more than ready for merge - nice job!

prime flower
#

thanks - it was a fun lib. to build out tbh. ive had a lot of eye-time with the IO python one

solar whale
#

This will be very useful -- just need to get more peolple using the esp32spi -- when the pyportal is avaialble I think this will be very popular!

prime flower
#

Soon, Soon 😃

#

I'm really happy with the work done on WiFi, IO on CircuitPython...excitin'!

solar whale
#

@meager fog and @gilded cradle have done a great job on it

#

and you've done a great job with AIO !

prime flower
#

thx

#

@solar whale you ever get a RuntimeError: ESP32 not responding?

#

Just got one from running a temperature get/send

solar whale
#

Only when first connection. Usually means a loose wire

#

are you on pyboard? or separate ESP32

prime flower
#

Yeah, it seems like its sometimes on the connection only.

#

portal

solar whale
#

hmm not likey loose wire ! but yeah that is waht happens if you connect an ESP32 up incorrectly

prime flower
#

I can't accurately replicate it either, it crops up really really randomly

solar whale
#

It may be good to add some try/except cases to the examples do it can reset and retry -- like in the esp32spi examples

#

catch RuntimeError - report it , then do a wifi.reset() and continue

prime flower
solar whale
#

exactly

manic glacierBOT
#

@alexwhittemore I looked at this more carefully. MICROPY_GIT_TAG is generated by git describe --dirty --always --tags. When I run that on the tip of master, I get:

$ git describe --dirty --always --tags
4.0.0-beta.2-121-gd33923942

If I look at the latest commit, I see:

 git log -1
commit d33923942bfa69c9a9ae30d5ee62f86e402b1b48 (HEAD -> master, origin/master, origin/HEAD, adafruit/master, version-tag)
Merge: af863a378 10cdf9a48
Author: Scott Shawcroft <scott@tannewt....
solar whale
#

I ran into some very infrequent errors whne running "cheerlights" for a long time. That fixed it.

manic glacierBOT
solar whale
#

@prime flower I meant to suggest taht before the merge -- sorry - I forgot

prime flower
#

Yeah, tis OK, I'll open a PR

#

I feel that should be for examples like temperature, ones which have a loop

solar whale
#

yes -- only needed when looping

#

I'll be AFK -- tahtnks for all the work on this -- Have a great weekend!

prime flower
#

you too jerry, thanks for the test - enjoy!

raven canopy
#

@prime flower i put up a belated review on AIO. didn't notice that it was merged in the middle. 😆

prime flower
#

@raven canopy for the entire library, or that PR?

raven canopy
#

entire, but it was on that initial PR.

prime flower
#

just saw it, ok

prime flower
#

@raven canopy I made some of the requested changes, going AFK for a bit. Not sure why Sphinx is tossing that neopixel error when I added an import

raven canopy
#

kk. i'll take a look. i would guess its automock, but that's a guess. enjoy your AFK! 😄

prime flower
#

yeah, it was thrown by autodoc

manic glacierBOT
manic glacierBOT
meager fog
#

@pastel panther hihi

#

i can test any new PR

pastel panther
#

heya

#

I'm just doing a final test then going to push to my fork to update the PR. should be < 5 mins

meager fog
#

oki

pastel panther
#

hrm; have to fix a translation-related conflict

meager fog
#

oi

#

what are you testing on anyhow?

pastel panther
#

I have a ILI93whatever breakout

#

I make a shield out of it with a proto

meager fog
#

what has displayio enabled tho

pastel panther
#

grand central

meager fog
#

kk

#

alright im on a pyportal

#

shuldnt make a diff i think?

pastel panther
#

no; the conf for my screen was out of sync with the pp config which is why had R/B backwards. Otherwise it should be fine I think

meager fog
#

kk wanna toss me a build?

#

will save me the time

pastel panther
#

ya

meager fog
#

to get my repo in state

#

k pyportal plz

pastel panther
#

yup

#

you want debug?

manic glacierBOT
meager fog
#

@pastel panther i dont think so

#

either it works or not - ill let u know if not 😃

pastel panther
#

would you rather have one with debug or wait 5 minutes?

meager fog
#

debug is ok

#

as long as i dont need to attach a debugger!

#

cause i cat

#

cant

pastel panther
#

pretty sure it won't blow up without a debugger. pretty sure

meager fog
#

it came up fine

#

ok now i need to make some 320x240 pix in various depths

#

16bit, 8 bit and...?

pastel panther
#

16bit/24 and 8 bit grayscale

meager fog
#

ok will do

#

ill mess around for a few mins - back in 5 - ping if u need

pastel panther
#

ok

meager fog
#

gotta get cat pix

pastel panther
#

of course

meager fog
#

@pastel panther is 8 bit color supported?

#

or just gray

pastel panther
#

no, I was figuring out reading in the palette when I ran out of time

#

it cheats for the grayscale by just using the index since it's palette is a ramp

meager fog
#

kk i gotta find something to make 8bit gray

#

lemme see if adobe does

pastel panther
#

in gimp I had to change the image mode from RGB to grayscale

#

do you want me to make something?

meager fog
#

no but i made something that doesnt display

#

plz try it:

#

16 bit color from adobe

#

im pretty sure im running yer firmware

#

take a look and/or send me a 16bit img

pastel panther
#

is it 565?

meager fog
#

@pastel panther it is whatever standard output from adobe imageready is

pastel panther
#

hmm

meager fog
#

looks like default for 16 bit is 555

#

should i try 565

pastel panther
#

ya

meager fog
#

still doesnt show

#

plz try both, do either show?

#

could also be my code

pastel panther
#

tried both; I'll have to check the first but the most recent it doesn't like the header size

meager fog
#

i use adobe to generate 24 bit ones succesfully

pastel panther
#

that's good cause that would be a regression otherwise!

#

and scott originally would throw unless the header size was microsofty so I followed his suit

#

and tested with GIMP because I don't have PS

main meteor
#

I can always give GraphicConverter a whirl.

pastel panther
meager fog
#

kk

#

yah that worked

#

so you're close!

pastel panther
#

the PS 565 should be relatively easy to fix, the 555 a bit harder, and then actual 8 bit color would mean having to load the palette and reference it which would take even more

main meteor
#

BMP is like PNG: a dozen different formats hiding under a blanket.

pastel panther
#

JPG too

main meteor
#

And TIFF...

pastel panther
#

everyone knows the way to fix a bad format/standard is to make another one 🙄

main meteor
#

And then make it a new incompatible variant of an existing format.

meager fog
#

@pastel panther id say fix the 565

pastel panther
#

ok

pastel panther
meager fog
#

ok one moment

#

sorry was editing a guide

pastel panther
#

no probs

#

just poking at the 555

meager fog
#

ok yah 16 bit dog appears now

#

yayyyy

pastel panther
#

wee

#

ya, it worked just fine once I made it not hate that header size

meager fog
#

lol

pastel panther
#

do you know of anything that's good at dumping image metadata? I've been poking at these bmps in a hex editor which works ok but I have to remember all the offsets or keep looking at wikipedia

meager fog
#

oi

#

well

#

i have something in circuitpy

#

u want that?

pastel panther
#

sure

meager fog
#

thats what i gotz

pastel panther
#

thx

#

should I go ahead and push this?

meager fog
#

ok do you want to try 555?

#

or just say "this iz what u get

pastel panther
#

sure

meager fog
#

sure which 😄

pastel panther
#

ha

#

sure I'll try

meager fog
#

ok im here

#

meanwhile i revamped the wifi co-processor page

pastel panther
#

noice; I was telling kattni that when I'm done with this I'm going to stick my huzzah32 onto the proto with my screen to make a bry-portal

meager fog
#

lol

#

we'll have 'portals in stock next week

pastel panther
#

🎉

meager fog
#

ok im going to pylint pyportal while you hack?

pastel panther
#

sure

meager fog
#

great work so far

#

im impressed 😃

pastel panther
#

awwe, thanks 😃

meager fog
#

this will save a toooon of space

#

and great for wifi - files are 30% smaller 😃

#

ok linting time

#

puts on lintin' pants

pastel panther
#

good luck, don't forget your towel

meager fog
#

i never forget a towel or my copy of linters guide to the galaxy

pastel panther
#

😃

meager fog
#

ping me if ya need me to check something - ill be in atom window

pastel panther
#

ok; I may have a time cap tonight because the wyf wants to watch IT

meager fog
#

of course

#

no rush, i'd commit whatcha got

#

im around all weekend and beyond

pastel panther
#

okie doke

manic glacierBOT
manic glacierBOT
solar basin
#

Disregard

manic glacierBOT
manic glacierBOT
#

Unfortunately, I spoke too soon.
After copying more libraries to the pca10059, and adding more code, the problem reappeared.

This made me thinking, that it might be related to the filling level of the disk.
So I started a test program, called F3, that is meant for testing USB sticks.
It fills the drive with test files to the brim, and then reads them back, testing for corrupted and overwritten parts.
I ran it on both pca10056 and pca10059, while the program was running, and it showed c...

manic glacierBOT
meager fog
#

@marble hornet hiya for the thermal demo

#

i need the custom uf2 😃

marble hornet
#

sure! let me get it

meager fog
#

cool then we'll try it out

marble hornet
#

rmm the pyp is being finicky let me try unplugging the amg

meager fog
#

oki

marble hornet
#

and !

meager fog
#

gr8

#

trying now

marble hornet
meager fog
#

im going to try the zip

marble hornet
#

kk 😃

meager fog
#

ok got it working

#

nice!

#

i think on displayio youll be able to update fast since you wont have to redraw the squwares, just change their color

marble hornet
#

thank you, some of the improvements sped up the refresh. I've been having problem with porting to dispio so it may be a while. 🤔 . but if the two are not compatible it would be easier . there is an example in tg_gui/programs/examples

#

@meager fog did you find that the amg needed to be unplugged for the pyp to turn on ?

marble hornet
#

@river quest could i ask you to send me the cleaned up tricorder audio files ? please

gilded cradle
#

@idle owl, I have a question about the missing CP drivers

#

I noticed that a lot of the missing drivers are actually under the helpers folder. Is that a bug in the checker or should they be on the drivers page?

raven canopy
#

@gilded cradle i'm running the check now. just so i'm reading it right, you're saying a lot the ones listed in the check are actually on the drivers page?

gilded cradle
#

No, I'm saying that under the bundle, they are categorized as helpers

#

For instance miniesptool is a helper, but is listed as missing from the drivers page.

raven canopy
#

oh. yeah, that won't matter. adabot downloads the page content, then blanket checks for the RTD url:

if "https://circuitpython.readthedocs.io/projects" + repo_short_name + "/en/latest/" not in core_driver_page:
    return fail_code
gilded cradle
#

So should they be added to the drivers page as a helper?

raven canopy
#

yes. but the driver page doesn't cateorgize (atm) strictly as helper or driver. there is a helper section iirc (its only been a week since i looked 😄), but that doesn't mean all helpers are listed there.

gilded cradle
#

Ok, thanks. I wanted to add them, but was unsure if I should.

raven canopy
#

they need it. do you want the current list (as of 2 minutes ago)?

gilded cradle
#

Sure

raven canopy
#
CircuitPython drivers page missing driver - 27
  * https://github.com/adafruit/Adafruit_CircuitPython_AT86RF233
  * https://github.com/adafruit/Adafruit_CircuitPython_SK9822
  * https://github.com/adafruit/Adafruit_CircuitPython_MFRC630
  * https://github.com/adafruit/Adafruit_CircuitPython_CPython
  * https://github.com/adafruit/Adafruit_CircuitPython_TMP006
  * https://github.com/adafruit/Adafruit_CircuitPython_US100
  * https://github.com/adafruit/Adafruit_CircuitPython_GFX
  * https://github.com/adafruit/Adafruit_CircuitPython_PCD8544
  * https://github.com/adafruit/Adafruit_CircuitPython_miniesptool
  * https://github.com/adafruit/Adafruit_CircuitPython_RPLIDAR
  * https://github.com/adafruit/Adafruit_CircuitPython_Debouncer
  * https://github.com/adafruit/Adafruit_CircuitPython_BoardTest
  * https://github.com/adafruit/Adafruit_CircuitPython_ADT7410
  * https://github.com/adafruit/Adafruit_CircuitPython_L3GD20
  * https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation
  * https://github.com/adafruit/Adafruit_CircuitPython_TestRepo
  * https://github.com/adafruit/Adafruit_CircuitPython_ST7735
  * https://github.com/adafruit/Adafruit_CircuitPython_ILI9341
  * https://github.com/adafruit/Adafruit_CircuitPython_MIDI
  * https://github.com/adafruit/Adafruit_CircuitPython_ESP_ATcontrol
  * https://github.com/adafruit/Adafruit_CircuitPython_BitbangIO
  * https://github.com/adafruit/Adafruit_CircuitPython_framebuf
  * https://github.com/adafruit/Adafruit_CircuitPython_VCNL4040
  * https://github.com/adafruit/Adafruit_CircuitPython_TinyLoRa
  * https://github.com/adafruit/Adafruit_CircuitPython_Touchscreen
  * https://github.com/adafruit/Adafruit_CircuitPython_VEML7700
  * https://github.com/adafruit/Adafruit_CircuitPython_Display_Text
gilded cradle
#

Thanks. What about ones with missing RTD pages such as the ST7735 (due to having no releases)?

raven canopy
#

hmm. good point. obviously if they have no RTD, they won't work. we could maybe figure out how to exclude those. its done that way with another check...

gilded cradle
#

Yeah

raven canopy
#

hehe. actually, those extra 6 in my list are due to the fact that i used the -v flag to run only the core_driver_page check. which incidentally skips the check that would have forced it to ignore un-released repos. oopsies. 😆

gilded cradle
#

Ah

raven canopy
gilded cradle
#

Yeah, that might work well

raven canopy
#

issue created. it'll get handled eventually. thanks for bringing that up so that it could stare me in the face @gilded cradle! 👓

gilded cradle
#

Thanks

raven canopy
#

i may be the only one that uses the -v option, but it still should be accurate

gilded cradle
#

No problem. I wanted to work on some repo level issues, but I just was running into a lot of questions.

raven canopy
#

questions are a good thing. especially when it comes to tooling. its supposed to help, not confuse further. 😄

gilded cradle
#

Yeah, just being relatively new here is part of it

raven canopy
#

heh. i've been here over a year. still feel new.

pastel panther
#

translations: They great. Great! but also

#

(╯°□°)╯︵ ┻━┻

raven canopy
#

oh yeah. i'm table flipping on the Travis cron for adabot. it makes no sense, and i can't get a handle on the pass once, fail thrice cycle its on.

pastel panther
#

second time now I've just said 'screw it' and nuked my branch from orbit and re-applied the changes

manic glacierBOT
#

I'm trying to use a Feather nRF52840 Express to detect BLE beacons. I'm using the following sample code:

import bleio
scanner = bleio.Scanner()
entries = scanner.scan(2500)

I've notices 4 issues.

  1. Printing entries shows the same hardware address and raw data for all entries. The RSSI for the entries is different.
  2. The 4th hex value of the address is incorrect. It is showing the 5th hex value in both the 4th and 5th positions (Example: AA:BB:CC:EE:EE:FF instead of A...
pastel panther
#

puts the 're' in regression testing

idle owl
#

@gilded cradle I'm around if you have any more questions.

pastel panther
#

it's also possible I suck at git

gilded cradle
#

Thanks kattni, I think sommersoft answered it for now.

idle owl
#

Ok

river quest
#

hi hi @marble hornet which sounds?

idle owl
#

@gilded cradle Did you look into using your pixel_matrix lib with the 8x16? Did it not make sense and that's why it's essentially standalone?

marble hornet
#

Scanning and a button press if you still have them. And surprise me ?😁

#

Clear enough?

manic glacierBOT
lime trellis
#

Any reason why monotonic_ns() would be returning the ms value with just zeros tacked on? I have LONGINT_IMPL = MPZ in my mpconfigboard.mk

gilded cradle
#

@idle owl, yeah I did, but the ht16k33 functionality is different enough that all the functions had to be revamped anyways.

idle owl
#

Ok. Thanks!

manic glacierBOT
gilded cradle
#

I may end up trying to reuse it with the charlieplex wing functionality though if it’s not too different.

idle owl
#

Sounds good

pastel panther
#

hey @meager fog I have another build for you to test when you have a minute

manic glacierBOT
river quest
marble hornet
#

Thank you. Do you still have the audacitied files ? (They sound garbly rn)

#

Oops typo

river quest
#

checkin' if i do not i can make one real fast for ya if you need a hand

manic glacierBOT
marble hornet
#

Or if you know of a guide? 😁. I checked system but didn't find any cleaning guides

idle owl
river quest
#

you won this round kattni, however i will be prepared for the next encounter

idle owl
#

i too will be prepared. we shall meet again.

manic glacierBOT
river quest
#

@marble hornet looks like i do not have those temp tester wavs

#

or at least, i have too many things called tricorder and lcars and it cannot find it, hah

marble hornet
#

Np, thanks for looking 😁

river quest
#

if you need a hand with any of them i'll be making another one later and i'll keep the files around

#

also, tested out the camera thing, nice work

#

will do a little preview for folks to see in the newsletter,e tc

manic glacierBOT
marble hornet
#

thank you 😃 i'm flattered.

#

would it be weird to ask you screen cap you cleaning it? no audio would be fine but to see the process? please

#

and if you want me to demo and photograph i'd be happy to

manic glacierBOT
solar whale
#

If I am trying the featherwing_gps driver but am getting ```
Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 4.0.0-beta.2-97-g0dc260058 on 2019-02-19; Adafruit Grand Central M4 Express with samd51p20

import featherwing_gps_simpletest
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "featherwing_gps_simpletest.py", line 10, in <module>
File "adafruit_featherwing/gps_featherwing.py", line 61, in init
File "adafruit_gps.py", line 122, in send_command
ValueError: string not supported; use bytes or bytearray

#

Am i missing something?

#

in CP 4 -- the uart inputs are bytearrays, not strings

manic glacierBOT
idle owl
#

@solar whale I need to start leaving those PRs to you. 😄

solar whale
#

I'm just surprised it worked for anyone

idle owl
#

I didn't test it. It was stated that it worked successfully in multiple tests, so I assumed it to be fine. That's why I should have left it for you to test, apparently.

#

Work fast and break things!

#

And let Jerry find the broken bits 😆

solar whale
#

It might have worked with CP 3.1.2

idle owl
#

3.1.2 was never built for the nRF52840 I thought, and that was one she said she tested it on... or I'm conflating PRs here.

solar whale
#

yes -- it does say that in the PR -- I may have something misconfigured. Will see what comments I get back -- no problem

idle owl
#

There it is!

#

😄

solar whale
#

great!

solar whale
#

done

meager fog
#

@solar whale hiya

#

so - for wifi stuff, settings.py is a special filename

#

so im goint to change it to secrets.py

#

ill do ESPSPI if you do ESP AT 😃

solar whale
#

ok -- I was going to change it to somehting -- that works

#

np -- I'll do AT -- may need @prime flower to do AIO ....

idle owl
#

@solar whale Thanks!

manic glacierBOT
meager fog
#

included a handy demo of getting the time from the internet

solar whale
#

@meager fog nice -- I'll update AT later this eveing and run tests on them all. I have to head off for awhile now

meager fog
#

np - ill lint and all that

gilded cradle
#

I did test it and found that issue and fixed it, but must have not copied the fixed file over before committing.😬

solar whale
#

np -- PR going in

#

I have to go for awhile -- back later -- hopefully Travis is in a good mood

river quest
#

bruce sterling, the author, has been a friend of adafruit back all the way when it was just 2 people (limor and i) today i noticed his twitter account icon is circuitpython, that's pretty cool 😃

meager fog
#

blinka is cyberpunk for sure

prime flower
#

@solar whale @meager fog I'll change AIO to secrets.py

meager fog
#

thax

prime flower
#

np, just submitted a PR for it and tagged jerryn for further testin'

lone sandalBOT
manic glacierBOT
meager fog
#

@solar whale around now if ya need smething

solar whale
#

working on secrets 😉 -- see my notes on your PR -- should the imports be from secrets.py -- do you want the file in examples to stay named esp32spi_secrets.py to distinguish from others, but user should rename to secrets.py on board

meager fog
#

yeah just secrets

#

pushed change

solar whale
#

ok -- I pushed mine -- will grab yours and test

meager fog
#

cool ive been testing

#

lots more demos

solar whale
#

@meager fog I tested localtime and cheerlights -- looks good -- want me to merge

lone sandalBOT
tulip sleet
#

@solar whale is changing the guides and sample code to secrets.py on your agenda too?

solar whale
#

yes -- working on it now - the examples are updated in the PRs -- looking at the guide now

tulip sleet
#

i just changed the ATcontrol guide a day or two ago, so it might not be in the best shape anyway

solar whale
#

lots of changes today already

#

need to wait until merges are done before udating gude links to code

tulip sleet
#

np - just wanted to make sure it was on a to-do list

solar whale
#

I wanted to use some I2C sensors with the new feathewwing libraries -- at first I ran into some pin conflicts becasue the featherwing library creates the i2c object. I got it to work in the example below -- is this the correct way to do this? It works...

#
import board
import busio
import adafruit_sht31d
import adafruit_veml6070

from adafruit_featherwing import alphanum_featherwing, shared

display = alphanum_featherwing.AlphaNumFeatherWing()
sensor = adafruit_sht31d.SHT31D(shared.I2C_BUS)
uv = adafruit_veml6070.VEML6070(shared.I2C_BUS)

loopcount = 0
while True:
    uv_raw = uv.read
    risk_level = uv.get_index(uv_raw)
    print('Reading: {0} | Risk Level: {1}'.format(uv_raw, risk_level))
    display.print(uv_raw)
    time.sleep(2)
    temperature = sensor.temperature
    print("\nTemperature: %0.1f C" % temperature)
    display.print(temperature)
    print("Humidity: %0.1f %%" % sensor.relative_humidity)
    loopcount += 1
    time.sleep(2)
    # every 10 passes turn on the heater for 1 second
    if loopcount == 10:
        loopcount = 0
        sensor.heater = True
        print("Sensor Heater status =", sensor.heater)
        time.sleep(1)
        sensor.heater = False
        print("Sensor Heater status =", sensor.heater)

manic glacierBOT
#

Easiest way to fix this now is probably to set

CFLAGS_INLINE_LIMIT = 55

or some similar value in ports/atmel-samd/boards/hallowing_m0_express/mpconfigport.mk.
There are examples of doing the same in circuitplayground_express and other boards.

We could also consider what to turn off in this build, for instance, do we need audiobusio for the audio, or just audioio? But the CFLAGS_INLINE_LIMIT is quick.

meager fog
#

@solar whale yeah there's a way to use the singleton, they should do that

#

like the featherwing library should be fixed up to not hog the pins 😃

solar whale
meager fog
#

yeah its the same issue

#

@idle owl'll get to it next week

solar whale
#

not as easy to workaround since the i2c object is not exposed -- at least like it is in the featherwing via "shared"

#

@meager fog are you done with esp32spi -- should I merge?

meager fog
#

yah im done

#

go ahead

#

yeah thats why they should use the singleton I2C, it ought to be smarter

pastel panther
#

ok, @tulip sleet I'm trying turning off i2c slave with CIRCUITPY_I2CSLAVE = 0 to try and get the german hallowing build to fit

#

looks like it worked/fit without the CFLAGS_INLINE_LIMIT

tulip sleet
#

ok, so we still have a backup strategy!

pastel panther
#

huzzah!

#

does it make sense to keep the merge commit separate from the size fix?

solar whale
#

No more huzzah in CP 😉

tulip sleet
#

don't care about extra commits

#

fading 💤 gn

solar whale
#

same -- goodnight all!

pastel panther
#

thanks for the help @tulip sleet

tulip sleet
#

yw!

pastel panther
#

let's just hope our german friends are sleeping until this gets merged 😉

exotic pumice
#

does displayio work with ssd1306?

pastel panther
#

It can but you would have to adapt the driver from adafruit_rgb_display; mainly just converting the init commands and passing them to a display constructor

#

short answer 'not yet', long answer yes if you want to put in the work.

exotic pumice
#

ok thanks, I won't bother

#

I have better displays coming, this is just the first one that arrived

#

I'll enjoy my super slow bouncing ball in the meantime

solar whale
#

@tulip sleet before I go too far down a rabbit-hole can you let me know if I'm headed sown the right hole ... I noticed taht the particle boards do not have the "singleton" bus devices defined in their pins.c files so I tried adding ```
{ MP_ROM_QSTR(MP_QSTR_UART), MP_ROM_PTR(&board_uart_obj) },
{ MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },

to the particle_argon pins.c -- it seems to work. After adding them I can usesensor = adafruit_sht31d.SHT31D(board.I2C())
uv = adafruit_veml6070.VEML6070(board.I2C())

manic glacierBOT
manic glacierBOT
slender iron
#

@lime trellis It's ms with zeroes because we don't have ns resolution but monotonic_ns is in CPython

#

it keeps ms resolution consisten unlike monotonic which suffers from being a float

raven canopy
#

its kind of funny. since the podcasts recommendations last week, that's pretty much all i've been listening to. current talk python to me is almost over. just in time for a live talk circuitpython to me broadcast.. 😄

tulip sleet
#

@solar whale, it's just an oversight. We didn't bother on the test boards (like PCA10056), not for any strong reason

solar whale
#

ok -- pr for particles is in

tulip sleet
#

pca10059 - there's no standard for the choice of pins, so that's why we wouldn't bother (not Arduino nor Feather style)

solar whale
#

agreed!

tulip sleet
#

I see that DEFAULT_I2C_BUS_SDA etc. was already defined. If not it wouldn't have worked

solar whale
#

yes -- I saw that too

manic glacierBOT
#

I just repeated the write/read test with F3 on a Pyboard v1.1 (MicroPython v1.9.4), and again on a pca10059 (CircuitPython 4.0.0-beta.2-116-gaf863a378).
Pyboard: no data corruptions, runs without an error even when the disk is full, reset doesn't do any damage
pca10059: corrupted data, behaves sometime erratically when the disk is nearly full, disk wiped after reset

Would be interesting to see whether this also happens on other ports. Unfortunately, compiling Circuitpython for STM32 fail...

solar whale
#

I am suggesting a change to the featherwing library to make it use the board.I2C() function -- that may make it incompatible with the pca10059 -- is that a problem? https://github.com/adafruit/Adafruit_CircuitPython_FeatherWing/issues/35

tulip sleet
#

it could fail with a meaningful exception

#

maybe make FeatherWing use board.I2C() by default but allow explicitly supplied I2C as well?

solar whale
#

or is there an harm in creating default pins for the pca10059?

tulip sleet
#

well, the pca10059 is not a feather. we could invent a standard, but there aren't that many pins. Do we have enough for all the default pins?

river quest
#

got weather workin on pyportal, will be posting more about it soon!

solar whale
#

probably not worth it -- there are enough pins, but there would not be many left... allowing options is perhaps the best thing -- gets messy if you add other I2C devises

river quest
#

i've done embedded development in some way for maybe 20 years now, this was the easiest and most fun way to get weather on a screen, over the internet, ever.

solar whale
#

featherwings belong on feathers...

pastel panther
#

hey @solar whale @crimson ferry @prime flower and anyone else who cares/mades this possible: after finishing wiring my huzzah32 and feather m4 to an am2315 around 2:00am, I got it posting to adafruit.io within half an hour . I left it running while I slept and as far as I can tell it ran throughout the night without any issues.

Great work everyone!

solar whale
#

nice!

pastel panther
#

also adafruit.io is ridiculously easy to use.

manic glacierBOT
#

msgmerge has an option to generate filename/linenumber, just filename, or suppress all (like --no-location)

‘-n’
‘--add-location=type’
Generate ‘#: filename:line’ lines (default).

The optional type can be either ‘full’, ‘file’, or ‘never’. If it is not given or ‘full’, it generates the lines with both file name and line number. If it is ‘file’, the line number part is omitted. If it is ‘never’, it completely suppresses the lines (same as --no-location).
pastel panther
#

@raven canopy It appears something (probably me) caused my last push to my PR to generate two travis builds, one of which has been "queued" for the last 13 hours. Any ideas how to fix? I tried "Re-run all" and it just re-ran the first build but not the second.

raven canopy
#

got a link?

pastel panther
raven canopy
#

huh. Travis is even showing that 2620 passed, whereas GH is showing queued. 🤔

#

although, it may show queued since you clicked re-run all, and its behind the current merge build.

pastel panther
#

I did that last night well before going to bed after it had already been stuck for a few hours

#

Is it possible that travis sees two jobs for the same commit and it's like "naw"

tulip sleet
#

i restarted the stuck one, let's see what happens

raven canopy
#

yeah. it may be the 2 parent commit that confused Travis. i don't think it will affect mergeability though.

tulip sleet
#

it's waiting in line behind some other stuff

manic glacierBOT
solar whale
#

@prime flower I tagged you for a review on some changes to ESP_ATcontrol but I don't recall if you every actually used it. IN either case, your review is welcome, but I can remove it if you prefer.

slender iron
tulip sleet
#

watching!

raven canopy
#

i was wondering if we were all the the "11 waiting". 😆

pastel panther
#

probably 😃

raven canopy
#

though, my stream is...ah, there it goes.

slender iron
#

😃

raven canopy
#

well done, and no live_demo_hijinx!

pastel panther
#

speaking of hijinx, @raven canopy can you hit travis with a stick? The second build is not doing so

raven canopy
#

haha. if i could, i would. Travis and I have been in a standoff lately as well.

manic glacierBOT
pastel panther
#

Thanks @tulip sleet !

tulip sleet
#

Yw! Dunno what the build issue is, but not important.

raven canopy
#

i think it was more on the GH side, since the Travis passed twice.

pastel panther
#

That fork/branch has had a hard life so I'd understand if it made gitgub 🤔

manic glacierBOT
gilded cradle
#

Thanks @slender iron! Now I don't have to completely miss PyCascades.

raven canopy
#

Shucks. I wanted to watch that decorator talk but got busy...

manic glacierBOT
#

I noticed this once during some manual testing and thought I'd imagined it. It then happened again and the value prints as 0 so it's not my imagination, perhaps occurs 1 in 30 assignments:

>>> a3pwmaout = pulseio.PWMOut(board.A3, duty_cycle=0, frequency=1000*1000, variable_frequency=True)
>>> ...lots of stuff in between...

>>> aout.value = 35*1000 ; a3pwmaout.duty_cycle = 0*1000
>>> aout.value = 0*1000 ; a3pwmaout.duty_cycle = 40*1000
>>> print(a3pwmaout.duty_cycle)
0
>>> aout...
meager fog
#

@umbral dagger hihi let me know if yr around

#

we can get the RPIlidar repo merged

idle owl
manic glacierBOT
lone sandalBOT
manic glacierBOT
marble hornet
#

anyone have a good guide for setting up a script? is it just bash language?

stuck elbow
#

you can use any language you have an interpreter for installed -- bash, perl, python

#

even php, if you really hate yourself that much

marble hornet
#

so if i wanted to write a bash script to auto git stuff can i ask is it a .bash or?

raven canopy
#

.sh is the file extension.

manic glacierBOT
#

It's A0 in analogue out mode:

>>> import board
>>> from analogio import AnalogOut
>>> aout = AnalogOut(board.A0)

I just tried a loop iterating over some values

>>> for i in range(45):
...     wanted = i*1000
...     aout.value = 0*1000 ; a3pwmaout.duty_cycle = wanted ; print("wanted", wanted, "got", a3pwmaout.duty_cycle)
...     wanted = 0
...     aout.value = 35*1000 ; a3pwmaout.duty_cycle = wanted ; print("wanted", wanted, "got", a3pwmaout.duty_cycle)
...
.....
marble hornet
#

echo hello world```
#

if causing an error saying syntax error

#

Expected end of line, etc. but found identifier.

manic glacierBOT
#

Jumping by 5000 makes it easier to see failed non-0 assignments, e.g. wanted 28000 got 0:

>>> for s in range(0,5000,1000):
...     for w in range(s, 65000, 5000):
...         wanted = w
...         aout.value = 0*1000 ; a3pwmaout.duty_cycle = wanted ; print("wanted", wanted, "got", a3pwmaout.duty_cycle)
...         wanted = 0
...         aout.value = 35*1000 ; a3pwmaout.duty_cycle = wanted ; print("wanted", wanted, "got", a3pwmaout.duty_cycle)
...
...
...
wanted 0 got 0
wa...
#

Ah, I intended to do that without the 0 assignments to just to make sure it still fails to assign when 0 isn't in play.

>>> for s in range(0,5000,1000):
...     for w in range(s, 65000, 5000):
...         wanted = w
...         aout.value = 0*1000 ; a3pwmaout.duty_cycle = wanted ; print("wanted", wanted, "got", a3pwmaout.duty_cycle)
...
...
...
wanted 0 got 0
wanted 5000 got 4183
wanted 10000 got 9760
wanted 15000 got 13943
wanted 20000 got 19521
wanted 25000 got 23704
w...
umbral dagger
#

@meager fog I'm back

meager fog
#

hiiiiiiii

#

nice to meet you Back, I'm dad

umbral dagger
#

@meager fog The rplidar repo....

meager fog
#

yah!

#

so i think lets have one init'

#

but you can pass in either a string or a UART obj

#

instead of splitting in two

umbral dagger
#

OK.. how to deal with imports that aren't available in CP?

#

I guess the same trick will work.. looking at the implementation name

meager fog
#

what are you importin?

umbral dagger
#

serial & codecs

meager fog
#

serial you can import within the init code

#

so it only gets included if the port is a string

#

which codec are we talkin' about?

umbral dagger
#

And that'll still bring it in at the global level?

meager fog
#

yes - python is Weird like that

umbral dagger
#

ah

meager fog
#

once something is imported, its available

#

in the namespace of that file

umbral dagger
#

ok, I'll take another pass at the structure

meager fog
#

which codec are we inclidng?

umbral dagger
#
serialnumber = codecs.decode(serialnumber, 'ascii')```
#

I can get rid of that and do somethign different with the serial number

meager fog
#

??

#

yeah please do

#

you can use maybe struct.unpack?

idle owl
#

@marble hornet For future reference, you can edit a GitHub comment to add more information or to correct a typo, instead of adding further replies. You can put a backtick on either side of something to make it display as code, which would fix your _onshow_ being in italics issue.

manic glacierBOT
manic glacierBOT
manic glacierBOT
exotic pumice
marble hornet
#

nice

exotic pumice
#

now I know my i2c works too

marble hornet
#

new board?

exotic pumice
#

it's my samd51 hardware abstraction layer for rust

raven canopy
#

haha. that ® was much smaller than i expected.

marble hornet
#

oh

#

cool!

exotic pumice
#

lol, it's a rust logo not a registered circle

raven canopy
#

i know. but...no :rust:. 😦

exotic pumice
#

lol

#

I have one but I think I need nitro to use it in here

raven canopy
#

yeah. if you have the image file, the admins might agree to add it as a server emoticon.

exotic pumice
idle owl
marble hornet
#

rust eally cool

exotic pumice
#

yay

#

thanks @idle owl

idle owl
#

👍

gilded cradle
#

Nice rust

exotic pumice
#

I'm thinking about reimplementing the bouncing ball demo in rust to see how fast it goes

#

vs python, though it may be more dependant on i2c speed than language speed

#

I'm imagining scott checking his phone at pycascades and it's all rust logos in here 😂

gilded cradle
#

Maybe there needs to be a #rust topic channel too?

exotic pumice
#

I don't think it would get enough traffic

gilded cradle
#

Perhaps

exotic pumice
#

maybe just #other-languages

#

then we could have like circuitscheme, whatever languages nis implemented, and all that under one roof

gilded cradle
#

Well, whatever the admins want to do 😃

raven canopy
#

i miss python already:

In file included from ../../shared-bindings/frequencyio/FrequencyIn.h:31:0,
                 from ../../shared-bindings/frequencyio/__init__.c:34:
./common-hal/frequencyio/FrequencyIn.h:34:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'typedef'
 typedef struct {

🤣

exotic pumice
#

forgot a semicolon?

raven canopy
#

can't find it. i've looked through the chain twice now (to include the massive py/obj.h). 😵

exotic pumice
#

oh by the way there are people working on a rust implementation of python

#

just like there's CPython

raven canopy
#

or, Cython?

exotic pumice
#

I just googled that and it looks more like a transpiler, I'm talking about a python runtime

raven canopy
#

ahh. have they proposed a name? (cause that's what matters, right? 😄)

exotic pumice
#

just rustpython

manic glacierBOT
manic glacierBOT
prime flower
#

@pastel panther congratz, glad IO and blinka are meeting

visual valley
#

so, I plan to make a contribution but I guess Ill need some advice on what exactly to change.
right now to get my little tft to work i had to do:

class ST7735Rmini(ST7735R):
    def __init__(self, spi, dc, cs, rst=None, width=128, height=128, coloff=2, rowoff=3):
        self.coloff = coloff
        self.rowoff = rowoff
        super().__init__(spi, dc, cs, rst, width, height)

    def _block(self, x0, y0, x1, y1, data=None):
        """Read or write a block of data."""
        self.write(self._COLUMN_SET, self._encode_pos(x0+self.coloff, x1+self.coloff))
        self.write(self._PAGE_SET, self._encode_pos(y0+self.rowoff, y1+self.rowoff))
        if data is None:
            size = struct.calcsize(self._DECODE_PIXEL)
            return self.read(self._RAM_READ,
                             (x1 - x0 + 1) * (y1 - y0 + 1) * size)
        self.write(self._RAM_WRITE, data)
        return None

but _block is in rgb.py's Display class, which means if I just add the offsets to that Ill have to edit every tft initalizer

I assume this is the preferred way to add this:

class Display:
    def __init__(self, width, height, xoffset=0, yoffset=0):
        #save offsets
        
    # update _block
    
class DisplaySPI
    def __init__(self, spi, dc, cs, rst=None, width=1, height=1,
baudrate=12000000, polarity=0, phase=0, xoffset=0, yoffset=0):
        # pass them to super
        
class <anything based on Display>
    def __init__(self, spi, dc, cs, rst=None, width=128, height=128, xoffset=0, yoffset=0):
        # classes that do *not* send the offset during init can just pass them to super
        
class ST7735R:
    # this class DOES send it, though it also resends it before sending pixels so i dont think it matters
    def init(self):
        super().init()
        cols = struct.pack('>HH', self.xoffset, self.width - 1+self.xoffset)
        rows = struct.pack('>HH', self.yoffset, self.height - 1+self.yoffset)
        #etc
manic glacierBOT
visual valley
#

but then i dont know anything about the other tft drivers atm so i dont know if the offset is useful for them, but either way i have to modify _block in display so it kind of impacts them

#

i could just override _block for the st7735R and add the offset in the super call but i am not sure if people would prefer i make it available to everyone

#

not sure if this question is better as an issue on the repo

manic glacierBOT
visual valley
#

there is an issue already lol dang it

marble hornet
#

is there at support for the esp8285?

raven canopy
#

@marble hornet from what i can find (8285 documentation is lacking that i can see), the AT is the same as the 8266. the 8285 just seems to be a esp8266 with the flash on the chip.

pastel panther
#

@prime flower The enclosure/sensor is now in my neighbors gourmet mushroom farm. We have lots of plans 😃

raven canopy
#

@exotic pumice finally found what was causing the obscure compiler error. how did that little guy even get up there!? 🤦

exotic pumice
#

ouchie

raven canopy
#

yeah. stole a whole day from me...

exotic pumice
#

😦

#

I know what that's like

exotic pumice
#

remember my off by one enum that cost me months?

#

Pepperidge Farm Remembers

#

hey @slender iron how's pycascades?

slender iron
#

really awesome. a whirlwind for sure

exotic pumice
#

great

modern wing
#

I didn't have a chance to catch their livestream -- I'll have to ask later if there were any particularly outstanding talks 😃

pastel panther
#

hey @slender iron did you do any work on the ST7735 driver for displayio?

slender iron
#

not recently

pastel panther
#

hey @visual valley I responded to your comment in the offset issue with some info

visual valley
#

nice thanks

plucky flint
exotic pumice
manic glacierBOT
#

This is the full code (from REPL):

Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 4.0.0-beta.2 on 2019-02-05; Adafruit CircuitPlayground Express with samd21g18
>>>
>>> import board
>>> import digitalio
>>> import pulseio
>>> import analogio
>>> a0out = analogio.AnalogOut(board.A0)
>>> a1osc = pulseio.PWMOut(board.A1, duty_cycle=2**15, frequency=440, variable_frequency=True)
>>> a3pwmout = pulseio.PWMOut(board.A3, duty_cycle=2**15, frequency=2*10...
solar whale
#

@gilded cradle Since it looks like the ESP_ATControl is not going away I have ported the ESP32SPI wifi-manager -(you made it very easy) I have a bit more testing to do but hope to have a PR in later today. Thanks for paving the way!

solar whale
#

@prime flower as a result of above .. it looks like it will be easy to get all the adfruitIO examples working with ESP_ATcontrol -- just tested the weather access - worked fine

prime flower
#

@solar whale Nice!

solar whale
#

so far ESP32 with ATControl works fine -- there are some annoying differences with the ESP8266 responses

prime flower
#

@solar whale Sorry! The v1.0 of CircuitPython_IO will be released for spi wifi manager, and I'll add ATControl after when you're ready to PR

#

rapid development 🤘

solar whale
#

No problem -- I'll be happy to put in a PR when I am done testing

#

this is the least of my problems...

#

@prime flower Is that test really necessary? In order to do the test both esp32sip and espatcontroll have to be installed and imported to check -- seems like a lot of overhead

prime flower
#

@solar whale Agreed that it is a lot of overhead. it was previously checking if object was not None

solar whale
#

that seems sufficient to me

prime flower
#

It'll fail pretty hard if something else gets passed in as a wifi object, though.

solar whale
#

don't do that 😉

#

I'll raise it as an issue if/when I get this working and am ready to PR

raven canopy
#

@prime flower @solar whale maybe using type() would be better than isinstance(), since there will be multiple types now. Think something like this would work?

wifi_type = str(type(wifi))
If (("esp_yada" in wifi_type) or ("esp_yidi" in wifi_type)):

Not at a Python capable computer, so I could be imagining possibilities. 😄

solar whale
#

@raven canopy thanks -- looks promising -- I'll try it out

manic glacierBOT
solar whale
#

@raven canopy @prime flower that seems to work well

prime flower
#

@solar whale do you know what type(your_at_wifi_manager) returns?

#

I'm adding it in as a PR, just tested it as well

solar whale
#

I fogot to change it 😉 it will be ESPAT_WifiManager -- unless you have a better suggestion

#

right now it pretends to be ESPSPI_WfiManager and gets away with it...

prime flower
#

@solar whale could you change it to ESPAT_WiFiManager?

#

to match the case of ESPSPI_WiFiManager

solar whale
#

yes -- that is what it should be

#

the nice thing is now you don't have to do the import at all!

prime flower
#

mhm, removing that fluff from config as well

manic glacierBOT
#
  1. https://github.com/adafruit/circuitpython/blob/master/shared-bindings/displayio/ParallelBus.c#L42 says
//| :class:`ParallelBus` -- Manage updating a display over SPI four wire protocol
//| ==============================================================================
//|
//| Manage updating a display over SPI four wire protocol in the background while Python code runs.

That's kind of the same text in FourWire.c, but is that a copy/paste typo?

  1. https://github.com/adafr...
solar whale
#

@prime flower while you are making changes -- I just noticed this ```It is Overcast and 36.39*F.
with a humidity of 0.39%

#

or the humidity is really low today

#

oops -- mised it -- get it on the next PR

prime flower
#

I'll make a sep. one, want to keep the PRs to what they're fixing

gilded cradle
#

I just saw your message @solar whale. Sounds good. I thought we were abandoning the AT, which is why I hadn't ported it.

solar whale
#

np and no rush on this one

#

@gilded cradle it looks like it gets to live another day ...

gilded cradle
#

😃 cool

solar whale
#

the port was very easy

prime flower
#

@idle owl I created a RTD for CircuitPython Adafruit IO and added you/adabot as maintainers. Could this be added as a subproject under circuitpython?

idle owl
#

Can you send me a link please? I want to verify it first.

prime flower
#

Sure

idle owl
#

The slug is incorrect. And if you leave like this, none of the integrations in the repo will work.

#

The slug is always the library name minus the Adafruit_CircuitPython, so in this case, the slug should be adafruitio, however, looking at the repo, it's incorrect there as well. https://circuitpython.readthedocs.io/projects/adafruit_io/en/latest/ and https://readthedocs.org/projects/adafruit-circuitpython-adafruit_io/badge/?version=latest is not right.

#

@prime flower You need to fix the README.rst file in that repo, and redo the RTD entry. The screenshots in the Creating and sharing a CircuitPython Library are misleading, the text is correct.

prime flower
#

(sorry for delay, was making an evernote file for setting this up)

manic glacierBOT
prime flower
#

@idle owl So, I'd change the name of the project on RTD to adafruitio, redo the README.rst with the new links

idle owl
#

You can't change RTD. You've been through this before.

prime flower
#

Yeah, I remember the RTD URL doesn't change. I'm trying to remember if I deleted the project and changed the name or if there was another way..

idle owl
#

Much better.

#

I'll get it added to CircuitPython 😃

prime flower
#

ok, I'll PR the README with the correct link when it's added

idle owl
#

Oh, one thing I didn't catch until I tried to add it. The name is always Adafruit CircuitPython LibName. The slug and the name are different. Please update the name to be correct.

prime flower
#

Changed the name

idle owl
#

Ok added.

prime flower
#

Just saw it, thx, adding a correct badge

manic glacierBOT
prime flower
#

@idle owl I'm missing something and don't know what I'm doing wrong in this process. When the project is created by importing the repo to RTD, the name is set to the slug, adafruitio. Then, in settings, I changed the name to Adafruit_CircuitPython_AdafruitIO. But, RTD is set up so the URL doesnt update with it to: https://readthedocs.org/projects/adafruit-circuitpython-adafruitio/badge/?version=latest, it's still at https://readthedocs.org/projects/adafruitio/badge/?version=latest

idle owl
#

Ok. I told you incorrectly. We have to do this again. When you create the project, you call it Adafruit CircuitPython AdafruitIO and RTD does the rest. When I add it to the CircuitPython project is when the CP URL is created, and that's when it's called adafruitio.

#

Then the first URL will be correct, which is what it should be. And the CircuitPython URL will be right as well.

prime flower
#

Ok, np

idle owl
#

Ok added. Should be correct now.

prime flower
#

Looks good, thank you for the help.

tulip sleet
#

@slender iron I was doing some initial work on the pyportal crashes. I got a slideshow running on a TFT FeatherWing, but it doesn't crash. May have to wait for a pyportal.

In displayio/__init__.c, primary_display_t displays[CIRCUITPY_DISPLAY_LIMIT]; is not in the root pointers list. I'd think maybe it should be, cause it's a static object that points to heap objects. But maybe I'm confused.

gilded cradle
#

@idle owl , on the Adafruit IO Travis build it's failing with

invalid option "--api_key="
failed to deploy
#

Any ideas?

idle owl
#

@gilded cradle Yes, I need to add the API key.

gilded cradle
#

Ok, cool. I thought it might be something like that.

idle owl
#

@gilded cradle I'll take care of it later today when I'm doing the library work. There are a few others that need one as well.

gilded cradle
#

Sounds good

gusty kiln
#

hey friends, how's the circuitpython life?

idle owl
#

@gusty kiln!!

#

<@&356864093652516868> Meeting in ~22 minutes. Here's the notes doc. Please add your hug reports and status updates even if you'll be there in voice - it's super helpful! https://docs.google.com/document/d/1GZhcclyUv_L1zOAMBZxbVQU3hAzOmC_zlORlTWOhzAM/edit#

#

@gusty kiln How are things with you?

gusty kiln
#

really good - i'm currently way too saturated with wikimedia's hilarious complexity to even think about hardware projects, but i wanted to swing through and register my intention to eventually pay some attention to this stuff again... :)

idle owl
#

Totally understandable! We'll still be here 😃

#

hilarious complexity I love it 😄

pastel panther
#

hi @gusty kiln !

gilded cradle
#

Hi @gusty kiln

gusty kiln
#

yeah, it is pretty much a giant rube goldberg machine.

idle owl
#

I'm now picturing you in a never-ending Ok Go video.

gusty kiln
#

yeah, like that, but made of shell scripts. :)

idle owl
#

hah!

gusty kiln
#

(ok go should really do a video with shell scripts.)

idle owl
#

(agreed)

modern wing
#

Shells scripts all the way down. Don't forget your totem....never tell anyone how you customize your terminal window, that way you'll know how it behaves so you don't get stuck in the code world.

gusty kiln
#

ha

#

vanishes again - have a good one all.

idle owl
#

@gusty kiln later!

modern wing
#

Btw, I'm lurking today 😃

idle owl
#

Thanks!

#

@foggy schooner Are you lurking today?

foggy schooner
#

@idle owl yes!

idle owl
#

Excellent! Thanks for joining us 😃

foggy schooner
#

glad to be her

#

e

idle owl
#

<@&356864093652516868> Meeting starting in a minute!

tidal kiln
#

lurking

tulip sleet
#

@marble hornet please mute

modern wing
idle owl
#

Python opens a whole new world of working with wearable electronics. MicroPython is a Python variant can run with just 256k of storage space and 16k of RAM. CircuitPython is a fork of MicroPython focused on teaching. Learn how to program LEDs with Python, to light up your li...

tulip sleet
manic glacierBOT
foggy schooner
#

can help with german

inland tusk
#

I am text only today no mic

raven canopy
#

🥊

timber mango
#

Lurking today, no audio

raven canopy
#
  • @nnja (Nina Zakharenko) for the great "Python on hardware" talk at PyCascades
  • @tannewt for representing CircuitPython at PyCascades
  • @kattni and @MakerMelissa for identifying and idea-bouncing tooling issues and enhancements
  • @jerryn, @brentr, @MakerMelissa, @ladyada, and anyone I'm missing for all the WiFi work.
  • Group Hug, beyond that.
inland tusk
#

gr oup hug to all

modern wing
#

@tulip sleet Is the vod for that talk up?

tulip sleet
#

see 2:07 (ET) links above in thiis channel

modern wing
#

thank you

tulip sleet
#

(NIna Z)

inland tusk
#

Midi mouth piece code for my ocrina demo using a mcp single port analog pressure senor

timber mango
#

How "ready" is CP for a mixed platform project between Feather, LoRa, and Raspberry Pi? This is very likely an "in the weeds" topic.

modern wing
#

In the weeds question: Do we have a procedure to update the learn guide for the gcc-arm-embedded changes for MacOS?

solar whale
#

@timber mango should be "good to go"

tulip sleet
modern wing
#

@tulip sleet That's awesome, thanks for digging that up

errant grail
#

Lurking and late today...

solar whale
#

@timber mango CP LoRa is only a basic subset of RadioHead, but it is functional

timber mango
#

Awesome, thank you!

solar whale
#

bring it up In the weeds if you have specific questions

tulip sleet
#

@modern wing I'll put updating the MacOS gcc-arm-embedded on my to-do list.

raven canopy
#

Last Week:

  • adabot:

    • Forced the reports to use unbuffered stdout to hopefully mitigate the 10 minute idle Travis failures.
    • Changed Travis build to a matrix; bundle update is now one build, and reports a separate one.
    • Tried and couldn't duplicate the newline issue when pasting report output into Google docs. I tried pasting in Chrome, Edge, and Firefox. And also copied from AWS in browser, .txt file, and the terminal. Don't have access to Mac, so that could be where the issue lies. I can still add \r to the line endings if needed.
  • FrequencyIn:

    • Continued re-gluing work. Got through the new circuitpy_ config part; much nicer way of doing things(thanks again @danh). Still fighting a couple compile errors; either some other things changed or I didn't update my backup files before nuking the out-of-date branch.
  • Started working on a fun Pirate translation, after @CGrover mentioned it last week. Not going to do the entire translation, as others have mentioned a desire to contribute. I know it was a joke, but I think this is beneficial from a education standpoint. What child (like myself) wouldn't love to interact with hardware that talks like a pirate? Even if it is talking only with error messages, learning what not to do is just as important.

This Week:

  • FrequencyIn

    • Keep pushing through compile errors.
  • adabot:

    • issue list grew last week, so I'll probably start attacking some of those.
  • Pirate translation:

    • Get a little more done then PR it so others can careen it a bit.
modern wing
#

Thank you @tulip sleet -- let me know when you do, because I just reimaged my MBP. I'll be happy to test it.

prime flower
#

Last week:
Gave a talk about contributing to open source with circuitpython at futurelabs nyc
Went really well!
Finalized CircuitPython Adafruit IO
IoT has come to CircuitPython over LoRa/LoRaWAN and WiFi now!
Released v1.0 this morning: https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO
Finished dual stepper guide (https://learn.adafruit.com/wireless-stepper-control-with-adafruit-io-circuitpython-raspberry-pi-python)
This week:
Library is done, so it’s time for a guide
Prelim. Guide: Using CircuitPython with Adafruit IO
Ft. PyPortal, support for other boards too
Continued development of the CircuitPython Adafruit IO library
Jerryn is working on an ESP ATControl WiFimanager, I’ll merge it in when he’s ready.
Any other examples I can think of will be added to IO CircuitPython
Brought @adafruitio back to life - working on getting it tweeting again
Follow http://twitter.com/adafruitio on twitter

Tweets

3

Followers

211

modern wing
#

@prime flower That's awesome the talk went well. Let us know if anything else comes up in the future -- I'm local to NYC/NJ, and hopefully I'll able to attend next time.

prime flower
#

@modern wing Thank you! Absolutely - hopefully this'll lead to another event in the nyc region

errant grail
#

<temporary unlurk> Group hug today. Still working the details of my first CircuitPython class library. The class is working – just adding some controls and decorators. Working on the hardware design first really helped me develop the class UI. Will continue working on that project, sending PCB design off later this week. Lots of snow shoveling planned, as well. <re-lurk mode>

inland tusk
#

Midi mouth piece code for my ocrina demo using a mcp single port analog pressure senor

raven canopy
#

weeds: move ESP8266 AT support to the community bundle?

prime flower
#

weeds: namedtuple instead of dicts

raven canopy
#

If Adafruit is going to "full" drop ESP8266 support in the AT library, or if it just causes too much overhead, we could make a specific 8266 AT and out it in the Community Bundle. Allows a vector for at least minimal use and future maintainability.

solar whale
pastel panther
#

(I have no idea if it works)

wraith tiger
#

Just listening in

raven canopy
#

Yeah. I know TLS is a problem going forward. This helps head-off any future quagmires.

prime flower
#

feed_name['value'].

#

The IO Python library uses feed_name.value. I'm not sure which way we should use.

raven canopy
#

For pub/sub, couldn't you also save some memory by requesting a feed, changing a value in the object, and sending it back with a pub?

#

corner of the knapkin; I need to study the pub function more

modern wing
#

Thank you all 😃

visual valley
#

@pastel panther kk ill give it a try

raven canopy
#

Good stuff today. Everyone was seriously jobbing last week! Thanks all. Have a fantabulous week!

gilded cradle
#

Thanks everyone

solar whale
#

👋

prime flower
#

👋

raven canopy
#

I don't have a problem with it going away either. But...8266s and AT uses are in the wild, so offering an option helps the community cope. For lack of a better term.

#

👋

tidal kiln
#

nope. 👋

#

thanks for running the show @idle owl

prime flower
idle owl
#

@tidal kiln You're welcome 😄

modern wing
#

I can't begin to say how nice it is to be able to listen to these meetings afterwards -- I had to step away twice just during this one, and it's a trivial task to load them up and scrub to the spots I missed.

manic glacierBOT
#

Currently boots on board and can connect to REPL,
but does not appear as mountable drive in OS.
Starting REPL gives the following error message:

You are running in safe mode which means something unanticipated happened.
Looks like our core CircuitPython code crashed hard. Whoops!
Please file an issue at https://github.com/adafruit/circuitpython/issues
 with the contents of your CIRCUITPY drive and this message:
Crash into the HardFault_Handler.
meager fog
#

@gilded cradle @solar whale @umbral dagger @tidal kiln ✳

umbral dagger
#

@meager fog ??

meager fog
#

plz prepare your adafr00t cart

#

for a new produkt drop

solar whale
#

whohoo!

tidal kiln
#

self.mode = Human.READY

meager fog
#

lol

gilded cradle
#

OK

umbral dagger
#

Ready

meager fog
#

eta like 2-3 minutes

solar whale
#

pastel panther
#

👀

meager fog
#

still 🕰

#

takes a few minutes to get things in stock

umbral dagger
#

This is like when WWDC or Blizzcon tickets go on sale!

pastel panther
#

I'll be selling Pyportals for $100000000000000

#

(that's a joke)

#

🥇

meager fog
#

and anyone i forgot

#

more coming tomorrow - so if you miss it let me know

#

and ill give you an early warning

solar whale
#

got one!

meager fog
#

yay

tidal kiln
#

@meager fog thanks! ordered.

solar whale
#

thanks for the alert!

meager fog
#

🐍 💜 ⏲

pastel panther
#

thanks @meager fog

umbral dagger
#

Thanks for the heads-up

meager fog
#

😃

#

can't wait to see what ya build!

obsidian hemlock
#

got one 😄

gilded cradle
#

Thanks for the heads up

umbral dagger
#

I keep getting ideas for the PyPortal. Both standalone and as a component in somethign larger.

pastel panther
#

same. current plan is mushroom farm automation controller

meager fog
#

🍄

gilded cradle
#

I want to give a good test run before I decide what to do with it. 😃

tidal kiln
#

@pastel panther hopefully with a LCARS interface

pastel panther
#

@tidal kiln is there any other kind?

#

"computer. <bweeble> 10 kilos of lion's mane, stat"

meager fog
#

ok did anyone not get a pyportal?

#

ok sounds good! ciao

umbral dagger
#

@tidal kiln That's my plan

umbral dagger
#

board.L on a PyPortal is the light sensor?

slender iron
#

I think its the LED

manic glacierBOT
idle owl
#

@slender iron I'm going to revert adding Blinka to the CPX lib as well. If we're planning on a whitelist, it might as well go on it.

slender iron
#

yup, please refer to that issue too

idle owl
#

Done

slender iron
#

it was an easy adabot thing to knock out and now we realize its probably and adabot fix

#

no worries on britt's end, we've talked about it

idle owl
#

There were plenty in that list that were legitimately missing it as well 😃

slender iron
#

waves at @cunning marsh

cunning marsh
#

waves back!

umbral dagger
#

OK.. I pulled & rebuilt. Pins are updated.

idle owl
#

@cunning marsh Hey! Welcome! Thanks for getting all of those fixed up! 😃 Apologies for the misleading error list.

meager fog
#

25 more going into stock shortly

#

we'll be notifiying emails so they'll go fast(er)

raven canopy
#

watch out for the stampede! 🏃 🐄

meager fog
#

@raven canopy did youg et one?

raven canopy
#

i'll defer until stable stock. my cycles are too few these days. gotta get this FrequencyIn off my desk!! 😄

main meteor
#

It's a pretty PCB.

cunning marsh
#

Not a problem at all @idle owl, I'm here with tannewt and he has given me the run down of the situation. I offered to update adabot to potentially search through the repos to see if we are importing anything that would require adafrut-blinka

idle owl
#

That would be brilliant!

#

We still need an option to manually whitelist though, because, for example, and it's a unique example (may be the only one), the Adafruit_CircuitPython_CircuitPlayground library should be whitelisted, but does import libs.

raven canopy
#

@cunning marsh i think there are two possible ways. 1) hardcoded whitelist similar to the BUNDLE_IGNORE_LIST like @idle owl is referring to. 2) utilize the repo_is_on_pypi() function; Blinka is only required for RPi etc, where the libs are downloaded from PyPI. And thanks for helping out with my bff (adabot)!

cunning marsh
#

Perfect! I'll start looking around there! 😃

idle owl
#

The only issue with using repo_is_on_pypi() is in the event that the lib should be on PyPI and isn't. However, we can let it cascade fail, i.e. check if it's on PyPI, and then when it is, fail if it's missing Blinka on a future check.

meager fog
#

for the grabby hands

main meteor
#

Still 22 there 😃

modern wing
#

21 remaining 😃

gilded cradle
#

I see 16

modern wing
#

I promise you, there's one fewer now adabot blinka

gilded cradle
#

Not anymore. I just changed my number 😄

modern wing
#

Between this, all my other projects sitting here feeling left out, and what I'm dubbing the "arcadewing"....it's going to be an awesome first half of the year.

gilded cradle
#

Yeah, it sure is

modern wing
#

I've been loosely following the pyportal, and the number of sensors that are on it that didn't have to be there is awesome -- a light sensor? temperature sensor? hmm. now that opens up half a dozen ideas I'd normally break out a breadboard/protoboard(wing).

marble hornet
#

what pylint version in current?

#

for circuitpython

raven canopy
#

1.9.2

marble hornet
#

pip install pylint version=1.9.2 ?

#

==?

raven canopy
#

i think its pip install pylint==1.9.2

marble hornet
#

it's working, thank you

#

should i just run pylint file_name.py or do we use -thing?

raven canopy
#

just the file name, no flags. we do disable some things for examples. also, you can grab a copy of the .pylintrc from a library which has the "standard" pylint config.

marble hornet
#

okay

raven canopy
#

are you working on a library?

marble hornet
#

i'm not getting output beyond:

#
No config file found, using default configuration
************* Module adafruit_framebuf
E:281, 0: invalid syntax (<string>, line 281) (syntax-error)
#

but

#

the line is def text(self, string, x, y, color, *, font_name="font5x8.bin", size = 1):

raven canopy
#

@marble hornet the run on Travis shows a few more than that. it may be because of the .pytlintrc config. but, with that particular one, you shouldn't have whitespace in keyword args. size=1

manic glacierBOT
manic glacierBOT
tough flax
#

Hey #circuitpython-dev folks - is there a way to know when the USB initialization is done in CP? I saw a problem on the M4 where if I created a Keyboard object too soon it would send characters before the host OS was ready for it. Adding a time.sleep(2) was enough to get me past it. On the NRF52840, that's now about 8 seconds and it changes regularly. Basically if I try to create the Keyboard object before I see the Windows Explorer window pop up showing CIRCUITPY it'll be a bad boot.

I've added time.sleep(10) but I'd much rather add a sanity check like

while(usb.status() != READY):
    time.sleep(.5)

That would be safer and take less time.

Any ideas?

manic glacierBOT
river quest
#
Adafruit Industries - Makers, hackers, artists, designers and engineers!

PyCascades – Light Up Your Life – With Python and LEDs, Nina Zakharenko (video) starts at 13:26. Python opens a whole new world of working with wearable electronics. MicroPython and Cir…

tough flax
#

Thanks for the heads-up on the PiPortal #grabbyHands

manic glacierBOT
crimson ferry
#

Ordered PyPortal just in time, only two left. It's really a great value for all that's on it.

umbral dagger
#

Any docs on the coordinate system on the PyPortal for positioning text areas?

manic glacierBOT
tulip sleet
#

@tough flax - I haven't seen delayed USB for a long time, but it might be present on Windows (haven't tried that). There's a new bootloader (0.2.9) for Feather nRF52840. You can install it with adafruit-nrfutil. See the bottom of this page: https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/updating-the-bootloader, which shows using a Linux port, but it could be a COM port too. Find adafruit-nrfutil.exe here: https://github.com/adafruit/Adafruit_nRF52_nrfutil/releases/latest (tag is messed up due to AppVeyor issue)

#

I'll write it up in a more general way soon, but not right now.

tough flax
#

Ok - I will try that out later this week - thank you!

raven canopy
#

@tulip sleet have you seen any recent builds failing on import <x> from the REPL? i get one SyntaxError, and then the board resets... just wondering if i need to track down what I've done, or if i just need to update my branch some more. 😄

#

metro_m4, is what i'm working with.

tulip sleet
#

which board and build? it might be something like the problem that seems to be bothering the pyportal

#

crossed

#

the latest master should be the best. does it matter what the import is?

#

are you using displayio?

raven canopy
#

doesn't matter. board and frequencyio have both failed for me. i did spy the call stack and saw some displayio activity, so that makes sense. (i'm not using it)

#

this is my last non-local commit:

commit d33923942bfa69c9a9ae30d5ee62f86e402b1b48
Merge: af863a3 10cdf9a
Author: Scott Shawcroft <scott@tannewt.org>
Date:   Fri Feb 22 13:05:33 2019 -0800

    Merge pull request #1576 from Tasm-Devil/master

i'll pull to current master. 🤞

tulip sleet
#

there is background checking about whether to do any displayio stuff. I'm going to check some a possible heap/gc issue about displays, but maybe tomorrow, not tonight (too tired)

raven canopy
#

k. thanks! at least i'm not too crazy... 😄

tulip sleet
#

so you mean you started in a fresh repl and then did import board or whatever and it crashed right away?

#

or did a lot of other stuff happen before that?

#

(I'm looking for all the clues I can get)

raven canopy
#

i would get a SyntaxError from stdin. then, any subsequent action would cause a reset.

#

let me spin it up real quick, and grab the repl output

tulip sleet
#

and you were importing a builtin module, hmm

raven canopy
#

side note: a bonus to win10 1809 update is that my boards re-enumerate now when starting debug with Atmel Studio. no more run->stop->run!

tulip sleet
#

i haven't seen that before. it's like it's reading bad chars. maybe, just maybe try another cable or port? What are your local changes?

raven canopy
#

local changes are just new fequencyio shared-bindings, common-hal, and addition to circuitpy_ config.

tulip sleet
#

you could try git-stashing those or something, and see if it's reproducible

raven canopy
#

changed cable. same result. yeah, i'll build one on my master and give it a shot before i pull from upstream.

marble hornet
raven canopy
#

@tulip sleet without my additions seemed to work. but, seems i may have some AS7/JLink problems; wasn't programming so had to drag the uf2 over. narrowing down, but seems its not a CP problem. sorry for the scare!

tulip sleet
#

okee, lemme know if it's reproducible in a standard. np!

raven canopy
#

will do. updating segger software atm. hopefully win10 1809 hasn't hosed my dev env...

#

yep. its a my-system problem. uf2 works like magic:

Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 4.0.0-beta.2-128-g4a9f05a-dirty on 2019-02-26; Adafruit Metro M4 Express with samd51j19
>>> import board, frequencyio
>>>
#

this is not looking like fun. now it won't enumerate.... 😬 🎢

crimson ferry
#

Any thoughts about having adafruit_esp32spi_wifimanager support DotStar as the status pixel (e.g., the built-in Dotstar on the ItsyBitsy M4 Express)?

raven canopy
umbral dagger
raven canopy
#

ok. so this means its time to call it a night. frequencyin is now causing a race condition, busting USB, and win10 won't release the enumerations which forces a restart to be able to use the board. 😪

exotic pumice
#

😢

raven canopy
#

yeah. and i thought it would be smooth sailing once i got back to compiling. 😆

exotic pumice
#

haha

raven canopy
#

i mean..it worked a week ago! oh wells. early/long day tomorrow. 👋

exotic pumice
#

git checkout "a week ago"

raven canopy
#

haha. but that puts me back to like 6 months behind of master. no TinyUSB. no new super-awesome module configuration.