#circuitpython-dev

1 messages · Page 220 of 1

twilit geyser
#

mPY

#

microPython

meager fog
#

yeah, for that you'll need to ask in the micropython support forums

#

we've never used what you're doing 😃

twilit geyser
#

do you have any idea? maybe something like this happens with cPY?

meager fog
#

some change in their API, but we have no idea what it could be

twilit geyser
#

thanks.

meager fog
#

we've never used that code - the microphython folks will be able to help you for sure!

manic glacierBOT
misty wolf
#

Good afternoon. I recently got a circuit playground express and one thing I'd like to do is use it to update my data acquisition prototype. I was using pyserial to pull data from an arduino and write it to a csv. I'd like to do the same with my cpx. Right now I just have it printing (to console) the temperature and light readings. Is there a simple way to get those readings saved to a file? I've updated my pyserial script to read from the cpx com port.

marble hornet
#

ahg, @idle owl it came back

#

pylint: disable=too-many-arguments,disable=too-many-attributes

idle owl
#

Only the message after the comma

#

# pylint: disable=too-many-arguments,too-many-attributes

marble hornet
#

👍 works

minor blaze
#

so does anyone care to browse over my code and see let me know if they think it would run on a neotrellis m4?

marble hornet
#

but it doesn;t like the line that is doing the disabling

#

gfx.py:71:0: E0012: Bad option value 'too-many-attributes' (bad-option-value)

idle owl
#

What version of pylint are you using? Are you still linting locally?

#

Because typically I see that if I lint locally with a different version than remotely and some checks aren't in both versions of pylint.

#

@marble hornet Do pylint --version

teal bear
#

@misty wolf If I understand what you are doing, I think the same code - I would recommend putting it on github so we can take a peek

marble hornet
#

222

#

asteroid 210

#

what version is best?

#

fot this application

idle owl
#

@marble hornet Ok, hold on, you should be running 1.9.2. Try running pip install --force-reinstall pylint==1.9.2

#

That's what we're using because it will be an overhaul to update to 2.2.2. And we're not ready for that yet.

marble hornet
#

hmmm same errors though

idle owl
#

Ok. To clarify, if you remove too-many-attributes it gives you that error? But if you add it, it says "bad option"?

#

Did you spell it exactly right?

marble hornet
#

R: 46, 0: Too many instance attributes (10/7) (too-many-instance-attributes) if i have # pylint: disable=too-many-arguments

idle owl
#

You didn't type it correctly.

#

It's not too-many-attributes.

#

It's too-many-instance-attributes.

#

That's gotten me before 😃

misty wolf
#

@teal bear will do, I don't use github often, is there a particular place/forum/subthread I need to post it? Thank you for your help

idle owl
#

So if you type it incorrectly, it is not a valid option, and will give you that error.

marble hornet
#

okay, i switched it back to under class and spelled it correctly. thank you

idle owl
#

Yep!

marble hornet
#

okay i;m down to one last one !!

#

an import error for the font, yet it is working fine since i'm editing right on an m4

solid prawn
#

i have the adabox 10 and i put the christmas soundboard on there and then it booted up said the merry christmas then everything stopped working pls help

idle owl
#

@marble hornet Paste to me what your results are from the linter

marble hornet
#
E: 94,16: Unable to import 'adafruit_gfx.fonts.gfx_standard_font_01' (import-error)

------------------------------------------------------------------
Your code has been rated at 9.82/10 (previous run: 9.75/10, +0.07)

idle owl
#

Ok, I want you to push to GitHub. It may be a local issue.

#

Because CircuitPython is a bit odd in that the libs aren't necessarily available to your computer because they're located on a board when CP is actually running.

#

So sometimes remotely it works fine. If it doesn't, we'll sort it.

teal bear
#

@misty wolf if you are going to write code (like you are) you should get an account somewhere that you can check your code into. (like github) If you have an account, use it.

misty wolf
#

@teal bear will do, thank you very much. I'll post it shortly.

solar whale
#

@meager fog finally getting around to updating the guide for the miniesptool -- I uploaded the newer particle argon esp32 files and put in a PR to the miniesptool library for the example script. I assume you wasnt me to add a section to the guide for uploading the ESP32 AT Firmware to a Feather Huzzah ESP32 via USB -- Il'll try to get that in tomorrow.

meager fog
#

@solar whale i think im confused by your PR 😃

#

why would u use an esp8266 with argon? :/

solar whale
#

I just meant to update miniiesptool_esp32multifile.py so the checksums are correct for the new zip file I put in the guide

#

do you want a different name than miniesptool_esp32multifile.py?

meager fog
#

i think maybe make an esp32argon

#

keep the current example as is? cause the esp32 argon build is 'special'?

#

like, a new example

solar whale
#

Ok - so leave the miniesptool_esp32mutlifile.py as is -- but there is no .zip that will work with it

meager fog
#

np just upload it to the guide

solar whale
#

I upladed the new argon .zip -- what .zip shold the miniesptool_esp32multifile point to?

#

the new .zip will work with a new miniesptool_esp32argon.py

#

the only other esp32 build I have is the full AT firmware build for loading via USB, not via miniesptool.

#

sorry if I confused things

meager fog
#

the miniesptool will point to a version for the m4

#

just keep it as is

#

make a new example for argon

solar whale
#

ok - but we don't now have an external esp32 load for the M4 that uses miniesptool. and for the feather huzzah ESP32 -- USB is a lot simpler since the pins for uplooad are not available.

#

the miniesptool load for the esp8266 is fine

solar whale
#

@meager fog my PR remove miniesptool_esp32multifile.py -- do you want me to restore it

meager fog
#

@solar whale the current example is for m4, we'll adjust it if necessary - make a new example for argon

#

and it can have the crc32 for the argon build

#

dont worry about m4 - its a idfferent crc set anyways

solar whale
#

OK -- new example is in the PR -- I'll update the pr to restore the old example

#

@meager fog sorry about all that confusion -- I'll work on the guide tomorrow.

meager fog
#

all good 😃 no biggie

minor blaze
manic glacierBOT
marble hornet
#

@idle owl sorry for delay. Family sterf

#

Will push soon. I will @ you when I do

idle owl
#

@marble hornet All good! Life comes first!

lone sandalBOT
marble hornet
#

Agreed

teal bear
#

cpx.pixels[0:5] = [(255, 0, 0)] * 5

#

ValueError: need more than 2 values to unpack

#

wut?

#

never mind

ruby atlas
#

Oops 😃

#

What's the recommended dev environment for CircuitPython (C code) these days? VS Code with custom path setups?

#

