#circuitpython-dev
1 messages · Page 234 of 1
although, in looking at some other translations, seems they went beyond the scope? We're not translating any Python keywords. 🤷
Hmm.
i'm also thinking of how we can drop the unused stuff to make more room. e.g. esp8266 stuff.
@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?
@tulip sleet I have used it a lot. Do you have the RTS pin connected?
no, that wasn't in the guide: just RST
It is needed for higher baud rates
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
Yes. It needs a lot. Can’t look now . I can check later.
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.
I can try to look at it tonight or tomorrow morning. Let me know if you find area that need attention
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...
after i power cycled the drive was wiped again
@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!
@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?)
@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?
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
I'm just chatting with limor, will ask her
can you use the pin on the UART header as well? Is that wired to GPIO13?
the upward pointing pins on the end that connect to an FTDI cable
limor says she'd like to deprecate ATControl because it's too flaky
She's the boss
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.
I think it can be usefull for the special case of the argon -- but may not be worth the effort.
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.
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.
Fixes #1109.
Part 2, which includes the updated samd-peripherals, adds timer_handler.c/.h, and updates common-hal usage.
Metro M0 Express French was the only failure on my Travis run; hoping I'm missing something and it passes here. 😬
@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.
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
@dhalbert. Yes, I'm a Unix/Macos person through and through. I'm using mu 1.0.2.
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.
@uhheber what do you mean by main.py output? Via repl? Is init seperate from main ?
*** 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...
@uhrheber Could you say exactly which commit you built, or which UF2 you used? The commit listed in the startup prompt is apparently not accurate.
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...
ha! but it runs normally if named code.py ??
my tests were on a pca10059 dongle wiht a build the current master as of a few hours ago.
I have not had any issue where the File system has been wiped by a control-D
Hrmmm I find mine crashes and wipes regardless of file content.
@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
@jerryneedell I don't think that this is the root cause. I had the code that produces the error in main.py, and it was synced, because I could read it with another editor. I then ejected the stick (in Linux), unplugged and replugged it. After that, the file system was wiped clean.
I'm not sure what to suggest, just sharing my observations -- at this point, I cannot reproduce the error ...
I have corrupted many a file system by not properly syncing the system before a hard reset or power cycle.
@slender iron, a belated thanks for your help last Tue at 1:46 am.
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,...
I just noticed, that the code runs when I add a '#' at the end of the lines that cause an error.
ledb.value = True
crashes, while
ledb.value = True #
works.
Any explanations?
p.s. it seems to have something to do with the ble library, or external libraries in general, because code using only internal libraries works without a problem, and I can unplug and replug the stick as often as I want, without any problems.
It may be consistent with access to the file system — loading an external library has to read it from the file system.
@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.
@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).
@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).
@gusty topaz I only know what the discussion indicated. I have no other information about the plans. Stay tuned.
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.
PCA10056 works without a problem, even when I unplug it while it's running, there's no drive corruption.
So your assumption about a bug in the internal flash code is most likely right.
@uhrheber Which board(s) are you these problems on?
Our comments crossed. Thanks!
Only pca10059 so far, I have some nRF52840 based modules from Fanstel here, but didn't test them so far. They don't have external memory, so they should behave exactly as the pca10059.
Is we proceeding under the assumption that the two problems are linked ?
But why is TG-Techie having these problems with the PyPortal? It HAS external flash.
There may be several problems here. @uhrheber’s issue definitely seems related to internal flash. Yours seems to be related to displayio, which they’re not using.
I think i is worth pointing out I do have displayio compiled into the firmware, I only call release_displays, but it has no pre-initialised display. also that my hardware config does not match the software when init_display is enabled
i have also noticed my tricorder, basically an m4 without an initialized display, does not have the file loss issue.
BTW, the problem with ble.uart still exists also on the pca10056. When I send more than a few characters at once, the program crashes:
File "main.py", line 28, in <module>
File "adafruit_ble/uart.py", line 128, in write
OSError: Failed to notify or indicate attribute value, err 1304x
@uhrheber should that go in a separate issue?
Definitely. It's a different problem.
two fold. i wonder if this is happening on the hallowing?
TG - what if you have the backlight very dim, but using the displayio interface - please try that!
Ladyada, I'm glad to try, and not entirely sure what you want me to try. I use it in spi and even when in repl and not main I don't see anything on the screen, just white.
to see the the backlight current is causing a brownout while writing to the FAT, its worth a try. you would have displayio active, but just not use high current ALL ON backlight
OK, guys, the problem seems to be gone after I erased the memory of the pca10059 completely, flashed the newest version of the UF2 bootloader (pca10059_bootloader-0.2.8_s140_6.1.1.hex), and then copied the freshly compiled CircuitPython UF2 file over.
Now I feel dumb for not trying this sooner.
Sorry for wasting your time, obviously a completely unrelated problem.
@uhrheber No problem - it can take several tries to divide and conquer an issue. If you are still seeing BLE problems, please open a new issue.
dafc370 moves 'shared_timer_handler' back to atmel-samd... - sommersoft
55e7c5a handle 'set_timer_handler' on this side, vs sam... - sommersoft
7a7f663 update peripherals submodule - sommersoft
a3f3872 fix build issues - sommersoft
af863a3 Merge pull request #1586 from sommersoft/shared... - tannewt
@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?
@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.
I'm going to fix this up so I can merge it with my changes.
@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.
why are you try/excepting? Sprite was never stable so I'd rather give people reason to update
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.
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
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
"deep linting" 😋
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.)
@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?
@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!
thanks - it was a fun lib. to build out tbh. ive had a lot of eye-time with the IO python one
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!
Soon, Soon 😃
I'm really happy with the work done on WiFi, IO on CircuitPython...excitin'!
@meager fog and @gilded cradle have done a great job on it
and you've done a great job with AIO !
thx
@solar whale you ever get a RuntimeError: ESP32 not responding?
Just got one from running a temperature get/send
Only when first connection. Usually means a loose wire
are you on pyboard? or separate ESP32
hmm not likey loose wire ! but yeah that is waht happens if you connect an ESP32 up incorrectly
I can't accurately replicate it either, it crops up really really randomly
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
exactly
@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....
I ran into some very infrequent errors whne running "cheerlights" for a long time. That fixed it.
BTW, If you still think there's a problem, let's start a new issue on this. It took me a while to re-find this in a closed PR.
@prime flower I meant to suggest taht before the merge -- sorry - I forgot
Yeah, tis OK, I'll open a PR
I feel that should be for examples like temperature, ones which have a loop
yes -- only needed when looping
I'll be AFK -- tahtnks for all the work on this -- Have a great weekend!
you too jerry, thanks for the test - enjoy!
@prime flower i put up a belated review on AIO. didn't notice that it was merged in the middle. 😆
@raven canopy for the entire library, or that PR?
entire, but it was on that initial PR.
just saw it, ok
@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
kk. i'll take a look. i would guess its automock, but that's a guess. enjoy your AFK! 😄
yeah, it was thrown by autodoc
This adds a script to re-merge translations from the git history. It skips any changes that set a translation to empty or to the message id.
It also removes any obsolete translations. They live on in git history.
hey @ladyada This is broken; my ILI9340 was configured with RGB/BGR backwards so I ordered them wrong in _get_pixel; fixing now.
heya
I'm just doing a final test then going to push to my fork to update the PR. should be < 5 mins
oki
hrm; have to fix a translation-related conflict
what has displayio enabled tho
grand central
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
ya
realized while trying to center an image we don't have a way to 'ask' the board.DISPLAY what we are :)
widthheightcolor_depth
from initizer here: https://circuitpython.readthedocs.io/en/latest/shared-bindings/displayio/Display.html
would you rather have one with debug or wait 5 minutes?
it came up fine
ok now i need to make some 320x240 pix in various depths
16bit, 8 bit and...?
16bit/24 and 8 bit grayscale
ok
gotta get cat pix
of course
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
in gimp I had to change the image mode from RGB to grayscale
do you want me to make something?
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
is it 565?
hmm
ya
tried both; I'll have to check the first but the most recent it doesn't like the header size
i use adobe to generate 24 bit ones succesfully
that's good cause that would be a regression otherwise!
ah yea, photoshop/adobe uses non-microsofty header sizes:
https://en.wikipedia.org/wiki/BMP_file_format#DIB_header_(bitmap_information_header)
The BMP file format, also known as bitmap image file or device independent bitmap (DIB) file format or simply a bitmap, is a raster graphics image file format used to store bitmap digital images, independently of the display device (such as a graphics adapter), especially on ...
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
I can always give GraphicConverter a whirl.
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
BMP is like PNG: a dozen different formats hiding under a blanket.
JPG too
And TIFF...
everyone knows the way to fix a bad format/standard is to make another one 🙄
And then make it a new incompatible variant of an existing format.
@pastel panther id say fix the 565
ok
@meager fog try this with the PS 565
lol
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
sure
thats what i gotz
sure
sure which 😄
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
🎉
ok im going to pylint pyportal while you hack?
sure
awwe, thanks 😃
this will save a toooon of space
and great for wifi - files are 30% smaller 😃
ok linting time
puts on lintin' pants
good luck, don't forget your towel
i never forget a towel or my copy of linters guide to the galaxy
😃
ping me if ya need me to check something - ill be in atom window
ok; I may have a time cap tonight because the wyf wants to watch IT
okie doke
Disregard
Only when its unclear for me. Better englich than bad translation.
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...
Remove file locations was a bad idea in my opinion.
- It's important to know where the String came from
- The Strings are now sorted by alphabet and not by modules. This means, I cannot translate module by module.
Plz. undo this mod.
I see your point. I'm wondering if I should revert this for now. Suppose we suppressed the line number but kept the filename? That would reduce the diffs substantially but still associate the string with a file.
Wait with it. I'm currently doing more translations
No one would understand this: Teilen mit unter-captures
Removed conflict with locale/de_DE.po
sure! let me get it
cool then we'll try it out
oki
and !
https://github.com/TG-Techie/pyportal_gui if you want to try the update 😃
im going to try the zip
kk 😃
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
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 ?
@river quest could i ask you to send me the cleaned up tricorder audio files ? please
@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?
@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?
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.
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
So should they be added to the drivers page as a helper?
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.
Ok, thanks. I wanted to add them, but was unsure if I should.
they need it. do you want the current list (as of 2 minutes ago)?
Sure
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
Thanks. What about ones with missing RTD pages such as the ST7735 (due to having no releases)?
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...
Yeah
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. 😆
Ah
https://github.com/adafruit/adabot/blob/master/adabot/circuitpython_libraries.py#L523 which would trigger this https://github.com/adafruit/adabot/blob/master/adabot/circuitpython_libraries.py#L785
i might add validate_contents to an always run with -v. 🤔
Yeah, that might work well
issue created. it'll get handled eventually. thanks for bringing that up so that it could stare me in the face @gilded cradle! 👓
Thanks
i may be the only one that uses the -v option, but it still should be accurate
No problem. I wanted to work on some repo level issues, but I just was running into a lot of questions.
questions are a good thing. especially when it comes to tooling. its supposed to help, not confuse further. 😄
Yeah, just being relatively new here is part of it
heh. i've been here over a year. still feel new.
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.
second time now I've just said 'screw it' and nuked my branch from orbit and re-applied the changes
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.
- Printing entries shows the same hardware address and raw data for all entries. The RSSI for the entries is different.
- 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...
puts the 're' in regression testing
@gilded cradle I'm around if you have any more questions.
it's also possible I suck at git
Thanks kattni, I think sommersoft answered it for now.
Ok
hi hi @marble hornet which sounds?
@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?
Scanning and a button press if you still have them. And surprise me ?😁
Clear enough?
Thanks for noticing the issues. The Scanner code hasn't been worked on at all, and is from an earlier PR. We're not doing central mode for 4.0.0. We should probably remove these from the build right now. I'll keep this open as reference for when we do work on it.
bleio currently includes things aren't expected to be supported in 4.0.0. They should be made invisible for now. Cf. #1590.
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
@idle owl, yeah I did, but the ht16k33 functionality is different enough that all the functions had to be revamped anyways.
Ok. Thanks!
Thanks for the quick response. I'm interested in detecting BLE beacons by address and signal strength. Is that going to be possible? Are there any current workarounds?
I may end up trying to reuse it with the charlieplex wing functionality though if it’s not too different.
Sounds good
hey @meager fog I have another build for you to test when you have a minute
We have plans for central mode, which will include the kind of scanning you want, post 4.0.0. We're trying to get 4.0.0 out soon (no published schedule). If time is pressing, our nRF52 Arduino board support package has scanning, for example: https://github.com/adafruit/Adafruit_nRF52_Arduino/blob/master/libraries/Bluefruit52Lib/examples/Central/central_scan/central_scan.ino
@tannewt this is tested and ready for merging if good by you!
@marble hornet oh for the tricorder, i grabbed them from here and converted them http://www.trekcore.com/audio/
Thank you. Do you still have the audacitied files ? (They sound garbly rn)
Oops typo
checkin' if i do not i can make one real fast for ya if you need a hand
I don't even understand the English :smiley:
Or if you know of a guide? 😁. I checked system but didn't find any cleaning guides
kattni was faster than me on the linky https://learn.adafruit.com/microcontroller-compatible-audio-file-conversion?view=all
you won this round kattni, however i will be prepared for the next encounter
i too will be prepared. we shall meet again.
@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
Np, thanks for looking 😁
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
sorry @ladyada I had to fix a conflict that popped up in the interim.
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
current is quite out of date - and i'd like to get rid of the microcontroller.pin lines :)
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
hey @dhalbert it looks like the German hallowing build failed for being too big but I'm not sure what to do to resolve it.
@solar whale I need to start leaving those PRs to you. 😄
I'm just surprised it worked for anyone
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 😆
It might have worked with CP 3.1.2
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.
yes -- it does say that in the PR -- I may have something misconfigured. Will see what comments I get back -- no problem
great!
Do you mind merging this? https://github.com/adafruit/Adafruit_CircuitPython_Bundle/pull/136
done
@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 😃
ok -- I was going to change it to somehting -- that works
np -- I'll do AT -- may need @prime flower to do AIO ....
@solar whale Thanks!
@solar whale ok its here https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/pull/12
included a handy demo of getting the time from the internet
@meager fog nice -- I'll update AT later this eveing and run tests on them all. I have to head off for awhile now
np - ill lint and all that
I did test it and found that issue and fixed it, but must have not copied the fixed file over before committing.😬
np -- PR going in
I have to go for awhile -- back later -- hopefully Travis is in a good mood
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 😃
blinka is cyberpunk for sure
@solar whale @meager fog I'll change AIO to secrets.py
thax
np, just submitted a PR for it and tagged jerryn for further testin'
For a peripheral, I don't know what is the point of writing to a characteristic when it is not connected.
@solar whale around now if ya need smething
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
ok -- I pushed mine -- will grab yours and test
@meager fog I tested localtime and cheerlights -- looks good -- want me to merge
@solar whale is changing the guides and sample code to secrets.py on your agenda too?
yes -- working on it now - the examples are updated in the PRs -- looking at the guide now
i just changed the ATcontrol guide a day or two ago, so it might not be in the best shape anyway
lots of changes today already
need to wait until merges are done before udating gude links to code
np - just wanted to make sure it was on a to-do list
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)
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.
@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 😃
there is a similar (I think) forum post regarding the MotorKit lib https://forums.adafruit.com/viewtopic.php?f=60&t=148047 -- but I did not see how to resolve it. Not quite the same
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?
yah im done
go ahead
yeah thats why they should use the singleton I2C, it ought to be smarter
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
ok, so we still have a backup strategy!
No more huzzah in CP 😉
same -- goodnight all!
thanks for the help @tulip sleet
yw!
let's just hope our german friends are sleeping until this gets merged 😉
does displayio work with ssd1306?
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.
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
@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())
implement board.I2C() board.SPI() and board.UART() for particle boards.
It just looks like these never got added. Is anything else needed?
I only tested I2C devices on a particle_argon
I don't know of an option in msgmerge to keep filename but delete line number. @Tasm-Devil do you have your own CircuitPython build or do you just use the file? If you have a repo we could add a make target that leaves the locations in temporarily.
<@&356864093652516868> Check out the PyCascades live stream. In just over an hour @fathom trellis will be presenting circuitpython. https://www.youtube.com/watch?v=MTdYyCKcI8Q
Day 2 of the PyCascades Live stream. Full schedule of events available here: https://2019.pycascades.com/schedule/
@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
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.. 😄
@solar whale, it's just an oversight. We didn't bother on the test boards (like PCA10056), not for any strong reason
ok -- pr for particles is in
pca10059 - there's no standard for the choice of pins, so that's why we wouldn't bother (not Arduino nor Feather style)
agreed!
I see that DEFAULT_I2C_BUS_SDA etc. was already defined. If not it wouldn't have worked
yes -- I saw that too
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...
CircuitPython is only supported on atmel-samd and nrf (and esp8266 on 3.x). We don't remove the other ports/* so we can still merge from upstream easily.
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
it could fail with a meaningful exception
maybe make FeatherWing use board.I2C() by default but allow explicitly supplied I2C as well?
or is there an harm in creating default pins for the pca10059?
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?
got weather workin on pyportal, will be posting more about it soon!
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
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.
featherwings belong on feathers...
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!
nice!
also adafruit.io is ridiculously easy to use.
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).
@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.
got a link?
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.
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"
i restarted the stuck one, let's see what happens
yeah. it may be the 2 parent commit that confused Travis. i don't think it will affect mergeability though.
it's waiting in line behind some other stuff
You might want to initialize the characteristic with a value before you start advertising. When a client connects, they might request the value immediately.
@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.
<@&356864093652516868> Nina is on now! https://www.youtube.com/watch?v=MTdYyCKcI8Q
Day 2 of the PyCascades Live stream. Full schedule of events available here: https://2019.pycascades.com/schedule/
watching!
i was wondering if we were all the the "11 waiting". 😆
probably 😃
though, my stream is...ah, there it goes.
😃
well done, and no live_demo_hijinx!
speaking of hijinx, @raven canopy can you hit travis with a stick? The second build is not doing so
haha. if i could, i would. Travis and I have been in a standoff lately as well.
b81072e (fork rebuild) Initial support for 16bpp 555&56... - siddacious
ebbac61 Merge branch 'master' into bmp_bitdepths - siddacious
3843e96 Tweaking German hallowing build for size - siddacious
2cb31ea Merge branch 'master' into bmp_bitdepths - siddacious
3afcd3f another/different size tweak for the DE hallowi... - siddacious
Thanks @tulip sleet !
Yw! Dunno what the build issue is, but not important.
i think it was more on the GH side, since the Travis passed twice.
That fork/branch has had a hard life so I'd understand if it made gitgub 🤔
Hide bleio classes that aren't usable yet, and that may change. Also turn off their RST documentation entries, which is a bit involved: Remove their TOC entries, and to avoid warnings, mark source files containing their RST as :orphan:. They could also be excluded in conf.py, but this is easier.
Thanks @slender iron! Now I don't have to completely miss PyCascades.
Shucks. I wanted to watch that decorator talk but got busy...
... or the equivalent, so that beacons can be detected.
This is a full central mode, so that it can act as a GATT Client. Might be 4.x or might be later.
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...
Is aout related to a3pwmaout? I notice it occurs when you set aout.value = 0.
<@&356864093652516868> Here is the notes doc for the CircuitPython Weekly tomorrow. Please feel free to add your hug reports and status updates even if you will be on voice. Thanks! https://docs.google.com/document/d/1GZhcclyUv_L1zOAMBZxbVQU3hAzOmC_zlORlTWOhzAM/edit
anyone have a good guide for setting up a script? is it just bash language?
you can use any language you have an interpreter for installed -- bash, perl, python
even php, if you really hate yourself that much
so if i wanted to write a bash script to auto git stuff can i ask is it a .bash or?
.sh is the file extension.
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)
...
.....
echo hello world```
if causing an error saying syntax error
Expected end of line, etc. but found identifier.
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...
@meager fog I'm back
@meager fog The rplidar repo....
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
OK.. how to deal with imports that aren't available in CP?
I guess the same trick will work.. looking at the implementation name
what are you importin?
serial & codecs
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?
And that'll still bring it in at the global level?
yes - python is Weird like that
ah
ok, I'll take another pass at the structure
which codec are we inclidng?
serialnumber = codecs.decode(serialnumber, 'ascii')```
I can get rid of that and do somethign different with the serial number
the no auto reload seems to have. fixed it
or an onshow method to for touchable objects, etc
that had unscored on either side
however is still freezes while sometimes saving
@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.
@TG-Techie Please clean up your initial request/comment to include more information about what you're trying to achieve and how what you're asking for will help achieve your goals.
tested and works great - thanks @cpforbes !!
Would you mind trying this with CircuitPython 3.1.2? That would help narrow things down? Thanks very much!
my apologies, more detail for not issues too. good explanation?
It actually IS working nominally. I didn't realize that 1) -XX- refers to the number of commits between the tag and current latest, and 2) the abbreviated hash is prefixed with g.
If anything, I find the format confusing, and suspect others will as well, but now that I know it personally won't ever have this problem again.
Much better, thank you.
how do you add labels? or is it a permissions thing?
I got bored of my bouncing ball
nice
now I know my i2c works too
new board?
it's my samd51 hardware abstraction layer for rust
haha. that ® was much smaller than i expected.
lol, it's a rust logo not a registered circle
i know. but...no :rust:. 😦
yeah. if you have the image file, the admins might agree to add it as a server emoticon.