(It's been a while)

tulip sleet
#

@ruby atlas not sure what you mean - I use emacs, Scott uses vi. We don't use an IDE.

exotic pumice
#

hey @tulip sleet, someone was looking for a Feather M4 eraser UF2 earlier today. I couldn't find it. Is it the same as the Metro?

tulip sleet
#

Not necessarily. Could be different pins. I'm not sure we have one built.

exotic pumice
#

ok, I wasn't sure whether the erasers just zeroed everything or are they stock firmware?

tulip sleet
#

did they want to clear the internal flash or the SPI flash chip?

exotic pumice
#

I'm not sure, whichever would help them.
"
I kind of bricked my Feather M4 for CircuitPython, whenever I flash any circuitpython version it doesn't boot anymore and I cant get into the REPL to format the flash. Going into bootloader and flashing Arduino sketches works fine
I think this happens after I tried to write a new library to it and ejected it as it didn't start the file transfer for some reason, after that it never came back up as the cpy drive
any ideas maybe? :/
I need some way to erase the flash without using cpy"

#

sorry for the ping

ruby atlas
#

@tulip sleet I've used CLion,VS Code, and Sublime Text while working on Circuit Python code. Because of the dynamic build environment, none is really able to provide great autocomplete. I did get VS Code to behave somewhat OK by mucking around with include paths and defines. 😃

tulip sleet
#

@ruby atlas I just use emacs abbrev mode, which does autocomplete based on the currently open buffers.

#

certainly not perfect

ruby atlas
#

😃 I don't think we can really expect perfect with the number of targets and conditional compiles.

tulip sleet
#

@exotic pumice the latest alpha.5 has a special way of getting into safe mode: it illuminates the RGB LED yellow for 700 ms and if you click the reset during that time, it will restart and go into safe mode. It's basically a "slow" double-click.

#

I'm thinking you may have a main.py that is crashing

exotic pumice
#

thanks dan

tulip sleet
#

@exotic pumice I'm not sure I'm actually getting this to work, but the code is in there :/

manic glacierBOT
manic glacierBOT
manic glacierBOT
#

uploading with 115200 still has the same fast blue led blinking on the 2nd breakout.
uploading with 9600 is timed out :(

s$ esptool.py -c esp8266 -p /dev/ttyUSB0 -b 9600 write_flash 0x0 AT_firmware_1.6.2.0.bin 
esptool.py v2.5.1
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP8266EX
Features: WiFi
MAC: dc:4f:22:21:5f:4d
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 712704 bytes to 406315...
Writing...
solar whale
#

@gentle bronze sorry it has been so difficult to get the ESP8266 programed. The same problem happened to me the first time I tried it but I don’t recall what eventually got around it. I have successfully loaded the AT firmware to a few ESP8266 breakouts via an feather M4 with miniesptool. I need to get some sleep now. I’ll try to reproduce this tomorrow.

gentle bronze
#

@solar whale please get some sleep, i have just finished lunch, I will try to use m4 to program esp breakout, not sure why ftdi program failed. No worries

#

I am new to esp, I may not do things properly, happen all the times :)

#

Thank you very much for your help. Good night

solar whale
#

You are very welcome!

manic glacierBOT
manic glacierBOT
#

have tried to write the AT firmware with M4, but still the esp8266 keep fast blink blue LED

Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
ESP8266 mini prog
Resetting
Synced
ESP8266EX
MAC ADDR:  ['0xdc', '0x4f', '0x22', '0x20', '0xf7', '0xb0']

Writing AT_firmware_1.6.2.0.bin w/filesize: 712704
Erase size 647168, num_blocks 696, size 1024, offset 0x0000
Took 1.67s to erase 696 flash blocks
Writing at 0x00000000... (0 %)Wr...
solar whale
#

@gentle bronze very strange. Have you tried flashing Circuit Python onto it again just to see if that works?

solar whale
#

@gentle bronze ah -- I have reprduced the ESP8266 blinking blue failure -- now to see if I can get out of it!

#

@gentle bronze yes -- success -- I will post the details to the issue -- basically -- I pre loaded CP to the ESP8266 then flased AT _Firmware without erasing (used FTDI cable) -- It now works.

manic glacierBOT
#

@hathach I was able to reproduce and workaround this issue.
I found that when using the FTDI cable to flash the ESP8266, it failed if I erased the ESP8266 first!
I then flashed CP to the ESP8266 and then retried flashing the AT_Firmware without erasing and it worked.
I also found that if I was in the failed state, just reflashing the AT_firmware did not work. I had to load CP in between (possible something other than CP could be used but I did not try)
So -- basically -- don't erase the...

manic glacierBOT
#

I also tried erasing the ESP8266 using y FTDI calble then loading the ATFirmware via miniesptool and a feather m4 and the load failed as before ( flashing blue light)
I then used minesptool to flash a CP image to the ESP8266 - after flashing the ESP8266 still showed the rapidly blinking blue light.
I then repeated the load of the AT Firmware via miniesptool and this load was successful
Interesting.... but there does appear to be a reliable workaround.

Note: it is very reproducible to c...

manic glacierBOT
gentle bronze
#

@solar whale sorry, just came back from dinner

#

I am trying your walkaround

solar whale
#

@gentle bronze np -- good luck -- just load CP then reload AT...

manic glacierBOT
gentle bronze
#

@solar whale it did the trick, I see the ready mess now when reset

#

hmm but it does response with AT command manually entered with minicom

solar whale
#

@gentle bronze yay! -- It wont work wit minicom -- try miniterm.py

gentle bronze
#

that is weird 😄

solar whale
#

it is very fussy about the End of Line and I cant get screen or minicomto work

#

or try hooking it up and us the small test program to talk to it.

gentle bronze
#

ah, thanks for the tip, hooking up with your cpython script to test with.

solar whale
#

once connected yo ushould get something like this ```Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 4.0.0-alpha.5-29-gbce6d124a on 2018-12-21; Particle Xenon with nRF52840

import esp8266comm
AT
b'AT\r\n'
b'\r\n'
b'OK\r\n'
b''
AT+GMR
b'AT+GMR\r\n'
b'AT version:1.6.2.0(Apr 13 2018 11:10:59)\r\n'
b'SDK version:2.2.1(6ab97e9)\r\n'
b'compile time:Jun 7 2018 19:34:26\r\n'
b'Bin version(Wroom 02):1.6.2\r\n'
b'OK\r\n'
b''

#

the lines with "b' ... are responses

gentle bronze
#

name this script right

#
import busio
import time

RX = board.RX
TX = board.TX

with  busio.UART(TX, RX, baudrate=115200, timeout=3) as uart:
    while True:
        data=input()
        if "reset" in data:
            uart.write(bytes("\x03",'utf-8'))
            uart.write(bytes("\x04",'utf-8'))
        else:
            uart.write(bytes(data+"\n"+"\r",'utf-8'))
        getresponse = True
        while getresponse:
            response=uart.readline()
            print(response)
            if(response==b'' or response == None):
                getresponse=False```
solar whale
#

right

#

Do you have a recent version of CP on your board -- 4.0.0-alpha5?

#

the script is written for the updated busio.UART in alpha5

gentle bronze
#

ok it work, i have to change your script a bit to get it work with minicom, too lazy to change to other terminal 😄 uart.write(bytes(data+"\r\n",'utf-8'))

#

finally, we could troubleshoot the real issue 😄

solar whale
#

great -- I can trigger the failure on the nrf5284 eitehr by pressing the RESET on the esp8266 or by sending the "AT+RST" command for AT+RST you get a fluury of responses, but then it does not repond any more -- Control-D will clear it . On the M4 -- these do not cause it to hang.

gentle bronze
#

ah yeah, I saw this as well

solar whale
#

I did find that if I manully configure the uart in the REPL, I can clear the "hang" by deinit() then re-initialize the uart.

gentle bronze
#

sounds like an currupted state issue with uart io

solar whale
#

see -- you have almost fixed it already 😉

#

@idle owl is the CP meeting today at 2PM EST?

gentle bronze
#

hopefully so 😄

manic glacierBOT
solar whale
#

@gentle bronze good luck. I have to go offline for awhile. Let me know if you need anything else to help troubleshoot.

gentle bronze
#

@solar whale thanks a lot, no worries, I wilk try to fix this asap

marble hornet
#

@idle owl pushed!

#

and good morning !

#

it's running through travis minerva 👀

#

no, the text dict part didn;t pass

#

okay i fixed the 5/10 (two lines ) and now all the code checks out as 10/10

manic glacierBOT
marble hornet
#

but travis still says the code fails

#

oh

#
/home/travis/build/adafruit/Adafruit_CircuitPython_GFX/adafruit_gfx/fonts/gfx_standard_font_01.py:docstring of adafruit_gfx.fonts.gfx_standard_font_01:7:Bullet list ends without a blank line; unexpected unindent.
The command "cd docs && sphinx-build -E -W -b html . _build/html && cd .." exited with 2.```
prime flower
#

@solar whale Yep 2PM ET

idle owl
#

<@&356864093652516868> Happy holidays! The CircuitPython Weekly meeting is today at 2pm ET.

ruby atlas
#

I better set an alarm so I remember 😃

idle owl
#

@marble hornet That's Sphinx failing now. I can help with that later if it's still giving you trouble.

marble hornet
#

Thank you @idle owl did it jus fail again? (I'll check

#

Yes,) I would love some help later

#

Please

tidal kiln
marble hornet
#

trying

#

it's building, thanks!

#

i'll post if doesn't work

#
/home/travis/build/adafruit/Adafruit_CircuitPython_GFX/adafruit_gfx/fonts/gfx_standard_font_01.py:docstring of adafruit_gfx.fonts.gfx_standard_font_01:26:Inline emphasis start-string without end-string.
The command "cd docs && sphinx-build -E -W -b html . _build/html && cd .." exited with 2.```
#

@tidal kiln it failed

#

what sequence of characters starts an emphasis?

manic glacierBOT
tidal kiln
#

the docstrings use restructured text syntax, and i'm no expert on rst 😦

#

i think it's *emphasis*

#

looks like maybe you have *emphasis, so are missing the closing *

marble hornet
#

thank you, that's probs it

#

checking

manic glacierBOT
tidal kiln
#

also, fyi, the line number is in the error message:

/home/travis/build/adafruit/Adafruit_CircuitPython_GFX/adafruit_gfx/fonts/gfx_standard_font_01.py:docstring of adafruit_gfx.fonts.gfx_standard_font_01:26:Inline emphasis start-string without end-string.

so in this case 26
but the count is relative to the start of the docstring, so it's not the actual line number in the file, which is...fun.

marble hornet
#
/home/travis/build/adafruit/Adafruit_CircuitPython_GFX/adafruit_gfx/fonts/gfx_standard_font_01.py:docstring of adafruit_gfx.fonts.gfx_standard_font_01:21:Block quote ends without a blank line; unexpected unindent.
The command "cd docs && sphinx-build -E -W -b html . _build/html && cd .." exited with 2.```
tidal kiln
#

line 21

marble hornet
#

yeah, bit it is a comment

tidal kiln
#

count is relative to docstring. not file.

marble hornet
#

oh

tidal kiln
#

line 23 = line 1

main meteor
#

It says "block quote ends without a blank line". Seems like an easy enough fix.

solar whale
#

@meager fog Let me know if you need more information about the issues with the AT_Firmware_1.6.2.0.bin file that @gentle bronze and I worked through this morning - Could it be an issue with the file?--- Can you tell me how the file was built - I can try to reproduce it and see if there is an issue with it. see the end of https://github.com/adafruit/circuitpython/issues/1407#issuecomment-450191714

marble hornet
#

thank you

meager fog
#

@solar whale i made it by burning in that version ESP8266 firmware piecemeal, then pulling it out as one big file

#

w/esptool.py

solar whale
#

Hmm -- then it should be OK --- not sure what is going on.

#

I'll poke at it some more

idle owl
#

Sphinx is never easy.

ruby atlas
#

Hmmm. I either need a callback or to have pixelbuf.c call a python subclass method (if it exists) so that subclasses of RGBLED can implement auto_write. I wonder how hard that will be or if there's any examples of calling a non-C method in a subclass.

tidal kiln
#

@marble hornet this might help:
http://rst.ninjs.org/#
you can use that to work out the RST. i pasted in the docstring from your latest PR and it gives the same error message. so you can edit the RST there until it's error free and then paste back into your code.

idle owl
#

@tidal kiln @marble hornet I can help later today. I've gone through most of the errors you're going to see myself and have a good idea on what needs to be done to resolve them. Sphinx is picky and difficult.

#

I will have meetings until late afternoon at least, likely.

marble hornet
#

@tidal kiln i have to say i didn't understand any of that

#

😅

tidal kiln
#

RST = restructured text

#

that site let's you put RST markup on the left hand side and see the resulting output on the right hand side

ruby atlas
#

(RST syntax checker)

marble hornet
#

Warning, treated as error:
/home/travis/build/adafruit/Adafruit_CircuitPython_GFX/adafruit_gfx/gfx.py:docstring of adafruit_gfx.gfx:1:'any' reference target not found: adafruit_gfx
The command "cd docs && sphinx-build -E -W -b html . _build/html && cd .." exited with 2.

#

so line 1?

#

and thank you, i'll paste it in

tidal kiln
#

or wait til @idle owl can help 😃

raven canopy
#

@marble hornet I mentioned in my last review comment that you'll need to update docs/api.rst. it's because the files are now in /adafruit_gfx/.

marble hornet
#

i though i did

#

but maybe i did it improperly

raven canopy
#

.. automodule:: adafruit_gfx.gfx should work.

marble hornet
#
.. If you created a package, create one automodule per module in the package.

.. If your library file(s) are nested in a directory (e.g. /adafruit_foo/foo.py)
.. use this format as the module name: "adafruit_foo.foo"

.. automodule:: adafruit_gfx.gfx
   :members:

.. automodule:: adafruit_gfx.fonts.gfx_standard_font_01
   :members:
#

i used teh rgb lib as a template

idle owl
raven canopy
#

Ahh. I think I see it. Change gfx.py line 23 to just gfx. It needs to match the file name

#

When I made the comment before, I didn't realize the filename change.

marble hornet
#

line 23 of?

#

oh

#

building

#

wooooo hooooo it worked!

#

thank you @idle owl @raven canopy @tidal kiln

#

@idle owl once it is merged should i add a line or two to the examples?

tidal kiln
#

soooooooo green.

marble hornet
#

yes!!!!!!

tidal kiln
#

well....still one more gauntlet to get through - the code review

#

some of that has already been happening

#

but usually, it doesn't happen until travis is green

marble hornet
#

okay

#

🤞

tidal kiln
#

looks like that repo hasn't been added to the CP team, so can't add CP library peeps as reviewers - that's generally what would be done at this point

marble hornet
#

i think it is still in beta rn so kattni is the leader, i think.

tidal kiln
#

yah. i'm just gonna defer to her.

manic glacierBOT
marble hornet
#

Okay

idle owl
#

<@&356864093652516868> Updated notes permissions, sorry! Should be able to edit now.

manic glacierBOT
marble hornet
#

@idle owl who is doing code reviews on gfx?

#

(can you tell I'm excited)

idle owl
#

Ladyada most likely. We have meetings right now 😃

#

There's a lot going on today, so it might be a bit

manic glacierBOT
gentle bronze
#

@solar whale I submit a PR that fix the esp issue, please check it out whenever you have time.

solar whale
#

@gentle bronze looks good on particle_xenon! -- testing argon next - Thanks

hardy horizon
#

Hi There, I'm just dipping my toe into CircuitPython with an Arduino MKRZERO to start with - I understand this is a supported board but can't find any of the correct files on Github - can anyone point me in the right direction please? Thanks.

tulip sleet
hardy horizon
#

@tulip sleet Thanks for the quick respone - I've found the file 😃 Will head off and get it loaded - thanks for your help.

neat folio
#

I'll just be listening today... :(... busy building in-world... thought I would be done.

idle owl
#

<@&356864093652516868> Meeting in a few minutes! Everyone is welcome 😃

marble hornet
#

Which channel?

idle owl
#

CircuitPython channel

marble hornet
#

Cp general?

tidal kiln
#

on the left, under Voice

marble hornet
#

Ah👍

#

Thx

river quest
#

welcome! blinka !

meager fog
#

hello everyone!

raven canopy
#

👋

marble hornet
#

Hi all👋

tulip sleet
#

@inland tusk please mute

tidal kiln
#

@inland tusk mute

inland tusk
#

Just lurkking

tulip sleet
#

@inland tusk we can hear crunchy noises, so please mute your mic

hardy horizon
#

@tulip sleet Thanks for your help locating the MKRZERO uf2 file - fantastic..... now I'm affraid that I seem to be stuck finding the INO bootloader update file for this board? Thanks for any help.

tulip sleet
#

click the mute (mic with red slash button) at the bottom of the left sidebar

marble hornet
#

Since last meeting?

raven canopy
#

Last 7 days, I believe.

tulip sleet
#

@hardy horizon we don't have uf2 bootloaders for the MKR boards, but you can use bossac to upload a .bin. Sorry, we didn't build .bin files, but I can make one later. We're having a mtg right now

neat folio
#

gratz Scott & family

meager fog
marble hornet
#

😅😁 my pleasure

meager fog
#

hug report to @idle owl for many pypi!

#

@solar whale for wifi project pair-coding and testing

hardy horizon
#

@tulip sleet Thanks for that, a BIN file for BOSSAC would be great when you get some down time - I will also check out ladyada's link - thanks @meager fog

meager fog
#

@umbral dagger for helping noe & pedro with their ball drop project

#

and a group-hug for 2018...what a year! that's my hugz!

fathom lava
#

@hardy horizon @meager fog @tulip sleet It looks like the last uf2 release was on Nov 2. Even though the mkrzero port is in there, we need an official release for the .ino file to show up in releases. Until that happens, you'll have to build the uf2 project to get it.

meager fog
#

👍

fathom lava
#

@hardy horizon If you message me your email, I can send you the .ino file directly.

raven canopy
#

Come back to me...

prime flower
#

hug report to @solar whale for continued testing of the TinyLoRa library, specifically in assisting me work
through a recent (and confusing) PR, @ tannewt for wedding!, and to to those doing on the gfx work for 4.0, group hug for #circuitpython-dev!

meager fog
#

thanks 😃

#

yep thats all tidied

raven canopy
#

Sorry. :(

meager fog
#

sorry if i made noise, trying to get my mic working 😄

ruby atlas
#

At least your system didn't spontaneously kernel panic (and I was attempting to be a backup recording!).

meager fog
#

@idle owl if you assign me 15 ill do those right now

#

or list em here

#

no prob

raven canopy
#

🍪 ✂

solar whale
#

will the new framefuf/graphic stuff work on the mini-TFT featherwing?

ruby atlas
#

ooh, i should order me some hardware to mess with the wifi stuff!

#

socket() and connect() and listen() are my friends. they make the internet work.

meager fog
#

@ruby atlas ooooooooh

solar whale
#

It is really easy post data to Adafruit IO feeds now!

meager fog
#

@ruby atlas yep! pick up an ESP32 module or devboard

#

and an M4

ruby atlas
#

I have a bunch of M4s (Feather, Metro, 3x Trellis M4 - though 2 are the kids) and thought I had an ESP32 of some kind somewhere, but it might only be ESP8266 boards.

meager fog
#

ESP8266 can work...but its not great

raven canopy
#

Last Week:

  • Library README updates for the Travis badge.

This Week:

  • Unsure, and open to suggestion! Maybe I should re-attack FrequencyIn; 4 months seems long enough to ignore something. 😄
ruby atlas
#

Yeah, not enough memory/flash.

meager fog
#

SSL causes it to fall over

raven canopy
#

Tried... 😄

meager fog
#

and almost everything now has strict TLS 1.2 req's

raven canopy
#

Oof. Paste fail, to boot. 🤦

ruby atlas
#

Yeah, so really not a great option. I'll dig through my boxes and piles one more time.

meager fog
#

kk good news is you can get ESP32 boards like...everywhere. and you can use nearly any of them

#

just make sure 'RX' 'TX' and 'GPIO15' is exposed

ruby atlas
#

I wonder if there's any available on amazon.ca prime so it gets here tomorrow 😃

meager fog
#

oh im ~sure~

#

lemme look

marble hornet
#

@meager fog who are you talking to?

ruby atlas
#

Ha, I can get the Huzzah32 from a local store that lets me pickup same day. Would that be a good option?

meager fog
#

yeah

#

thats what i use!

errant grail
meager fog
#

@marble hornet you mean in this chat? i'm chattin' with Roy about ESP32 😃

ruby atlas
#

yeah, that's the only one i saw too, but i'd prefer to use the same module as you for now.

meager fog
#

ok cool - lemme know when you're doin' stuff

ruby atlas
#

I could also use a Pi 3 B+ to upgrade my Octoprint server. 😃

meager fog
#

the socket stuff isnt quite done yet but will be soooon

errant grail
ruby atlas
meager fog
#

a classic~

#

but i dont own it anymore 😃

#

we'll be doing the python version

ruby atlas
#

me neither. i don't know what past employer it remained at.

meager fog
#

lol i think i left mine at home when i moved out!

#

or maybe i gave it to a roomie

marble hornet
#

Cp vs mp?

meager fog
#

@idle owl yay thanks 😃

tulip sleet
river quest
meager fog
#

@ruby atlas adafruit reminded me - if you wanna pick up a Particle Argon, its all-in-one

ruby atlas
#

Will do on my next order from the adafruit store 😃

#

Which likely won't be long, because I want to adjust my Trellis M4 OpenSCAD design to support huge grids 😃

raven canopy
#

Another note re: dropped platforms. Older versions are stable and available.

meager fog
#

yep we'll say "hey you can use 3.x forever, but its not supported"

river quest
#

topics added...

marble hornet
#

Bye All, good luck

meager fog
#

later tg!

marble hornet
#

👋

tulip sleet
meager fog
#

oof - sometimes i can't hear others, sorry if i talked over others 😃

neat folio
#

adding a "big" math package would make a nice "learn to program" project for 2019 😉

raven canopy
#

Thanks everyone!! 2019, Year of the Blinka? I say yes, let's make it happen!

meager fog
#

👋

ruby atlas
#

👋

prime flower
#

👋

errant grail
#

Thanks! Happy New Year!

solar whale
#

😬

prime flower
#

@meager fog I'll pick up a Particle and ESP32 module today, I want to assist testing circuitpython w/WiFi coprocessors

meager fog
#

@prime flower yeh grab one from stock

prime flower
#

...especially if @solar whale is doing webhooks with IO

#

particle party!

raven canopy
#

Phone..

idle owl
#

@inland tusk It was great that you could make it today, but next time you're lurking, please mute your mic, you were making crunchy noises for the whole meeting. Thanks!

meager fog
#

@prime flower we should be able to REST into any service

raven canopy
#

Worked two weeks ago. 🤷

#

@idle owl I can chat cookie+pypi starting Saturday at the latest.

idle owl
#

@raven canopy Alright thanks, ping me whenever.

raven canopy
#

I'm dropping out. Power outage is bleeding my cell data. 😄 👋

idle owl
#

@raven canopy 👋

idle owl
#

@marble hornet Do you want to be added to CircuitPython Helpers? You'll be purple and get tagged when we have announcements and so on.

ruby atlas
#
>>> import neopixel, board
>>> strip=neopixel.NeoPixel(board.D6, 32)
>>> strip[0] = (32,32,0, 0)
>>> strip[1] = (32,32,0, 0)
>>> strip[2] = (32,32,0, 0)
>>> strip.show()
>>> strip[2] = (32, 32, 32, 0)
>>> strip.show()
>>> strip[0:32] = ((32, 32, 32, 0),) * 32
>>> strip.show()
#
    from pixelbuf import RGB, GRB, RGBW, GRBW
except ImportError:
    from pypixelbuf import RGB, GRB, RGBW, GRBW
tulip sleet
#

class Neopixel(RGBLED)

exotic pumice
#

The SWD connector on the Feather nrf52840 looks huge

#

glad to have it though

marble hornet
#

@idle owl yes please

idle owl
#

@marble hornet Welcome 😃

marble hornet
#

😁

#

Yay purple

neat folio
#

welcome to "team purple" 😉 altho you were kinda here already 😮

tulip sleet
manic glacierBOT
umbral dagger
#

Errands so I couldn’t even follow along this week. Hugs to everyone for contributing to 2018 being quite likely the best year of my career so far. Certainly the most enjoyable.

manic glacierBOT
#

@ladyada Later on after today's call a number of us got stuck in a loop about the best way to name and release the pixelbuf work. It was felt that you would have preferences as to what approach to take.

Option 1 is to have a new set of libraries that don't try to be backwards compatible with neopixel.py and adafruit_dotstar.py instead focussing on an API that is mostly compatible but designed for speed.

Option 2 is to do everything possible to make it completely backwards compatible, s...

#

There are so many cool examples for the Trellis M4, but unfortunately a good number of them depend on Arduino libraries. Having FFT support of some kind in CircuitPython (M4 only) would really rock so we can do some form of streaming audio visualization on M4 boards from CircuitPython directly. I'm sure there's plenty of other applications too.

hardy horizon
#

@tulip sleet Thanks for compiling and uploading the MKRZERO files - much appreciated. I will begin to experiment - sounds like MU support is something to follow?

tulip sleet
#

@hardy horizon the next version of mu will take any board with the Adafuit USB VID (vendor ID), 0x239a. The UF2 bootloader for MKRZERO id's as 0x239a/0x0035. In the meantime, you can add that board to the adafruit.py file that's somewhere in the Mu installation

hardy horizon
#

@tulip sleet Thanks again, I've added 0x239a,0x0035 as a board ID to adafruit.py but no joy yet - I suspect I will get this working in the morning as its getting later here now. Cheers.

inland tusk
#

@idle owl This was my first time using the app on my phone and I did not find the mute switch until almost the end of the meeting . Sorry that won't happen again.

hardy horizon
#

@tulip sleet I tell a lie - I can now save and load via MU but for some reason the Serial port won't open - I guess that's another issue.

marble hornet
#

So what's the difference between displayio and gfx? (Besides c vs python level? )

upbeat plover
#

How do I strip first 3 and last 2 of a return, if i don't know what characters they will be?

solar whale
#

@upbeat plover carriage return is b'\r' line feed is b'\n'

exotic pumice
#

@upbeat plover arr[3:-2]

#

I think

solar whale
#

@upbeat plover you can use str.strip(b'\r\n')

#

that is if x is a string x.strip(b'\r\n')

exotic pumice
#

sorry, it took me a bit to get there but I think it's right now

#

now optimized, I wasn't sure if that would work or wrap

upbeat plover
#

how do i do that for a text string

solar whale
#

@upbeat plover sorry -- misunderstood -- ignore my comments

exotic pumice
#

strings are just lists/arrays of characters

#

yourstring[3:-2]

#

afaik

#

or maybe they're not but they're indexed the same

upbeat plover
#

its working

#

i had it stripping characters before and it was stripping too much

exotic pumice
#

yeah, the strip function is kind of confusing, it strips every occurernce of the characters you pass it

upbeat plover
#

anyone have FRAM and want to test this? the storing of strings and read of strings, and some other stuff

#

I have an issue with FRAM when I have other I2C stuff connected, it cant find the FRAM is this normal?

#

When I have si7021 and FRAM connected, si7021 works find but FRAM is unable to connect.

tidal kiln
#

should work. how is everything wired together?

manic glacierBOT
upbeat plover
#

@tidal kiln its working now... idk what happen before

tidal kiln
#

the magical passage of time

#

if it happens again, respond back. something like that may happen for reasons©.

tawny creek
#

aaah! didn't realise today was the cp meeting 😄
be-lated hug reports to @meager fog @solar whale for help with ESP+M4 stuff, along with the refresh of the display related updates, i've been pulling out some displays and esp's to try out over the holidays. thank you! 😃
@umbral dagger for all the awesome M4 Neotrellis tutorials, I had fun playing the memory game! (great demo mode!!) and flappy bird, gaming on a neotrellis m4 = ❤
@tulip sleet ty for reviewing my pull request on the Tagalog translation! Hopefully can bring in some Pythonistas from the Philippines to help improve on the translation for next year :), also for being kind and patient during my times of need here on discord!
@tidal kiln for helping me out with the AS726x stuff and creating subclasses for the library 🙇🏼
@slender iron for SPI flash related support throughout 2018 😂 Congratulations and enjoy Iceland!!!
@pastel panther @exotic pumice @raven canopy @marble hornet @idle owl @opal elk @stuck elbow for helping me out in 2018, thank you!

  • general hug to everyone I may have forgotten
idle owl
#

@tawny creek Thanks for the belated hug reports!

exotic pumice
#

I got swd working on my metro m4 😃

#

Some tricky soldering to the pins holding the connector on later

#

and a bit of melted plastic

exotic pumice
#

now I just gotta get arm-none-eabi-gdb onto my pi somehow

#

or figure out why I can't access the port through my LAN

tidal kiln
#

did you solder on the metro side?

marble hornet
#

@tawny creek anytime

#

@idle owl what new responsibilities did I accept?

exotic pumice
#

@tidal kiln not sure what you mean exactly, I soldered on the top of the board, on the outside of the connector

tidal kiln
#

you can use ribbon cables

exotic pumice
#

I don't have a way to go from the 0.05" connector to 0.1" raspberry pi

#

I had an swd breakout but I broke it

#

reordered

tidal kiln
#

oh..ok...

#

yah that's the bit you'd need

exotic pumice
#

yup

tidal kiln
#

and rings a bell. we were talking about this already...

exotic pumice
#

I'm just impatient

tidal kiln
#

all good. just wanted to make sure you knew there were solderless options.

exotic pumice
#

yes, thanks

idle owl
#

@marble hornet None! It's simply for the purpose of being notified about important CircuitPython things. You're part of the CircuitPython community so you're a member.

marble hornet
#

😁😁

tidal kiln
#

@marble hornet actually, mild resp. in the future, you must help others climb the linting ladder, since you're a pro now.

marble hornet
#

Bwahahahah. Can't wait !

#

Although I'll need to learn about Sphinx thought

tidal kiln
#

hey. me too.

idle owl
#

Patience, young padawan.

marble hornet
#

I don't like sand

idle owl
#

Learning Sphinx comes from fighting with Sphinx failures. Eventually you have the same thing fail enough times that you remember what it takes to fix it.

marble hornet
#

cough cough classes?

idle owl
#

And then the next step after that is remembering to preempt the failures. Which takes even more time.

#

That's how it went for me 😄

tough flax
#

Hi all - hope you're having a great holiday season

manic glacierBOT
tough flax
#

I'm trying to finish up a guide (my first!) and am having serial problems w/Linux
@tulip sleet tried to help on this a while ago and neither of us found a solution.

I've got CP on a Trinket M0 connected to a rPi 3B+ via USB. I'm trying to send data via serial to the device.

It totally works when I connect via minicom - I can type the commands and it just works.
But I'd like to script this, so I'd like a way to send the commands from the command line.
I try

echo -ne "\n\nred\n\n" > /dev/ttyACM0

And the trinket stops like it received input, but never acts on it.

#

It's like it isn't returning from input()

#

So I've tried everything I can to send different line endings

#

I've played with hardware flow control.. I cannot figure this one out.

#

Any thoughts?

exotic pumice
tidal kiln
#

minicom running on pi also?

tough flax
#

Yes @tidal kiln (looking @exotic pumice )

exotic pumice
#

abstracts away the details of the protocol that are probably missing when you just echo to the device

tough flax
#

Ah - you're suggesting using python on the Pi as well?

exotic pumice
#

yeah

tough flax
#

it would require them to install pySerial module

#

might be a good fallback

#

hard to believe it's this hard to send a string to a TTY

#

Weirdly, the string "red", "green" IS sent to the Trinket... if I then connect via Minicom and hit enter it takes effect

tidal kiln
#

i wonder if you might need to do some stty on it to have echo work as expected

tough flax
#

Yes, that's what @tulip sleet and I were trying - here's the output of stty:

speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 5;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread clocal crtscts
ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt
-echoctl -echoke -flusho -extproc
#

stty is VERY old braincells

tidal kiln
#

yah, i'm no pro

exotic pumice
#

eol = <undef> that's interesting

tough flax
#

yes, and then there's eol2

exotic pumice
#

stty eol "\n" ?

#

just guessing

tough flax
#

echo 'green' > /dev/ttyACM0

cat < /dev/ttyACM0

reen

#

It didn't take the "\n" but did without the quotes (no difference)

tidal kiln
#

what's running on the Trinket? simple loopback?

tough flax
#

It checks for input on USB, then reads the line & processes it

#

So, this works...

 socat -t0 STDIO,raw,echo=0,escape=0x03 file:/dev/ttyACM0,b9600,cs8,parenb=0,cstopb=0,clocal=0,raw,echo=0,setlk,flock-ex-nb,nonblock=1
green
yellow
red
@wheel

I got it from this tips page (working my way through lots of notes) http://rdiez.shoutwiki.com/wiki/Serial_Port_Tips_for_Linux

Built-in serial ports tend to get the same device filename everytime, like /dev/ttyS0 for the first one, /dev/ttyS1 for the second one, and so on.

tidal kiln
#

well...let me fire up a trinket and a pi....you running 3.1.1 on the trinket?

tough flax
#

that will work

#

so will 4.0

#

it needs the bytes_available() method I added

tidal kiln
#

let me sync with whatever you're running

#

latest alpha?

tough flax
#

No, 3.x as of two weeks ago?

#

😃

#

It's not picky though - the input() code hasn't changed

tidal kiln
#

oh wait. there's a UF2 in the repo - so just use that? copy to TRINKETBOOT?

tough flax
#

yep

tidal kiln
ruby atlas
#

@meager fog I have the Huzzah32 (3591) but won't get much time to look till after 9pm. Any getting started pointers?

tough flax
#

I'll push my latest just in case

#

You've got the latest now

#

I didn't build a new UF2

ruby atlas
#

@tulip sleet yeah it's not working quite right. Some things work, but many do not and I get random crashes from time to time 😃

tidal kiln
#

that's alright, i can just grab from main.py

#

but looks like i need 4.x:

AttributeError: 'Runtime' object has no attribute 'serial_bytes_available'
tough flax
#

No, the latest 3.x has it too

tidal kiln
#
Adafruit CircuitPython 3.1.1 on 2018-11-02; Adafruit Trinket M0 with samd21e18
>>> 
soft reboot

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 90, in <module>
AttributeError: 'Runtime' object has no attribute 'serial_bytes_available'
solar whale
#

@ruby atlas what will you be connecting to the ESP32. I can post a file that you can flash to the ESP32 to install the AT firmware on its UART

ruby atlas
#

That'll be a good starting point 😃

solar whale
#

If you hav an m4 then the demos in the ESPATcontol will work with it

tough flax
#

@tidal kiln its in the 3.x branch - I wrote the back-port for it

#

Not sure what release it went into

ruby atlas
#

@solar whale multiple M4s. I'll grab the Metro M4.

tough flax
#

Looks like that release that @tulip sleet talks about at the bottom didn't happen

#

Honestly, for this test, you can just replace that line with if (true)

#

the wheel and blink won't work, but changing colors will

solar whale
tidal kiln
#

yep. looks like release didn't happen. latest 3.x is 3.1.1 on nov.2. that comment was nov. 4.

solar whale
#

@ruby atlas here is my flash command /usr/local/bin/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect factory_WROOM-32.bin

tough flax
#

Would you like a UF2 like mine?

tidal kiln
#

no biggie to just run 4.x

tough flax
#

This is a copy of my trinket for @tidal kiln for testing the serial issues with linux

tidal kiln
#

ok. got it. that loaded. yah. looks like you're working with a custom 4.x build.

Adafruit CircuitPython 4.0.0-alpha.2-36-g5360a4161-dirty on 2018-10-23; Adafruit Trinket M0 with samd21e18
>>>
solar whale
#

@ruby atlas -- you can use teh library from here (I htink it is in the latest bundle as well) and the demos in the examples should work -- see the demos code for the pins to wire up -- GPIO15 is critical for flow control - you need to connect RX,TX,VUSB,GND,GPIO15,RESET from the ESP32 to the metro M4 -- swap RX/TX - use the recommended or any other GPIO for the GPIO15,RESET

tough flax
#

Ok, but it doesn't need anything fancy except that command

tidal kiln
#

stty dump from linux box:

$ stty -F /dev/ttyACM0 -a
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc
ruby atlas
#

thanks @solar whale i've noted these for later.

solar whale
#

@ruby atlas - once you flash the ATfirware to the ESP32 -- you won't see anything useful on the USB port -- only via TX/RX.

#

good luck! ping me if you need anything

ruby atlas
#

As one would expect 😃

tough flax
#

@tidal kiln that's converting CR to NL and is echoing

#

does it work?

tidal kiln
#

not yet. figured i just try here before moving to pi.

tough flax
#

make sure modemmanger isn't installed

#

it makes things awful

tidal kiln
#

oh man. i hope i purged that long ago.

manic glacierBOT
#
[adafruit/circuitpython] New branch created: header\-logo
ruby atlas
#

> Don't forget you will also need to install the SiLabs CP2104 Driver

#

Or I can just use a Linux VM because last time I installed that I had more system instability.

#

@solar whale you don't have to provide an address to esptool.py?
esptool write_flash: error: argument <address> <filename>: Address "/media/psf/Home/Downloads/factory_WROOM-32.bin" must be a number

#

(trying 0x00000)

#

and back later!

tidal kiln
#

@tough flax trying minicom to sanity check. does this match your settings?

#

nvm. it worked.

tough flax
#

I turned off hardware flow control, but yes

#

Very frustrated

tidal kiln
#

i'm repeating same thing on an ubuntu pc, so it's something linuxy

#

not rpi-y

tough flax
#

It might be CP-y

#

Like maybe CP needs the USB to be read to return from input()?

tidal kiln
#

minicom's working though

tough flax
#

But minicom's reading

tidal kiln
#

ah. ok. and echo isn't.

tough flax
#

Right

tidal kiln
#

that's why you cat'd....hmmm

tough flax
#

But cat doesn't seem to clear it either 😕

#

socat and minicom do

marble hornet
#

i have a github question :

#

so there is a pr and it says that there is still a request for a change but it was fixed some days ago

#

the one by scott

idle owl
#

It remains until the author of the change request marks it as approved. In any case, whoever does the final review can approve it even if the author of the change request does not approve it. So it won't be a blocking issue if someone else has time to review it.

marble hornet
#

ah, the wonders of github i see. it's like a summary?

idle owl
#

Yes

#

If someone approves, it'll show partially green on that circle, if another change request is still active.

tidal kiln
#

@tough flax or echo "\n" isn't really the newline input needs to see to return

tough flax
#

I tried \x0a as well

idle owl
#

@marble hornet I added the CircuitPython Librarians team to the repo so anyone on that team can review it now. And I requested a review from both the team and Ladyada. So it should be on our radar now.

marble hornet
#

😀 🙇 thank you sensei

tough flax
#

I've gotta eat dinner - thanks @tidal kiln for looking at this. I'm very frustrated 😕 Maybe later.

marble hornet
#

enjoy @tough flax

tidal kiln
#

@tough flax ok. no worries. it is odd. but should be able to figure it out. since it's just software. what's minicom doing that CLI isn't? etc....

tough flax
#

Yeah... problem is it's arcane 1975 knowledge that we'd need someone who wrote the original "more" command to help with 😉

tidal kiln
#

indeed

tough flax
#

(yes, that was a hat-tip to @tulip sleet but I couldn't figure out a way to sneak his ID into it 😃

marble hornet
#

now an okay time to throw up my hw designs?

idle owl
#

Anytime is fine. But I don't know who will be around when to take a look. It's not a skill I possess so I will be of no help on this one.

tidal kiln
#

mmmmm...castellated

marble hornet
#

excited or skeptical ?

tidal kiln
#

excited. that's cool.

marble hornet
#

it's a metro m4 in less than an inch square !

#

sans power supply

#

🤞 i'll have them up on tindie sooner than later

#

i;'m concerned about the u1. it's a microchip sram chip but it's on the same lines as the display spi with a different cs

manic glacierBOT
marble hornet
#

.2 mm data traces and .3mm power traces. does that sound safe?

ruby lake
#

not a fan of sub-1mm power tracing 😉

#

but for this it should work fine

marble hornet
#

if it is just driving the m4 itself

#

do you know , in the future, how i can figure out how much current a trace can carry

#

and would a schematic be helpful? thank you for that advice

#

here is the photos with the ground plane rendered

ruby lake
#

it will show things like temperature derating

solar whale
#

@ruby atlas correct -- should have been /usr/local/bin/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0 factory_WROOM-32.bin

#

zeros don't count 😉

tough flax
#

Hey @tidal kiln I was thinking - it's possible that we're getting TOO MANY NL/CRs... it might be stuck on the NEXT loop - I can't test from here, but I thought I'd share

tidal kiln
#

hmm. maybe. i was think it might help to add some LED 13 on/offs in there to help determine where it's locking up

tough flax
#

I can't debug from here tonight, but I'll look again later or in the morning

tidal kiln
#

sure thing...was just something i was thinking...

tough flax
#

Not a bad thought

tulip sleet
#

@tidal kiln @tough flax I was afk for a few hours, but if there's something I can help with, let me know. I'm not sure what the issue is looking at the posts above

ruby atlas
#

@tulip sleet don't know if you saw my note - subclassing only sort of works.

exotic pumice
#

it's starting to look like the at91samd package for openocd doesn't support samd51

tulip sleet
#

@ruby atlas no, just got back here

tough flax
#

@tulip sleet same one as before... minicom/socat both control the trinket M0 via serial just fine on linux (rPi or not). echo "red" > /dev/ttyACM0 doesn't

ruby atlas
#

I'm tempted to do some debugging to figure out if I can avoid crashing and wrong behaviour. Otherwise I need to come up with clever ways to avoid having to hit python during [] operations.

tough flax
#

something weird with the stty or the like

tulip sleet
#

@exotic pumice yes, it's flaky enough with samd21

#

i tried a bunch of different stty settings but didn't figure it out. are you expecting \n \r\n or just \r ?

exotic pumice
#

@tulip sleet 😢

tough flax
#

It should work with either

exotic pumice
#

is there a suitable alternative package for openocd you know of?

tough flax
#

I was thinking it might be getting more, not less (I've been focused on getting less)

tulip sleet
#

@exotic pumice what do you want to do iwth openocd, debugging, flashing, or something else?

#

@tough flax can you write some kind of test program to record what it's really getting?

exotic pumice
#

debugging

#

when I said alternative, I meant alternative to the at91samd package, not to openocd

#

I like openocd and I just got it working

tough flax
#

I can, but not at this second - I don't have a power brick that can power my pi here

#

USB from my laptop is insufficient for the rPi3 B_

#

B+

ruby atlas
#

@tough flax I love my multiport Anker adapters.

exotic pumice
tulip sleet
exotic pumice
#

so I probably have to recompile openocd eh?

manic glacierBOT
#
[adafruit/circuitpython] branch deleted: header\-logo
tulip sleet
#

@exotic pumice I guess, and there are multiple parts to that patch. I just found it referenced elsewhere and followed a trail

exotic pumice
#

it has directions to install

#

unfortunately I'm having difficulty getting my pi cross compiler going so all of this is gonna have to compile on the super weak processor

#

and I'm using a new version of gcc so everything errors

#

fun times

exotic pumice
#

shoot now I'm not getting a gdb server again

solar whale
#

@meager fog I found a fix for the ESP8266 AT firware load after erasing the cip

#

two extra files are needed ```/usr/local/bin/esptool.py -c esp8266 -p /dev/ttyUSB0 write_flash 0 AT_firmware_1.6.2.0.bin 0x3fc000 esp_init_data_default_v05.bin 0x3fe000 blank.bin

#

the blank is probably not needed but I thin the esp_init_data_default is -- it is loaded as part of a Circuitpyhton build -- that is why the AT load works after a CP load

meager fog
#

@solar whale oh yay thank you!

#

wanna make a new bin?

#

i was working on ssd1306 stuff

ruby atlas
#
ESP AT GET URL http://wifitest.adafruit.com/testwifi/index.html
Resetting ESP module
Checking connection...
Connecting...
Connected to None
My IP Address: 10.1.67.16
Retrieving URL...OK
----------------------------------------
This is a test of the CC3000 module!
If you can read this, its working :)
----------------------------------------```
#

yay

solar whale
#

since the missing file has to g at 0x3fc000 -- does the /bin have to be that big? or do we have to do it in pieces.

meager fog
#

@ruby atlas wow look at u!

#

nice 😃

#

is that with an ESP8266 or 32?

ruby atlas
#

I'm gonna need a lot more and M4 boards. I have a bunch of old things around the house to replace with CircuitPython stuff.

#

HUZZAH32

meager fog
#

oh yeha that works well

ruby atlas
#

Yeah, because it's adafruit hardware :-)!

meager fog
#

cool - cool - what sorta things?

#

well, mostly cause the ESP32 has lots o memory 😃

ruby atlas
#

well, yeah, but adafruit boards aren't crap.

#

Currently - two humidity probes, a plant moisture probe, external temperature/pressure probe, garage temperature probes (so we know when to bring in the pop in winter), and an automatic humidifier controller that looks at the 24h forecast to set the target point.

meager fog
ruby atlas
#

All of the above use my local mosquitto server to communicate with each other and/or homeassistant.

meager fog
#

hmm homeassitant is rest or mqtt?

solar whale
#

@meager fog you can do it in just 2 pieces -- the first AT_firmware_1.6.2.0.bin ad normal then a very small /usr/local/bin/esptool.py -c esp8266 -p /dev/ttyUSB0 write_flash 0x3fc000 esp_init_data_default_v05.bin

meager fog
#

@solar whale i'd prefer one big file tho

#

just easier to manage

ruby atlas
#

@meager fog yes (both)

#

HomeAssistant is tons of things and is in python and is easy to extend.

solar whale
#

OK -- just for USB load -- for minesptool will need pieces.

meager fog
#

@solar whale ooh yeah cuz its too big

#

ok lets do 2 then

solar whale
#

yup

meager fog
#

well, we got rest going

ruby atlas
#

I used to hackathon with them at PyCon but CircuitPython caught my attention in 2018 😃

solar whale
#

ok so we can jsut add the second step.

meager fog
#

homeassistant @ pycon?

#

i may have a Favor to ask of you, if you run it on a Pi

ruby atlas
#

I moved my Homeassistant to a VM, but it runs very nicely on Pi 3 B+.

#

They presented in the past, but many contributors attend PyCon too.

#

Speaking of PyCon I need to book my flights before the prices start going up.

#

@meager fog what do you want me to muck around with tomorrow if I get time, now that I have the hardware setup?

meager fog
#

oh so homeassistant uses the old Python/mmio version of our DHT library

#

and id like to move em to circuitpython

#

BUT its not ready yet!

ruby atlas
#

That'll be easy. They're also on Discord 😃

meager fog
#

i need to test on some Pi 1's to make sure it works there

#

its not as fast, we use libgpiod

ruby atlas
#

Hmm, Pi 1. I have one somewhere.

meager fog
#

but i cant maintain a mmio DHT lib

#

well, i gotta test that part not you 😃

ruby atlas
#

Heh.

meager fog
#

i need help updating their code

#

its some module somewhere, but not sure where. all i know is they come into the github issues 😃

ruby atlas
#

That'll be easy. They're really good about merging PRs.

#

An move super fast.

#

And I'm sure I can help with the PR and ping the project's benevolent dictator.

meager fog
#

yay ok ill ping you when its all ready. we're almost done, probably last PR tomorrow to platformdetect

#

then we'll do the switcheroo

#

and i can 'kill' that old repo

#

its ghastly in there

#

ruby atlas
#

Haha. Their users don't move as fast as their developers.

meager fog
#

as long as eventually they all use circuitpython

#

also now they can add other cool sensors, like BMPs, or air quality sensors

solar whale
#

@meager fog I'll update the co-processor guide tomorrow and create a pr to add the second piece to the miniesptool_esp8266program .py example

meager fog
#

thanks!

ruby atlas
#

Speaking of users, I haven't updated my Homeasisstant in forever. I need to look at new tablets for the home automation controllers as the ancient ones are stuck on android 4.4.

meager fog
#

i have to get energy to work on the socket stuff

#

@solar whale btw @gentle bronze is working on the OLED/i2c thing now

#

should not be a big challenge to fix

ruby atlas
#

i've been recharging my energy by not working on billable stuff for clients. i need to fire one or two more in 2019.

solar whale
#

@ruby atlas congatulations o getting the ESP32 AT up and running -- have fun!

meager fog
#

yah that was fast

ruby atlas
#

It was stupid easy with your pinout notes.

meager fog
#

which is good, makes me feel confident-er about the code

ruby atlas
#

And the fact that I can read code.

#

Way easier than the Pixelbuf I'm doing 😃

#

And easier than the changes to the FFT example even 😃

meager fog
#

loll

solar whale
#

good night all 💤

meager fog
#

l8r jerry!

ruby atlas
#

I ❤ the FFT stuff. It lets me know when a song sounds good only because it's mixed loudly.

meager fog
#

😄

ruby atlas
#

Also was fun to watch the Weekly meeting audio to see who'se voices landed in what frequency bands.

#

(i have a mixer on my desk with a USB interface, 2 more audio interfaces, and a DAC on my system's optical out, it may be overkill)

ruby lake
#

ugh, forced to use a single monitor

mint remnant
#

@meager fog
I have a question about sensors generic in circuitpython.

When i read DHT i think more of a low quality sensor. That's about i had worked now 32 years in industrial and building automation. So we/i use sensors which are from a hihger quality, like BOSCH or VEML sensors. You have some of them in the Adafruit shop when i remember that right

So will these sensors and others also ported to circuitpython or there are sensors which are alraedy ported to circuitpython?

I don't use circuitpython, in my way i use ansi-c, C sharp and C++. I ask because a friend of mine will do some tests in circuitpython and he is sensor guru too ;-).

meager fog
#

hi all our sensors are ported to python/circuitpython

#

Bosch, Si7021, SHT3x are all good quality sensors

mint remnant
#

Thank You @meager fog . I will take a deep look in that to find the right drivers.

->Bosch, Si7021, SHT3x are all good quality sensors

#

oops moment please

#

Thats right so far the PCB layouts are done in good way. There are breakout boards out there with temperature issues because the regulator is, as an example, to short placed to the sensor, or the regulator is too small and many other things can happen while development.

So far i have seen has Adafruit done a very good job to have an eye on that specific issue. Hold up that good work.

exotic pumice
#

gdb so drunk

(gdb) break clock51.rs:241
Breakpoint 1 at 0x43de: file /home/paul/rust/atsamd/hal/src/clock51.rs, line 483.
(gdb)
#

now it's doing this

Warning:
Cannot insert breakpoint 1.
Cannot access memory at address 0x6686

I think because the openocd.cfg has gdb_memory_map disable in it

exotic pumice
#

breakpoints aren't working at all

#

😦

manic glacierBOT
manic glacierBOT
manic glacierBOT
#

TWIM0_EASYDMA_MAXCNT_SIZE=16 is bit size, which means each xfer can be up to 65K bytes.
Issue is caused since it is mistaken as 16 bytes. Which auto break the framebuf data into sub transaction
1 frame data (513 bytes) = Control byte (0x40) + 512 bytes (pixel)

That confuse SSD1306 data parser since data is split in odd position due to control byte.

We won't probably write more than 65KB at a time, so it is safe for 840.
Note for 832: the max size is 255 bytes, SSD lib should ...

manic glacierBOT
#

@hathach FYI - you ddn't need to enable MICRO_PY_FRAMEBUF in the build, but if it i not there, then you do need to install the library adafruit_framebuf and the latest adafruit_ssd1306 library. Both are in the latest "Bundle" https://github.com/adafruit/Adafruit_CircuitPython_Bundle/releases or in their individual repos: https://github.com/adafruit/Adafruit_CircuitPython_framebuf https://github.com/adafruit/Adafruit_CircuitPython_SSD1306

manic glacierBOT
manic glacierBOT
solar whale
#

@meager fog is there a problem with travis -- submitted PR for miniesptool, but travis is just "queued"

#

nevermind - travis is happy now -- that is all that matters 😉

solar whale
#

@meager fog is the image support in framebuf/ssd1306 only for linux? looking for module PIL

lime trellis
#

@solar whale @meager fog got around to trying miniesptool with my custom SAMD51/ESP32 board. It worked great after only some minor adjustments! I'll submit a PR after some validation.

#

thanks for all your hard work on that. It made things much easier!

solar whale
#

You are welcome -- glad to hear you have it up and running.

#

look forward to hearing more about your implementation

manic glacierBOT
lime trellis
solar whale
#

@lime trellis so you are running micropython on the ESP32 -- not just the AT Firmware. Nice,

lime trellis
#

yep! circuitpython on the SAMD51 and micropython on the ESP32

solar whale
#

interesting -- I may have to try that on the particle_argon. I had not even thought about that.

lime trellis
#

I'm now working on the low-level C necessary for a camera module in CP. I'm wanting to have an OVM9724 attachment board:

#

Let me know if you run into any snags! Hadn't seen the particle argon before, but it's similar to my "SAM32" board linked above.

solar whale
#

Thanks -- lots of new possibilities

lime trellis
#

@solar whale I'm about ready to rev the SAM32 to add some CPX-inspired features. let me know if you're interested and I could send a couple boards your way.

solar whale
#

@lime trellis I always like checking out new boards -- I'll be happy to be a tester.

lime trellis
#

awesome! I'll reach out when I have a few assembled

solar whale
#

Thanks!

lime trellis
#

ping me if you (or anyone you know) would be interested in helping with the camera work. Should be a VERY unique capability for CP!

solar whale
#

I'm not sure how much I can help - but would be happy to try. Do you have more information about how it is going to work and what is needed in terms of new SW?

meager fog
#

@lime trellis hihi you're looking to use the PCC?

#

just came by

lime trellis
meager fog
#

we've got some code for the PCC

lime trellis
#

@meager fog yep that's the plan

meager fog
#

its in arduinoese - should be portable 😃

lime trellis
#

😮 oh boy!

meager fog
#

lucky you 😉

#

lemme find it

lime trellis
#

ah! once again your timing is perfect

meager fog
#

you can ignore the ili9341/spi stuff

#

you need one i2c device for config, and then of course the PCC

#

warning you need to buffer the full image

#

so pick a camera with a low res output

#

320x240 x 2bytecolor = 150KB

#

@solar whale just loggin' in now

lime trellis
#

Wow buffering the whole thing?

meager fog
#

you had a framebuf q?

#

@lime trellis unless you have a FIFO camera, yes

solar whale
#

@meager fog I was trying the image stuff but is it only for Linux?

meager fog
#

the pil stuff? yes

#

its for linux/desktop use only

#

thats tested tho, if you wanna try it on our nrf52840

#

you can test the i2c fix and the examples that are not linuxy

solar whale
#

I 've been testing them on the particle_argon -- ssd1306_framebuftest works fine now

lime trellis
#

hmmm I'll have to dig a bit more. I wanted to use the direct-memory access and just shuttle the image off as it came in.

Thank you for the link to get started!!

solar whale
#

@lime trellis good luck!

#

the i2c fix for the nrf52840 looks good

lime trellis
#

👍 I'll let you know how it goes

solar whale
#

@meager fog on the argon I get a brief flash of random pixels at start, but then the demo runs fine.

meager fog
#

@solar whale thats not surprisng

#

when you turn it on, there may be RAM still

#

@lime trellis cool! yeah we sorta recommend the OV7670 i think thats the demo, its very common

marble hornet
#

@lime trellis looks like cool stuff!

meager fog
#

each camera is a little different

#
#

ill do a re-release

solar whale
#

ok -- will do

meager fog
#

thanks 😃

#

want me to release miniesp?

ruby atlas
#

what's miniesp?

#

google's not helping me find it 😃

solar whale
#

@meager fog sure -- go ahead with miniesp - I'll update the guide this afternoon

meager fog
#

roy, the updater code

ruby atlas
#

google's not helpful: "Did you mean: minidsp" 😃

solar whale
#

@meager fog is there anything I can do to test image on the nrf52840?

#

I can try them on a Raspberry Pi

#

or do you just want me to look over the code and approve?

manic glacierBOT
meager fog
#

@solar whale nah, @prime flower has done the linux-side testing

#

@umbral dagger hey given that ssd1306 is working again, wanna re-try your feather project with the oled?

solar whale
#

ok -- looks good to me and it doesn't break anything!

meager fog
#

cool - re-released minitool

solar whale
#

approved framebuf and ssd1306

meager fog
#

thanks, brent will take a look too

solar whale
#

Great!

meager fog
#

there's lots of speedups we can do in ssd1306

#

but we can do them later

umbral dagger
#

@meager fog Will do

solar whale
#

off to do errands -- back later

manic glacierBOT
#
[adafruit/circuitpython] New branch created: license\-badge
lime trellis
#

has anyone written CP code to mount an SD card alongside the SAMD flash?

manic glacierBOT
#
[adafruit/circuitpython] New branch created: add\-image\-badge
tawny creek
#

@lime trellis sounds new to me. you mean when you plug in the board, it mounts along whatever CP mounts as CIRCUITPY? (built in or spi flash)

#

@lime trellis also cool project! was thinking of using an esp32 beyond just wifi stuff,, seems powerful enough

lime trellis
#

@tawny creek yeah that's what I was imagining. I could have swore I saw something like that... maybe it was mircopython?

tawny creek
#

@lime trellis first i heard of this, cool idea!

lime trellis
#

yeah I may end up writing one for CP since I'm always going back and forth for a datalogging project. I'll post if I do

meager fog
#

@lime trellis we dont (yet) expose the SD as a separate MSD device

#

its not entierly unpurposeful, because you can't write to it if so

#

and most people i think would want to

lime trellis
#

@meager fog yes, understood. I just find it helpful for accessing data files or loading .mpy files

meager fog
#

may be something we add after tinyusb is all sorted - since we'll have more flex

#

why is mpy on SD not SPI flash?

#

SPI flash is fsater 😃

lime trellis
#

very true! but the adalogger boards don't have SPI flash 😃

meager fog
#

ooh

#

true true - ok thats a bit of a hack there 😄

lime trellis
#

yep 😃 the students using this datalogging setup haven't complained, but I'm now supplying sd card readers in order for them to easily get their data.

meager fog
#

that works!

exotic pumice
#

So has anyone used openocd on metro m4 before or do y'all just use jlink?

idle owl
#

Most of us use JLink

exotic pumice
#

I might have to invest in one of those then

idle owl
#

There's the JLink EDU Mini that's super affordable as long as you're using it for personal purposes.

exotic pumice
#

Yeah

hazy gust
#

@exotic pumice I read about openocd after you talked about it yesterday, interesting rabbit hole to go down 😃

exotic pumice
#

@earnest turtle 😎

#

Cool, glad I could be of interest lol

#

Yeah I can't figure out why the breakpoints don't work

#

I shouldn't need the reset line for that should I? I read that you only need it sometimes and I wasn't sure what the "sometimes" fully entailed

#

I think it's more likely due to the fact that samd51 is barely supported at all. I've used breakpoints before on stm32 with no reset line.

solar whale
hazy gust
#

feather OLED sold out :/

solar whale
hazy gust
#

yep, cool for sure

solar whale
#

@meager fog a guide "style" question - -- for something like miniesptool do you prefer to instruct the user to do it via "code.py" and never use the REPL . I alway use the REPL to just import miniesptool_esp8266program but It looks liek you tend to avoid the REPL in the guide. I guess that avoids explaing how to use the REPL - but it is a little scary having the miniesptool execute from code.py 😬 :

#

I'm assuming somone doing this know how to use the REPL

tawny creek
#

just a curiosity, would it be possible to run say the AT firmware on a single core on the esp32 and then have the other core run seesaw? @solar whale @meager fog

solar whale
#

"possible" is a pretty open term 😉 Actually, I have no idea -- would have to do some research.

tawny creek
#

not sure how much the esp needs both cores to do the wifi stuff / bluetooth

idle owl
#

@solar whale Most guides use the REPL and then include example code at the end

#

Could be different for that guide.

solar whale
#

under "Program Directly"

idle owl
#

Ladyada is AFK, so if you're unsure you can wait, but I'd say use your best judgement, and if it makes sense to run it from the REPL instead, explain that. You can link to the Welcome to CircuitPython guide REPL pages instead of explaining it

solar whale
#

np -- no rush on this. I make a stab at it and it can easily be updated.

idle owl
#

That's what we do in every library/sensor guide. There's using the REPL in Mu and "Advanced Usage" on that page, you could link to all of them if you wanted to.

#

True!

solar whale
#

Thanks!

ruby atlas
#

I don't suppose anyone can think of a circuitpython builtin API that takes an optional callable (callback) that the C code might invoke? (I'm searching the source for examples still).

ruby lake
#

Hm, I need to track down this m4 dac noise, might be a chip problem

tulip sleet
#

@ruby atlas I don't think there's such an example, at least in CircuitPython. There are interrupt handlers in MicroPython.

ruby atlas
#

@tulip sleet yeah, that's what I found, plus the Timer stuff.

#

Will look at both.

#

looks like the code in timer.c should help me at leas test this.

#

(ports/stm32/timer.c)

manic glacierBOT
lone sandalBOT
manic glacierBOT
#

In mpconfig.h, use #define's to enable or disable each native module. These can then be enabled/disabled by port or board, instead of the hodgepodge of #define's that we have now (e.g. PIRKEY_M0, etc.).

For example, create CIRCUITPY_BUSIO, CIRCUITPY_ANALOGIO, etc.

Once this has been done, we can also refactor all the xxx_reset() operations so they are done at the module level. So for instance in port.c or even main.c we can do

#if CIRCUITPY_BUSIO
    busio_rese...
ruby atlas
#

@tulip sleet can you think of any reason I might need to use either gc_lock or mp_sched_lock (on those platforms where mp_sched_lock is needed).

#

mp_call_function_1 turned out to be the answer 😃

tulip sleet
#

I have never used it

ruby atlas
#

I think locking GC and/or the scheduler only matters for interrupt driven callbacks like the timer.

#

This is directly triggered by python code calling a c module that calls a python callback.

tulip sleet
#

so you're calling from the native C code to subclass Python code. Or is a callback?

#

got it

ruby atlas
#

the subclass approach... broken in too many ways currently.

tulip sleet
#

yes, native classes aren't really meant to be subclassed, I think. I should look that up more thoroughly

ruby atlas
#

It doesn't seem like it would be hard to make possible.

#

So the plan is now to have a little bit more code in C that the neopixel and dotstar classes use to return a pixelbuf object that's configured appropriately.

#

I'm thinking of adding some magic to allow passing neopixel_write object in directly with appropriate extra args so that it can bypass executing a python function to get back to neopixel_write.

ruby atlas
#

dotstar_write is usually just _spi.write(buf)

#

but might be a python helper

tulip sleet
#

that could still be called directly from C

#

i mean without going through Python code

ruby atlas
#

Yes.

#

I was thinking this might be the initializer for a Neopixel buffer: pb = pixelbuf.PixelBuf(32, buf, byteorder=pixelbuf.GRB, bpp=3, rawbuf=rawbuf, write_function=neopixel_write, write_function_args=(pin,), write_data=pixelbuf.WRITE_BYTES)

#

A dotstar one might then be:

#

The current behaviour is to pass the write function the pixelbuf object.

#

hence the flag to change the mode.

tulip sleet
#

I'm still curious about why the subclassing approach is working better than having a PixelBuf as an attribute of NeoPixel or DotStar.

#

you said it was less code

ruby atlas
#

Performance of index operations is why I tried in the first place.

#

I don't want to have to go through python intermediaries to do pixel assignment.

tulip sleet
#

ah, I see, so those are done direclty in C. Yes, it makes sense that's the main speedup. I've always found indexing slow in Python, even on "regular" computers

ruby atlas
#

yeah, for example, with pb[0:32] = [(32, n, n) for n in range(32)] it uses the C code to make it much faster.

#

I wonder if I can expose setitem etc in the C class and then assign those to properties on a Neopixel/Dotstar composed object and have the same performance gain.

#

In theory that should work, I should try that.

#

I guess I'll need to benchmark 😃

#

Oh hmmm, subscr is both setitem and getitem.

#

However, if I split it up and expose the appropriate parts in STATIC const mp_rom_map_elem_t pixelbuf_pixelbuf_locals_dict_table it should be possible to do something like:

    __setitem__ = pixelbuf.Pixelbuf.__setitem__

(Assuming I don't need to rename it).

tulip sleet
#

Sounds promising! There are gotcha shortcuts as you found in the low-level stuff. I don't have a lot of advice to offer here because you're doing things we generally haven't had to do yet.

ruby atlas
#

I guess yay? 😃

#

I'm really tempted to also hardcode wheel() into pixelbuf 😃

tulip sleet
#

Yay yes. I would also say not to over-generalize the code if there's not a real use case other than neopixels and dotstars. If those need to be hardcoded I'm not sure that's so terrible in order to get performance.

#

Also the brightness != 1.0 case

ruby atlas
#

Brightness != 1.0 is the main use case of this code.

tulip sleet
#

got ti

ruby atlas
#

And why I started in the first place.

#

My tests are all using 0.3

#

I should check if 1.0 is the same speed.

#

yep

#

and my eyes!

#

they have spots.

tulip sleet
#

i do a lot of nepixel testing with them facing upside down 😃

ruby atlas
#

i need to 3d print more covers.

#

white plastic, 1mm thick

#

the dotstars featherwing should be known as the supernova featherwing.

tulip sleet
#

could you just use opaque white sheet acrylic?

ruby atlas
#

i could, but that means finding acrylic.

#

3d printing means 5 minutes of openscad

#

and ~10 min of print time

#

going to a store that might have acrylic would be longer.

tulip sleet
#

i still don't have a 3d printer - I'm into subtractive technology 😃 drilling holes in things, sawing, etc.

ruby atlas
#

ha. subtractive is just as awesome.

#

holes!

#

sawing!

#

and things like glowforge

tulip sleet
#

i don't have room for a proper workbench for that stuff. sorry to fade off, it's late and I got to a good stopping point with BLE for tonight

#

looking forward to your end results! good night!

ruby atlas
#

good night! i'm also stopping for the night now that I made it "go" and have real thoughts on how to move ahead.

tulip sleet
#

it's always good to stop when something works instead of not. don't try the next thing

ruby atlas
#

Exactly!

raven canopy
#

Coming in at the end, of course. @tulip sleet, check out Paul Sellers "newest" version of his workbench. Can be made quite small (like 24"x18ish) and still function well.

#

he mentions as he's on year 2 of building one. all-hand-tool construction takes time and even more motivation 😆

cunning trail
obsidian dome
#

Has anyone built circuitpython from scratch? I was contemplating the feasibility of building a load for the Trinket M0 that included audio support.

tulip sleet
#

we have a learn guide for that. But you'd need to remove other things to make room

obsidian dome
#

Thanks! I'd be happy to remove stuff I'm not using. Where is the learn guide?