👍
Nice 
I'm thinking about reimplementing the bouncing ball demo in
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 😂
Maybe there needs to be a #rust topic channel too?
I don't think it would get enough traffic
Perhaps
maybe just #other-languages
then we could have like circuitscheme, whatever languages nis implemented, and all that under one roof
Well, whatever the admins want to do 😃
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 {
🤣
forgot a semicolon?
can't find it. i've looked through the chain twice now (to include the massive py/obj.h). 😵
oh by the way there are people working on a
implementation of python
just like there's CPython
or, Cython?
I just googled that and it looks more like a transpiler, I'm talking about a python runtime
ahh. have they proposed a name? (cause that's what matters, right? 😄)
just rustpython
Will try it with 3.1.2 in a day or two.
up just hard crashed!
but i forgot to put a boot.py back in when i stated this new version.
@pastel panther congratz, glad IO and
are meeting
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
OK, never mind about 3.1.2 - the code is the same. Looking at this.
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
In your tests in the most recent comments, are you still using up a couple of other PWM's? Could you post the setup code for the tests? PWMOut may use a TC or a TCC timer, depending on what's available, and they are used differently.
One thing I will try is to try read the duty cycle a second time.
there is an issue already lol dang it
is there at support for the esp8285?
@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.
@prime flower The enclosure/sensor is now in my neighbors gourmet mushroom farm. We have lots of plans 😃
@exotic pumice finally found what was causing the obscure compiler error. how did that little guy even get up there!? 🤦
ouchie
yeah. stole a whole day from me...
remember my off by one enum that cost me months?
Pepperidge Farm Remembers
hey @slender iron how's pycascades?
really awesome. a whirlwind for sure
great
I didn't have a chance to catch their livestream -- I'll have to ask later if there were any particularly outstanding talks 😃
hey @slender iron did you do any work on the ST7735 driver for displayio?
not recently
hey @visual valley I responded to your comment in the offset issue with some info
nice thanks
Lots of CircuitPython/Adafruit love in this blog post about a young coder's funky hardware project... 😃 https://twitter.com/ntoll/status/1099949364955545600
The latest #madewithmu blog post was an absolute joy to write. Check out this wonderful student project made with an @adafruit CPX, @CircuitPython and Mu:
Congrats to @smtibor & @KellyPared for great teaching & support for their students.
🐮♥...
I adapted the picture from the ssd1306 demo to my own purpose
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...
@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!
@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
@solar whale Nice!
so far ESP32 with ATControl works fine -- there are some annoying differences with the ESP8266 responses
@prime flower arrgh -- it worked until you added this https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO/blame/master/adafruit_io/adafruit_io.py#L60 I'll have to add an alternate check for ATcontrol
@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 🤘
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
@solar whale Agreed that it is a lot of overhead. it was previously checking if object was not None
that seems sufficient to me
It'll fail pretty hard if something else gets passed in as a wifi object, though.
don't do that 😉
I'll raise it as an issue if/when I get this working and am ready to PR
@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. 😄
@raven canopy thanks -- looks promising -- I'll try it out
the abbreviated hash is prefixed with g.
I was confused by that initially too. It's the standard way git describe does it, so I don't think we'd change it, but it's yet another git UX foible. (I've said for a long time that any program that has to print out a lot of hints for what to do next has some UI problems.)
@raven canopy @prime flower that seems to work well
@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
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...
@solar whale could you change it to ESPAT_WiFiManager?
to match the case of ESPSPI_WiFiManager
yes -- that is what it should be
the nice thing is now you don't have to do the import at all!
mhm, removing that fluff from config as well
- 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?
@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
I'll make a sep. one, want to keep the PRs to what they're fixing
I just saw your message @solar whale. Sounds good. I thought we were abandoning the AT, which is why I hadn't ported it.
np and no rush on this one
@gilded cradle it looks like it gets to live another day ...
😃 cool
the port was very easy
@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?
Can you send me a link please? I want to verify it first.
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.
(sorry for delay, was making an evernote file for setting this up)
FourWireshould note that theresetpin arg is defaulted toNone:
FourWire(spi_bus, *, command, chip_select, reset=None)
The text below the defn could also note that.
@idle owl So, I'd change the name of the project on RTD to adafruitio, redo the README.rst with the new links
You can't change RTD. You've been through this before.
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 Ok, I redid the RTD setup. Could you verify that the URL is correct https://readthedocs.org/projects/adafruitio/
ok, I'll PR the README with the correct link when it's added
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.
Changed the name
Ok added.
Just saw it, thx, adding a correct badge
@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
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.
Ok, np
@idle owl updated my notes, added you and adabot to https://readthedocs.org/projects/adafruit-circuitpython-adafruitio/
Ok added. Should be correct now.
Looks good, thank you for the help.
@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.
@idle owl , on the Adafruit IO Travis build it's failing with
invalid option "--api_key="
failed to deploy
Any ideas?
@gilded cradle Yes, I need to add the API key.
Ok, cool. I thought it might be something like that.
@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.
Sounds good
hey friends, how's the circuitpython life?
@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?
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... :)
hi @gusty kiln !
Hi @gusty kiln
yeah, it is pretty much a giant rube goldberg machine.
I'm now picturing you in a never-ending Ok Go video.
yeah, like that, but made of shell scripts. :)
hah!
(ok go should really do a video with shell scripts.)
(agreed)
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 later!
Btw, I'm lurking today 😃
@idle owl yes!
Excellent! Thanks for joining us 😃
<@&356864093652516868> Meeting starting in a minute!
lurking
@marble hornet please mute

Resources for my conference talks. Contribute to nnja/talks development by creating an account on GitHub.
can help with german
I am text only today no mic
🥊
Lurking today, no audio
- @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.
gr oup hug to all
@tulip sleet Is the vod for that talk up?
see 2:07 (ET) links above in thiis channel
thank you
(NIna Z)
Midi mouth piece code for my ocrina demo using a mcp single port analog pressure senor
How "ready" is CP for a mixed platform project between Feather, LoRa, and Raspberry Pi? This is very likely an "in the weeds" topic.
In the weeds question: Do we have a procedure to update the learn guide for the gcc-arm-embedded changes for MacOS?
@timber mango should be "good to go"
@modern wing et al nnja talk is in video at https://www.youtube.com/watch?v=MTdYyCKcI8Q . It's the first talk
Day 2 of the PyCascades Live stream. Full schedule of events available here: https://2019.pycascades.com/schedule/
@tulip sleet That's awesome, thanks for digging that up
Lurking and late today...
@timber mango CP LoRa is only a basic subset of RadioHead, but it is functional
Awesome, thank you!
bring it up In the weeds if you have specific questions
@modern wing I'll put updating the MacOS gcc-arm-embedded on my to-do list.
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
\rto 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.
- Continued re-gluing work. Got through the new
-
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.
Thank you @tulip sleet -- let me know when you do, because I just reimaged my MBP. I'll be happy to test it.
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
@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.
@modern wing Thank you! Absolutely - hopefully this'll lead to another event in the nyc region
<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>
Midi mouth piece code for my ocrina demo using a mcp single port analog pressure senor
weeds: move ESP8266 AT support to the community bundle?
weeds: namedtuple instead of dicts
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.
@visual valley It looks like scott did do some initial work on a ST7735 displayio driver: https://github.com/adafruit/Adafruit_CircuitPython_ST7735/blob/master/adafruit_st7735.py
(I have no idea if it works)
Just listening in
Yeah. I know TLS is a problem going forward. This helps head-off any future quagmires.
feed_name['value'].
The IO Python library uses feed_name.value. I'm not sure which way we should use.
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
Thank you all 😃
@pastel panther kk ill give it a try
Good stuff today. Everyone was seriously jobbing last week! Thanks all. Have a fantabulous week!
Thanks everyone
👋
👋
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.
👋
@raven canopy this is dict->namedtuple code for the python lib (https://github.com/adafruit/Adafruit_IO_Python/blob/master/Adafruit_IO/model.py#L85). I think the arguments against doing this outweigh the cross-compatibility...but maybe not 🤷
@tidal kiln You're welcome 😄
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.
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.
@gilded cradle @solar whale @umbral dagger @tidal kiln ✳
@meager fog ??
whohoo!
self.mode = Human.READY
lol
OK
Ready
eta like 2-3 minutes
⏱
👀
This is like when WWDC or Blizzcon tickets go on sale!
ok @pastel panther @umbral dagger @tidal kiln @solar whale https://www.adafruit.com/product/4116
and anyone i forgot
more coming tomorrow - so if you miss it let me know
and ill give you an early warning
got one!
yay
@meager fog thanks! ordered.
thanks for the alert!
🐍 💜 ⏲
thanks @meager fog
Thanks for the heads-up
got one 😄
Thanks for the heads up
I keep getting ideas for the PyPortal. Both standalone and as a component in somethign larger.
same. current plan is mushroom farm automation controller
🍄
I want to give a good test run before I decide what to do with it. 😃
@pastel panther hopefully with a LCARS interface
@tidal kiln is there any other kind?
"computer. <bweeble> 10 kilos of lion's mane, stat"
@tidal kiln That's my plan
board.L on a PyPortal is the light sensor?
I think its the LED
@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.
yup, please refer to that issue too
Done
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
There were plenty in that list that were legitimately missing it as well 😃
waves at @cunning marsh
waves back!
OK.. I pulled & rebuilt. Pins are updated.
@cunning marsh Hey! Welcome! Thanks for getting all of those fixed up! 😃 Apologies for the misleading error list.
watch out for the stampede! 🏃 🐄
@raven canopy did youg et one?
i'll defer until stable stock. my cycles are too few these days. gotta get this FrequencyIn off my desk!! 😄
It's a pretty PCB.
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
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.
@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)!
repo_is_on_pypi() is here: https://github.com/adafruit/adabot/blob/master/adabot/circuitpython_libraries.py#L887
Perfect! I'll start looking around there! 😃
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.
https://www.adafruit.com/product/4116 still some in stock
for the grabby hands
Still 22 there 😃
21 remaining 😃
I see 16
I promise you, there's one fewer now

Not anymore. I just changed my number 😄
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.
Yeah, it sure is
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).
1.9.2
i think its pip install pylint==1.9.2
it's working, thank you
should i just run pylint file_name.py or do we use -thing?
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.
okay
are you working on a library?
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):
@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
Tested with the following:
import time
import board
import displayio
print(board.DISPLAY.width())
print(board.DISPLAY.height())
To make this a property in CP, you'll need to add an mp_obj_property_t like displayio_display_width_obj and add it to the locals dict instead of displayio_display_get_width_obj
This will allow for referencing like so:
board.DISPLAY.width or
board.DISPLAY.height
See this PR for an example:
https://github.com/adafruit/circuitpython/pull/1479/files
Same as the above; height needs a mp_obj_property_t as well
This is where you'll put the property objs instead of the getters.
Thanks! You're almost there.
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?
It also looks like Travis failed due to reasons beyond your/my control. @dhalbert any ideas?
here is a post that has time-code links to nina's excellent talk from pycascades - https://blog.adafruit.com/2019/02/25/video-pycascades-light-up-your-life-with-python-and-leds-nnja-pycascades2019-pycascades-pycascades/
Thanks for the heads-up on the PiPortal #grabbyHands
@siddacious thanks for the references! I couldn't figure out what the correct type i needed in order to make it show as a property. I don't have the board I was working on anymore (just finished with the pycascades sprint) but I have a pyportal coming in the mail soon so I can update with the requested changes.
Ordered PyPortal just in time, only two left. It's really a great value for all that's on it.
Any docs on the coordinate system on the PyPortal for positioning text areas?
The Travis issues are https://git.savannah.gnu.org/ being flaky, which is relatively common. I'll restart those jobs.
@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.
Ok - I will try that out later this week - thank you!
@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.
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?
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. 🤞
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)
k. thanks! at least i'm not too crazy... 😄
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)
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
and you were importing a builtin module, hmm
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!
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?
local changes are just new fequencyio shared-bindings, common-hal, and addition to circuitpy_ config.
you could try git-stashing those or something, and see if it's reproducible
changed cable. same result. yeah, i'll build one on my master and give it a shot before i pull from upstream.
Got gui working on sharp memory display
@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!
okee, lemme know if it's reproducible in a standard. np!
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.... 😬 🎢
Any thoughts about having adafruit_esp32spi_wifimanager support DotStar as the status pixel (e.g., the built-in Dotstar on the ItsyBitsy M4 Express)?
@crimson ferry i imagine its doable, but would require some breaking changes. i would put up a new issue on the repo: https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI/issues
Current project
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. 😪
😢
yeah. and i thought it would be smooth sailing once i got back to compiling. 😆
haha
i mean..it worked a week ago! oh wells. early/long day tomorrow. 👋
git checkout "a week ago"
haha. but that puts me back to like 6 months behind of master. no TinyUSB. no new super-awesome module configuration.