#circuitpython-dev

1 messages Β· Page 155 of 1

marble hornet
#

buenas noches

#

o

#

buenas dias

raven canopy
#

who is going to teach us? and context is quite important in german...

#

i understand more than i speak...which, sounds like more than it really is. πŸ˜„

#

ok..now i'm leaving. reaches for sleep buu

weary patrol
#

hi guys, I'm new in circuit python. I tried run sample program HID Keyboard and had an error:
File "main.py", line 4 in <module>
ImportError: no module named 'touchio'
I don't have this library because in bundle it's not exist. Any ideas?

manic glacierBOT
weary patrol
#

I used 3.0.0 version python and lib

weary patrol
#

solved I install older library πŸ˜ƒ

manic glacierBOT
stuck elbow
solar whale
#

@pastel panther @raven canopy @marble hornet Nice work last night getting the build system working on MacOS -- Just capture the log and we have a new tutorial πŸ˜‰ Sorry I missed the fun. When I do use my MacOS system (usually use Linux), I also prefer the native install over the VM. It is a bit daunting to set up especiall if you have never used brew, but worth the effort. Nice to have a new member of the club!

marble hornet
#

thanks @solar whale , glad to join the club. irreparably hooked. I already have some more questions and things to try! I would like to thank @solar whale, @pastel panther, and @raven canopy again.

raven canopy
#

@solar whale We got through it, eventually. We could definitely spruce up the firmware build guides, but that's most likely a back-burner kind of thing.

#

How's your weather? Power lines intact?

solar whale
#

So far - only a few inches so far and not much wind so the trees are staying up.. Fingers crossed.

marble hornet
marble hornet
#

i was browsing the cir-py repo and I think I found an inconsistency in a comment. it is located in circuitpython/ports/atmel-samd/external_flash/devices.h the comment of line 172 says that the W25Q32BV is a 2MB flash chip but the datasheet says it is 4MB

manic glacierBOT
manic glacierBOT
slender iron
#

@weary patrol we haven't added touchio support to 3.0.0 yet

#

@marble hornet please ask questions as you have them! Yeah, its a typo. Feel free to practice your PR skills by submitting a fix

#

the python2 thing is because mac/brew changed the naming recently

#

python2 doesn't exist for me now either. its called python2.7 now

#

@stuck elbow that universal case is nearly the size of a trellis (which is 60 mm square) and what I was gonna target for the synth stuff

stuck elbow
#

case?

slender iron
stuck elbow
#

Aah, that's a separate project of the same person.

#

That guy has some very cool projects, by the way, including a lot of SAMD stuff.

slender iron
#

πŸ˜ƒ need to get all of the samd21 folks into circuitpython

#

I just reached out to some folks wanting to get rust going on it

stuck elbow
#

yeah, rust has an embedded working group now

slender iron
stuck elbow
#

I still have the stm32 rust article in my bookmarks, have to try it one day

#

but if they really get avr and samd support in there, then I will need to seriously learn rust

slender iron
#

totally

#

I'd love to use it in circuitpython

marble hornet
#

where can you find the "report" button on git

stuck elbow
#

@marble hornet not sure what you mean? git is a command-line tool, it has no buttons, but there is a "log" command if you want to see the report of las commits?

#

@marble hornet what are you trying to do?

marble hornet
#

sorry github, i'm trying to report an error in adafruit/circuitpython

stuck elbow
#

@marble hornet the "issues" tab

marble hornet
#

thanks

stuck elbow
#

if it's a typo or something else you can fix, you can also just hit "edit", fix it, and submit a pull request

manic glacierBOT
stuck elbow
#

I think that is actually my fault

marble hornet
#

@slender iron do you know anything about adding support for other flash modules? i have found a module with 16MB and i want to try using it, for kicks and datalogging.

slender iron
#

yup!

marble hornet
#

it is made by winbond

slender iron
#

you found the right file for it!

marble hornet
#

reaally, could you give me some advice?

slender iron
#

add a define for it and then list it in the board list

marble hornet
#

give me a minute please...

#

should .capacity = 0x18, ????

slender iron
#

check the datasheet

#

its the third byte in the response to 0x9f

marble hornet
#

checking...

#

hmmm i'm new to flash modules i looked for "10011111" and "9g" but i'm find finding any responses. that i can comprehend. suggestions?

slender iron
#

got a link to the datasheet?

#

usually there is a commands section that includes it

marble hornet
#

what should be looked for ? a table of commands?

stuck elbow
#

page 25

marble hornet
#

JEDEC ID?

slender iron
#

page 24 has the device id and instruction set

marble hornet
#

ah 17!!

slender iron
#

the first byte will be manufacturer 0xef

#

and the next two will be 0x70 and 0x18

#

(the second column with the 9Fh)

stuck elbow
#

seems like my pdf viewer counts the pages differently

slender iron
#

I go by the page numbers in the doc

marble hornet
#

do you put mf7-mf0 together ? to get 70?

slender iron
#

look one page earlier

#

table 8.1.1

marble hornet
#

okay, i see winbond ID and 7018h as the type then capacity, is that correct?

#

b/c 7018 is the response,? why is it separated in devices.h?

slender iron
#

yup

#

different flashes talk about it differently

manic glacierBOT
slender iron
#

@tulip sleet is there anything else you need from ASF? I don't think we should update it anymore on the 3.x branch

tulip sleet
#

@slender iron no - all set. Was that a bug or a change in their API functionality?

slender iron
#

I think it might have been there all along

#

and the timing just changed a bit with the update

#

going forward I'd rather not have it as a variable until 4.0

tulip sleet
#

I agree. And the more we step away from ASF4 the better

slender iron
#

something is still a bit fishy to me so we'll need to keep an eye on the mass storage stuff

tulip sleet
#

i am working on the python usb descriptor stuff. One diff from 2.x is that the wMaxPacketSize for the CDC ACM part was 8 instead of 64 bytes. Not sure if that made any difference. I think maybe it was a typo.

#

line 64 in gen_usb_descriptor.py

slender iron
#

I believe I was comparing against the asf4 descriptors

#

so maybe thats where I got 8

tulip sleet
#

I will look and make sure there's not only an 8-byte buffer for that somewhere; else looks very similar to 2.x.

slender iron
#

k cool

slender iron
#

😦 LTO breaks pulseio

tulip sleet
#

mebbe

#

@slender iron does it just crash? maybe similar to issues I ran into with compilation

slender iron
#

nope, it just doesn't turn the pwm on

tulip sleet
#

@slender iron an unrelated q:

    standard.InterfaceDescriptor(
        bInterfaceClass=cdc.CDC_CLASS_DATA,
        subdescriptors=[
            standard.EndpointDescriptor(
                bEndpointAddress=0x0 | standard.EndpointDescriptor.DIRECTION_IN,
                bmAttributes=standard.EndpointDescriptor.TYPE_BULK),
            standard.EndpointDescriptor(
                bEndpointAddress=0x0 | standard.EndpointDescriptor.DIRECTION_OUT,
                bmAttributes=standard.EndpointDescriptor.TYPE_BULK)
        ]
#

both IN and OUT have bEndPointAddress=0x0. In 2.x these are 0 and 1.

#

That's the CDC DATA descriptor

slender iron
#

its ored with the direction bit though I think

tulip sleet
#

oh, got it

#

well, I'll look at that

slender iron
#

πŸ‘

tulip sleet
#

DIRECTION_IN and DIRECTION_OUT are 0x80 and 0x00.

slender iron
#

ah hrm

tulip sleet
#

i'm looking at the 2.x descriptors with Beagle, just making sure they match up more or less

slender iron
#

good idea

tulip sleet
#

I'll change that too, and retest. don't know if an endpoint can be bidi.

slender iron
#

it works now

tulip sleet
#

yeah, but maybe the overlap is doing weird things. Usually don't have simultaneous input and output on the serial line? It would be good to save an endpoint. Will read about it.

slender iron
#

kk

#

crazy, found the pulseio bug I think

#

our no timer value in the pin mapping was wrong

tulip sleet
#

@slender iron looks like bidirectional endpoints are ok: The USB device mode supports 8 endpoint addresses. All endpoint addresses have one input and one
output endpoint, for a total of 16 endpoints. Each endpoint is fully configurable in any of the four transfer types: control, interrupt, bulk or isochronous. The USB host mode supports up to 8 pipes. The maximum data payload size is selectable up to 1023 bytes.

So we could maybe just use one endpoint address for MSC also, and free up an endpoint (for MIDI, etc.)

#

good catch on pin stuff

slender iron
#

πŸ‘

pastel panther
#

(thanks for doing this in the main channel)

tulip sleet
#

I'll try that later. 32u4 bidirectional is not so clear -- a number of people asked if so, and it might depend on the endpoint

manic glacierBOT
slender iron
#

no problem @pastel panther

timber mango
#

@stuck elbow alt shift 6

stuck elbow
#

∧?

timber mango
#

In linux it's Þ

#

(in a tty)

stuck elbow
#

no, I have it on alt+p

#

it really depends on what keyboard layout you have loaded

timber mango
#

The unshifted key produces ΒΆ

slender iron
#

I do @ eshipu and select from the list πŸ˜ƒ

stuck elbow
#

@timber mango should work, really

#

I will change it, if it's a problem

slender iron
#

it doesn't bother me

timber mango
#

I don't do a whole lot of @atting, anyway.

slender iron
#

k, I'm going to look at the bme680 issue. will do an alpha release before the shows tomorrow

#

(after I eat some lunch)

tulip sleet
#

@stuck elbow ΓΎ is a "thorn", right? I thought it was pronounced "th"

stuck elbow
#

@tulip sleet correct, originally my nick was "the sheep", but that was too common, so I switched to japanese spelling "deshipu", and recently decided to make the d a bit closer to truth...

tulip sleet
#

aha! now I understand

#

I will pronounce it correctly from now on

stuck elbow
#

I could have used Γ°, at least looks more like d

timber mango
#

I think 'a sheep' is correct in English. "Three sheep" is also correct. Unusual, in English, for the noun to have no number (plural).

tulip sleet
#

that's English for you

#

also "deer"

stuck elbow
#

@timber mango yeah, "the sheep" might mean a specific sheep, or all the sheep in the world

timber mango
#

@timber mango haha. << that's not you.

stuck elbow
#

someone stole my nick already

#

sigh

timber mango
#

In some other environments they let you reserve other nicknames along with your primary.

My primary (long ago) was nishiki. I shortened it to nis for typing purposes.

stuck elbow
#

錦?

timber mango
#

It's a bicycle brand. I don't read kanji or anything similar.

tulip sleet
#

@timber mango I thought it was NIS, as in Sun Microsystems yellow pages.

stuck elbow
#

@timber mango looks like it eaither means "bride" or "daughter-in-law"

timber mango
#

Yeah you always take a risk when you use a nickname you yourself do not understand. ;)

stuck elbow
#

no, sorry, it means a fine material

manic glacierBOT
timber mango
#

The system I was on had tab-completion, and nis[TAB] was the shortest possible way to complete nishiki. I eventually just used nis by itself. ;) People universally say it exactly how you guys do in discord chat. First time I heard it in person was at a user meet (again, long ago).

It was a strange feeling to be addressed solely by my nick.

stuck elbow
#

a lot of friends call me by my nick, that's probably weird

timber mango
#

It now (and forever) means "come home in triumph" hahaha.

stuck elbow
#

that sentence is probably something like "come home wearing fine clothes"

timber mango
#

We have a song like that called 500 miles. It's a USA 'folk' song but fairly modern.

stuck elbow
#

yeah, by proclaimers

timber mango
#

Except it's a lament for not being able to go home in one's present raiment (among other problems).

idle owl
#

If that description of that song hasn't been used at some point in an esoteric review, existence has done a disservice to all of us. πŸ˜„

timber mango
#

;)

stuck elbow
idle owl
#

As was I.

timber mango
stuck elbow
#

I should get tinwhistle tabs for that

pastel panther
#

best way to avoid nick collision is to make up words, hence siddacious

#

started off as sidd which didn't work for long, then a friend writing a personal mythology named my character siddacious

#

@stuck elbow A bunch of my friends call me sid/sidd because I met the initial group thorough IRC and everyone I met through them met me as sidd including my wife. It's strange at times having to explain but 🀷

stuck elbow
#

@pastel panther and then the Ice Age came out...

pastel panther
#

@stuck elbow funny you mention that; my wife and I have decided that one of our dogs has the voice of sid from that movie πŸ˜›

drowsy geyser
#

@pastel panther It also sounds a lot like seditious. πŸ˜ƒ

stuck elbow
#

but for me sid is the sound chip on the c64

pastel panther
#

I also have some of those

timber mango
#

I had neighbors in a 80-apartment complex who said they thought I was a dentist before they met me and got to know me. ;) @stuck elbow your new spelling defaults not the impostor (unless perhaps you were not active recently).

stuck elbow
#

I think the impostor is actually me from before I created an account

timber mango
#

Hahaha.

solar whale
#

@slender iron you broke itsybitsy again...

manic glacierBOT
solar whale
#

No problems wiht current CP3.0 master on metro_m4_express_revb or Metro_m0_express

slender iron
#

@solar whale sounds like it could be an alignment issue

solar whale
#

@slender iron confined to itsybitsy? Does it work on some versions?

slender iron
#

you said it worked on a previous commit ok

#

I'm building it locally now to test on my itsybitsy

solar whale
#

yes - it worked on the previous commit

slender iron
#

right, but I doubt my change actually impacted it then

#

it could have just changed the alignment of something so its basically random which builds will work ok

solar whale
#

fun

slender iron
#

yup yup

#

I remember seeing one removed in asf4 iirc

#

you built locally right @solar whale ?

solar whale
#

OK - hust tested current master on feather_m0_express - seems ok there as well.

#

yes - built locally

slender iron
#

this match?54656 bytes free in flash out of 253440 bytes ( 247.5 kb ). 4820 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

solar whale
#

just a sec

#

rebuilding - went off screen

slender iron
#

k, I think mine did it too

#

that was different, worked for a bit and then blue led

solar whale
#
jerryneedell@Ubuntu-Macmini:~/projects/adafruit_github/circuitpython_master/ports/atmel-samd$ make BOARD=itsybitsy_m0_express 
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
install -d build-itsybitsy_m0_express
python3 tools/gen_usb_descriptor.py \
    --manufacturer "Adafruit Industries LLC"\
    --product "Itsy Bitsy M0 Express"\
    --vid 0x239A\
    --pid 0x8012\
    build-itsybitsy_m0_express/autogen_usb_descriptor.c
Generating build-itsybitsy_m0_express/genhdr/mpversion.h
GEN build-itsybitsy_m0_express/genhdr/qstr.i.last
QSTR updated
GEN build-itsybitsy_m0_express/genhdr/qstrdefs.generated.h

54664 bytes free in flash out of 253440 bytes ( 247.5 kb ).
4820 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Create build-itsybitsy_m0_express/firmware.bin
Create build-itsybitsy_m0_express/firmware.uf2
python2 ../../tools/uf2/utils/uf2conv.py -b 0x2000 -c -o build-itsybitsy_m0_express/firmware.uf2 build-itsybitsy_m0_express/firmware.bin
Converting to uf2, output size: 397824, start address: 0x2000
Wrote 397824 bytes to build-itsybitsy_m0_express/firmware.uf2.
slender iron
#

what gcc version? /V/E/c/p/atmel-samd (master|✚1) $ arm-none-eabi-gcc --version arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 7.2.1 20170904 (release) [ARM/embedded-7-branch revision 255204]

solar whale
#

yes - last time it failed - there was nothing in dmesg and a green led --- now ger error reading boot sector and green led

slender iron
#

hrm, mine worked to the degree the drive was found but reading it led to a solid blue led and usb loss

solar whale
#
jerryneedell@Ubuntu-Macmini:~/projects/adafruit_github/circuitpython_master/ports/atmel-samd$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 7.2.1 20170904 (release) [ARM/embedded-7-branch revision 255204]
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
slender iron
#

hrm, same except our binary was slightly different size

solar whale
#

hmmm.

#

ah - mine has "dirty" label since I have a change in the nrf52 config

slender iron
#

ah, the string would change it

#

my makefile was different

solar whale
#

I have framebuf enabled for nrf52

#

when I load itsybitsy I get blue led and ```[445513.519255] usb 3-3.2: USB disconnect, device number 58
[445513.603394] FAT-fs (sdc): unable to read boot sector to mark fs as dirty

slender iron
#

does that happen if you unplug it and plug it back in too?

raven canopy
#

"you guys breaking stuff without me?" - Mark Watney (adapted for context)

solar whale
#

ah - nothing at all when I unplug/replug

slender iron
#

hrm, weird

solar whale
#

stil get blue led

slender iron
#

thats something πŸ˜ƒ

solar whale
#

its a pretty blue

slender iron
#

thats the upside

solar whale
#

maybe it was the comment change in teh previous PR that broke it πŸ˜‰

idle owl
#

no more or less likely than any other tiny change, it seems πŸ˜„

solar whale
#

hmm, are spiders bugs?

idle owl
#

arachnids.

solar whale
#

No, Spiders are not bugs. They're arachnids. Technically, spiders are not bugs since they are arachnids not insects. Technically only certain insects are bugs, belonging to the insect order Hemiptera.May 24, 2011 shame on me

idle owl
#

πŸ˜‰

#

That's ok this one is a weird one. So maybe it's a spider and not a bug.

solar whale
#

Oh well - time to go for awhile -- sorry about the bad news @slender iron good luck.

slender iron
#

thanks for the testing!

solar whale
#

Anytime!

slender iron
#

time to solder up the swd lines

idle owl
#

nice

pastel panther
#

@slender iron good luck with the debugging; I hooked up my jlink to the bitsy the other night and could not get it to hit a breakpoint, even in the beginning of main.c

#

Let me know how it goes for you; perhaps I was doing something different/wrong

slender iron
#

grabs more jumpers

#

@pastel panther do you have a pic of your setup?

#

my jlink connected ok, building a debug build now

#

powering through the BAT pin so I don't need usb

#

my jlink broke at main ok

timber mango
#

Is mpy-cross-2.2.0-ubuntu-16.04-x64
.. appropriate for use with the alpha release?

slender iron
#

nope, you'll need a 3.0 version

timber mango
#

Really cannot find it.

raven canopy
#

its on the 3.x alpha release page. near the bottom of the list..

#

IIRC

timber mango
#

I will look again.

slender iron
#

nah, I don't think I added one

#

I don't have an ubuntu box handy to build one

raven canopy
#

ahh...it isn't there.

#

sorry @timber mango for pointing to things that don't exist. πŸ˜„

timber mango
#

hahaha you have a carte-blanche pass to continue to do so. ;)

slender iron
#

thats why I'd love to make a module you can import in the REPL to do it

timber mango
#

The Elves in The Shoemaker and the Elves story have nothing on you guys. I keep finding things you've created that I didn't know existed. /hug-reports-as-you-go dotcom

#

I can build itt.

#

Come to think of it I remember trying to build mpy-cross in vagrant when I thought it was something completely different from what I think it is now (also completely different from what it objectively is) ;)

#

(random) this was the step-up from /usr/bin/ack-grep mentioned (again) in the meeting, yesterday:
https://github.com/ggreer/the_silver_searcher
The Silver Surfer was a comic book char in a Richard Gere film (Breathless, iirc).

tulip sleet
idle owl
#

nice!

pastel panther
#

@slender iron I've since unplugged the bitsy, but it generally was bitsy+soldered jumper wires -> breadboard->swd connector->jlink. The gdb server was able to connect to the chip fine as far as I can tell and reported sending/setting breakpoints but they never seemed to get hit. My current theory is that it was getting past where the breakpoints would have been set before the jlink got connected, and then resetting didn't work. Not sure that makes sense but I'm gong to try the approach you mentioned of loading the code through gdb instead of attaching to the already running code

slender iron
#

I connected 3.3, gnd, swdio, swclk and rst to the jlink cable

#

via the swd breakout

pastel panther
#

I've don the same previously with and without rst; apparently the reset pin is only used when you do monitor reset 2

slender iron
pastel panther
#

I like the header you put on the off axis pins. Looks pretty similar to mine though I soldered the jumper wires directly to the board because I wanted to keep it slim without headers

#

I'll give it another go tonight and report back

slender iron
#

it was the first female header I spotted when digging around. πŸ˜ƒ

idle owl
#

That is a slick setup.

pastel panther
#

are you clipped directly to the flash chip? Sounds like you need one of my handy dandy '51 dev boards with built in SWD and Saleae friendly QSPI flash debug headers ;P

slender iron
#

maybbbbbbeeeee πŸ˜‰

pastel panther
#

unless I roll a 20 on my DMA comprehension check and figure it out?

#

All for the low, low price of SEND ME YOUR ADDRESS

slender iron
#

it gets knocked off regularly so I leave it until I know I don't need it

drowsy geyser
#

Never count on rolling a 20.

pastel panther
#

but I've rolled every other number, it must come up next!

#

#statsfail

slender iron
#

one tip for debugging I use now is to add asm("nop"); in the code so I can break on them

pastel panther
#

because they're never optimized? or because it's essentially whitespace you can break on?

slender iron
#

whitespace

#

I usually put it in an if statement for what I care about

pastel panther
#

clever

raven canopy
#

since i keep losing track of which window has the focus... i'm just going to put this here so my brain can flush its insistence that this be done.

vagrant ssh

#

πŸ˜„

#

well, slight progress on REPL. at least another quasi verification of where the problem is.

x = "Testing 128 character pasting into the REPL to see if 3.0 still breaks when you try to do this. Blah blah, bleh bleh and stuff"

would turn into:

x = "Testing 128 character pasting into the REPL to see if 3.0 still breaks when you try to do this. Blah blah, bleh bleh and st"

now:

x uff"
#

just some tweaking, and we might just get it. another plus: now i know the endpoints are getting everything, so I can stay out of ASF.

#

protip: if you expect a variable to be true, don't initially set it as false. #wisdom πŸ˜„

pastel panther
#

I set things I expect to be true to false all the time, I just don't do anything if they're false

slender iron
#

I'm gonna need to do some synth work to heal my wounds from fighting usb

timber mango
#

One hand for the ship, one hand for the sailor.

humble mural
#

Hello, is it normal for trash files to build up in the CPX?

timber mango
#

That's an Apple thing, iirc. Not otherwise.

#

Come to think of it I've deleted such references in Linux, to no known mischief -- seemed fine afterward.

#
Please choose the full URI that clients will use to connect to the server (for instance:
http://chef.example.com:4000).
This setting will be stored in /etc/chef/client.rb as "chef_server_url".
URL of Chef server:  (has a blank space, this is a 'dialog' box)
 <Ok>

Doing a routine new installation of the CircuitPython build environment.

#

This is a very stale environment.

EDIT: 16 March 02:30 UTC: the existing Vagrantfile is correct and current.
Simply do not follow the

New release '16.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

offering. ;) /my_bad

raven canopy
#

getting closer...

xff""Testing 128 character pasting into the REPL to see if 3.0 still breaks when you try to do this. Blah blah, bleh bleh and stuff"
raven canopy
#

ok. break time. maybe an episode of Versailles can help me see through this buffery madness.

timber mango
#

So the vagrant thing just upped and died. I'm not doing the extra upgrades next time around.
What a mess.

stoic gazelle
#

@slender iron @solar whale update from yesterday issue I was having using feather m0 express with adalogger featherwing: I switched from a 16 GB, to 8GB didn't change code or version of circuit python yet but it 'just worked' got a hello world to print to a file on the 8gb board

manic glacierBOT
#

update from yesterday issue I was having using feather m0 express with adalogger featherwing: I switched from a 16 GB, to 8GB didn't change code or version of circuit python yet but it 'just worked' got a hello world to print to a file on the 8gb board
the guide at: https://learn.adafruit.com/adafruit-adalogger-featherwing/using-the-sd-card
states:
"The FeatherWing kit doesn't come with an SD card but we carry one in the shop that is guaranteed to work. Pretty much any SD card should work...

slender iron
#

@stoic gazelle cool. what brand is the card that fails?

stoic gazelle
#

SanDisk

slender iron
#

k, adding a pick of it to the issue would be helpful. I may hunt one down

manic glacierBOT
manic glacierBOT
stoic gazelle
#

@slender iron i added a picture and verified they were formatted with fat32 with the same machine

manic glacierBOT
drowsy geyser
#

Sweet. The DotStar CircuitPython library works under 3.0 alpha 2 latest build. Is there a place where we are tracking "confirmed works" components, @slender iron ?

raven canopy
#

@drowsy geyser there is an open issue for validating drivers in 3.0. it doesn't have a full list, per say, but we did have discussion of creating an issue with all of the libraries to check. Also, I imagine we won't start saying definitively things are working until we get past beta...but, that's up to the fine folks with the authority to make that call. :D
https://github.com/adafruit/circuitpython/issues/584

drowsy geyser
#

Thanks @raven canopy !

#

It's kind of a chicken and egg thing. We want to test things to get to a beta release, but that means we have to re-test everything once we get to the release gate.

raven canopy
#

yeah. but, we all probably hope just a little that something breaks along the way. because then we get to fix it! πŸ˜›

#

except USB. i'm learning quickly, as tannewt said yesterday, it literally is a fight... you have to channel Rambo and just outlast the issues. (first time i'm dealing with USB on the driver level)

drowsy geyser
#

Yes, understood. And as we go, at least we're developing a good collection of unit tests!

#

Well, time to go pay for my Adafruit habit (work).

manic glacierBOT
slender iron
#

@drowsy geyser I don't think I checked in the pwm thing actually

drowsy geyser
#

@slender iron Ok, I'll re-run the tests after the check -in.

#

Thanks for letting me know.

slender iron
#

I forgot dan had feedback on it

#

was too absorbed in usb yesterday

drowsy geyser
#

No worries! I'll just watch for the check-in on GitHub and rebuild and retest the boards. I'm going to check the PWM pin presence for Limor/Kattni and then I'll re-check the piezo functionality (which also uses PWM).

slender iron
#

kk, thanks!

drowsy geyser
#

Thank you - lots of balls in the air right now, and you're doing a great job!

slender iron
#

😊

#

@tulip sleet reviews coming your way shortly

tulip sleet
#

@slender iron k!

slender iron
#

I think I squashed the usb gremlin

tulip sleet
#

awright!

#

Beagle GUI is annoyingly almost useless for most stuff. Where did you put your python trace analyzers? tnx!

slender iron
#

haha, yeah

#

I was thinking about writing it up in a learn guide

tulip sleet
#

I can't even see the HID report descriptors - only the top-level descriptor

slender iron
#

yeah, its annoying

tulip sleet
#

I'll try wireshark

slender iron
#

python3 ~/repos/python-pcapng/convert_totalphase_csv.py blue_led_fail_linux.csv

#

thats a sample command to convert to pcapng

#

(which wireshark loads)

tulip sleet
#

so it's a converter, not a parser? You can't use wireshark directly on Mac, but I can on Linux, so maybe I'll just go that way. But I'll bookmark that for later - thanks

slender iron
#

it converts the beagle capture to pcapng for wireshark

tulip sleet
#

advantage is that the beagle is one device. wireshark is per usb hub, so sometimes I have to filter out other devices on same hub

manic glacierBOT
slender iron
#

yup, and its the same workflow across usb host OSes

#

(was debugging with linux earlier)

tulip sleet
#

yeah. btw, I tried making MSC just use one bidi USB endpoint and it didn't work. Making CDC DATA be two endpoints instead of one bidi works (and doesn't fix the 128-char limit, which I had faint hope it would)

drowsy geyser
#

@slender iron Cool, thanks. I'll wait on the merge notification and start rebuilding firmware.

slender iron
#

πŸ‘

#

@tulip sleet think I should stop storing sercom pointers in the pin data structure? it'll save a bit of code size

tulip sleet
#

and have a sercom_index_to_sercom() lookup routine or table?

slender iron
#

yup yup

#

just like I did with timers

tulip sleet
#

sounds ok, since the table lookup is fast. I put that kind of stuff in peripherals.c or samd?1_peripherals.c

#

since it's generally useful

slender iron
#

yeah, asf already gives us a list in a macro

tulip sleet
#

i just looked at the static routines in hpl_sercom.c that do some of this but wasn't sure whether it was the whole list or just the ones that were used in the .atstart file.

slender iron
#
510:#define SERCOM_INSTS      { SERCOM0, SERCOM1, SERCOM2, SERCOM3, SERCOM4, SERCOM5 } /**< \brief (SERCOM) Instances List */```
tulip sleet
#

oh perfect

slender iron
#

trying it now

slender iron
#

w00t saved 388 bytes

#

on the arduino zero build

tulip sleet
#

vg because there's a lot of duplication in the pins table

slender iron
#

yup, its silly to store pointers there

drowsy geyser
#

@slender iron Nice! Sounds like a comment from an assembly language project....

slender iron
#

πŸ˜„

tulip sleet
#

@slender iron any further thoughts on @raven canopy 's PR supervisor.runtime.serial_connected? I'll test the functionality.

slender iron
#

nope! looks good

slender iron
tulip sleet
#

will do

slender iron
#

thanks!

drowsy geyser
#

Yep! Thanks @tulip sleet and @slender iron !

manic glacierBOT
manic glacierBOT
#

I like the naming now. I tested this with a CPX and the following main.py test program:

import board,neopixel, supervisor
pixels = neopixel.NeoPixel(board.NEOPIXEL, 10)
RED=(100,0,0)
BLUE=(0,0,100)
while True:
    pixels.fill(BLUE if supervisor.runtime.serial_connected else RED)

I am using a LiPo battery and the USB plug. If USB is connected, then the NeoPixels turn blue. They're red if USB is unconnected when main.py starts. However, if I then unplug USB, the pixels d...

solar whale
#

@slender iron Yay! ItsyBitsy_m0_express works with CP3.0 master!!

manic glacierBOT
manic glacierBOT
idle owl
#

@raven canopy I was going to ask you about that.

raven canopy
#

I don't see any reason to keep it open. But, there may be more doc changes desired, that have yet to be spoken?

idle owl
#

Oh right, we can run Adabot and find out if there's anything left. I will wait for Scott on that one though because I'm only starting to get used to sorting through Adabot's results.

raven canopy
#

sounds good to me. there are a couple more that are lingering that keep catching my eye each time i scroll through the open list.

idle owl
#

If I'm reading this right, there's definitely still some minor fixes needing to be made.

#

I think it provides a more human readable version of this list of warnings at the end though.

raven canopy
#

well, if there are some tweaks needed, send me a list and i'll work 'em.

idle owl
#

Keen. It's still running πŸ˜ƒ

raven canopy
#

or put it in the issue. can't deny anyone else the joy of doc work. πŸ˜„

idle owl
#

πŸ˜„

#

Oh... bugger. It does spit out the list but I think I need to run it with different commands to get it to list out the lists over 3 repos, so there's an RTD errors list that has 19 repos, but doesn't list them. So yeah I'll be waiting for Scott. Or the 78 missing readthedocs.yml ...

manic glacierBOT
raven canopy
#

is it checking for "readthdocs.yml" or ".readthedocs.yml"? . is the diff.

idle owl
#

There is no . before it but that doesn't mean that's what it's looking for. Scott will know the answer to that. Could be that it doesn't..... wait, no, there's a list for Missing .travis.yml so perhaps the lack of . is significant in the readthedocs.yml

#

Are you looking for something to do right now?

raven canopy
#

not necessarily. just that i'm accustomed to working them, and have no problems with cleanup.

idle owl
#

Ok keen, no worries. I had a few specifics was all, and if you were looking for something to do, I could point out a few. That's why I asked.

raven canopy
#

scrolling through adabot's .py. she's still looking for "readthedocs.yml", without the ..

idle owl
#

Ok, then that was a correct assumption on my part.

#

Is it supposed to be .?

raven canopy
#

yeah. that was one of the changes. puts its sorted location near travis, and hides the file on (some) local machines.

idle owl
#

ok good to know.

manic glacierBOT
#
[adafruit/circuitpython] New tag created: 3\.0\.0\-alpha\.3
raven canopy
#

no free number? 😝

slender iron
#

@idle owl @raven canopy I have a fix for the .readthedocs.yml I think. go ahead and ignore it for now

idle owl
#

Ok will do

slender iron
#

yay thanks for testing @solar whale !

idle owl
#

@raven canopy Getting a full list now

#

Minus the rtd.yml list πŸ˜ƒ

raven canopy
#

k. might not get much done tonight. gotta head out for bday dinner; pre-teen went full-teen today. 😱

idle owl
#

Congrats! And happy birthday to the full teen πŸ˜ƒ

#

And no rush. You brought it up so I figured I'd look into it.

manic glacierBOT
slender iron
#

if any other mac/brew users are having trouble missing python2 you can run brew link python@2 to add it back

stuck elbow
#

but only until 2020

slender iron
#

yeah, then we'll need to update the uf2 generation script

stuck elbow
#

or keep one mac disconnected from network so that it never updates to make the releases

slender iron
#

I'd rather update

stuck elbow
#

you never know what will the next macos break

#

if you keep an old mac, it will always work on the old macs too

slender iron
#

thats true for all OSes

stuck elbow
#

for some more than for others

idle owl
#

hmmm

#

good to know

manic glacierBOT
#

We still have some updates to make. Here's the Adabot report:

Missing license. -

  • [ ] Adafruit_CircuitPython_LSM303
  • [ ] Adafruit_CircuitPython_TSL2561
  • [ ] Adafruit_CircuitPython_APDS9960
  • [ ] Adafruit_CircuitPython_DHT

Not in bundle. -

  • [ ] Adafruit_CircuitPython_FocalTouch

Missing CODE_OF_CONDUCT.md -

  • [ ] Adafruit_CircuitPython_MCP9808
  • [ ] Adafruit_CircuitPython_CCS811
  • [ ] Adafruit_CircuitPython_DS1307

ReadTheDocs latest build has warnings and/or errors -
...

tidal kiln
#

πŸ€” hmmmm Adafruit_CircuitPython_TSL2561 has a license, what's it missing?

slender iron
#

its based on github's detection

#

so maybe the contents are weird or the filename?

tidal kiln
slender iron
#

must be a bug

#

go ahead and check it off anyway

manic glacierBOT
nocturne wren
#

@idle owl @raven canopy Awesome work on the docs!

idle owl
#

@nocturne wren Thanks so much!

nocturne wren
#

πŸ˜„

manic glacierBOT
#

Hmmm - tried dotstart test on gemma_m0 - failing like the trinket_m0 used to....

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

Adafruit CircuitPython 3.0.0-alpha.3-dirty on 2018-03-14; Adafruit Gemma M0 with samd21e18
>>> 
>>> 
>>> 
>>> from board import *
>>> import time
>>> import adafruit_dotstar as dotstar
>>> pixel = dotstar.DotStar(APA102_SCK, APA102_MOSI, 1, brightness=0.1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "a...
tidal kiln
#

diff'd it against a file that works. maybe github is just this picky:

$> diff LICENSE ../Adafruit_CircuitPython_MCP9808/LICENSE 
3c3
< Copyright (c) 2017 Carter Nelson for Adafruit Industries
---
> Copyright (c) 2017 Scott Shawcroft, written for Adafruit Industries

it worked in my local repo - license banner wasn't there, now it is. PR'd the change.

idle owl
#

Thanks @tidal kiln !

#

Merged and issue updated.

tidal kiln
#

seems to have worked? you seeing same?

idle owl
#

Not sure where I'm looking. I got the info from Adabot before.

tidal kiln
#

well. if adabots happy... πŸ˜ƒ

idle owl
#

I'll rerun it soon enough and we'll know

tidal kiln
idle owl
#

ah

slender iron
#

thanks @tidal kiln

idle owl
#

oooh!

manic glacierBOT
#

Using Windows version of the SD Card Formatter with the 16 GB card met with success!
the 8 GB formatted with the SD Card Formatter continued to meet with success. (maybe they are friends?)

after formatting in windows, testing on the adalogger, I checked with gparted to see what the partitions look like (they both look different from before) they both have 4 MB not allocated at the beginning of the cards.
![img_20180314_211325](https://user-images.githubusercontent.com/1671616/37439268-bb...

marble hornet
#

hi all, is there anyway to wrap an arduino library without having to port and rewrite a lot of it? I am looking to turn guislice into a python library. im thinking supporting only: ssd1306, st7735r, and ILI9341 with FT6206 and touch support. guislice has support for these inside but the libraries for guislice and the appropriate hardware libs are not supported in cir-py. guislice datalink: https://www.impulseadventure.com/elec/arduino-touch-gui.html

raven canopy
#

@marble hornet we libraries for the ssd1306, st7735, and ILI9341. STMPE610 is in dev. FT6206...don't recall it. As for porting, I understand it's possible to run C inside circuitpython...I just haven't done it and don't know the limitations (if any).

#

@idle owl some of the things on that list, as cater pointed out, aren't quite jiving. i'm sure i missed some things, but things like autodocs shouldn't have made it past Travis (he yelled at me enough about it). πŸ˜„

marble hornet
idle owl
#

@raven canopy Yeah it could be a bug, it could also be something tiny like he found with that lib where the copyright line was one word different.

#

Work though what you can and we'll sort the rest.

marble hornet
#

is there a tutorial for running c code on cir-py anywhere?

#

a quick search yielded nothing

tulip sleet
#

there's no casual way to run c code; you can add c-based modules, but it's not easy, and it has to integrate with the rest of the run-time system, allow interrupts, etc.

raven canopy
#

oh, and thanks @nocturne wren! always an uphill climb with docs, but the summit is sweet! πŸ˜„

#

@tulip sleet I thought there was, but I may have confused with mircopython (if its even possible there....).

tulip sleet
#

we would love to be able to add binary module loading at run-time, but don't have it yet. I do know there are some issues discussing this in the micropython github issues - will try to find the main one

marble hornet
#

im guessing tkinter isn't supported in cir-py πŸ˜‰πŸ˜„

tulip sleet
marble hornet
#

or any gui library for circuitpython

marble hornet
#

@tulip sleet @raven canopy thanks for the quick help

raven canopy
#

no worries! sorry i dropped off. got pulled in to the vortex of documentation...and now watching AAE that i missed earlier. πŸ˜„

tulip sleet
#

there is framebuf, which is builtin to some versions of CPy... Not exactly the same level: graphics and text drawing

marble hornet
#

"framebuf" library ?

marble hornet
#

i will be compilimg my own cir-py.uf2 for my project so including a lib isn't a problem for me

#

rather: "firmware.uf2"

tulip sleet
#

take a look at shared-bindings/ and shared-module/ directories for integrating C libraries that are not chip-dependent

marble hornet
#

then draw as bitmap ?

marble hornet
#

thanks!! ill look into it more tomorrow, i need sleep for school. Thanks @tulip sleet @raven canopy

raven canopy
#

night!

marble hornet
#

last though, do you think using a bitmap framebuffer (or the built in hardware one) one could use python to make a page, list, and "widget" system/classes, could be made. w/ buttons for up and down. ? (text, rect, and etc are already supported by framebuf) sleep well!

manic glacierBOT
#

As you can see by its inclusion in almost all categories, LSM303 needs the Full Monty. It was added after I compiled the task list, and I didn't go back and see what was added during the 2 week docstravaganzo.

Preliminary "check the checker" results for the autodoc failures: all of those RTD builds are over a month old, and aren't for the new doc structure. Also, CharLCD is still giving a 404... I'm working on a full scale report; may take a couple days.

raven canopy
#

its really tough working while watching AAE. πŸ˜„

raven canopy
#

@idle owl FocalTouch will also need the full monty...

#

comment updated

idle owl
#

Thanks!

raven canopy
#

@slender iron reading your SAMD debugging guide. seems you were working on ASF4 USB and REPL echo, based on funcs/args used as examples. at least i have literal examples for my debugging. πŸ˜„

marble hornet
#

"needs the full monty..."??

drowsy geyser
#

Good morning, crew!

manic glacierBOT
chilly hearth
#

hello, quick quesstion...can you run circuit python on a Raspberry Pi?

solar whale
#

quick answer - no.

chilly hearth
#

thanks, jerryn

solar whale
#

but you have python3 on RPi .

chilly hearth
#

if I want to practice and learn with CP, can i get started without buying a feather or Gemma, etc?

#

I do have P3 on my Pis

solar whale
#

CP attempts to stick to cpython so many things are transportable between a python3 script and CircuitPython. Obvioulsy, the hardwares support will not be usable - none of the "libraries" are common. but you can learn python on a Pi and it transfer your knowledge to CP when you do get the hardware. Just be ware that the CP systems don't support all of the modules you find on the Pi .

#

So it really depends on what you are trying to practice.

#

I think most people use CircuitPythoin to learn how to use Python to interact with some bits of hardware. LEDs or sensors. For that , you will need a board that supports CP. Of courec you can also do that on an RPI, but it won;t be quite the same code.

stuck elbow
#

then again, CP will work on any samd21 board

pastel panther
#

With some work

stuck elbow
#

most of them are compatible with arduino zero, so that firmware works without any extra work

solar whale
raven canopy
#

@marble hornet by "full monty" I meant it will need the complete process of our recent documentation changes. (It was @ kattni; sorry if it appeared as part of my reply to you.)

manic glacierBOT
river quest
#

and cute snake art

blazing trail
#

cool!

timber mango
#

...

blazing trail
#

wink

last mirageBOT
#

πŸ˜ƒ

timber mango
#

@river quest Is there a way to view the mailings without any subscription, as in a mailing list archive website?

bronze geyser
#

I am trying to talk to another SPI device on an RFM69 Feather other than the radio...the documentation notes to set pin 8 (the RFM69_CS pin) to HIGH. Does this work is there a better way? ```python
from digitalio import DigitalInOut, Direction, Pull
import board
pin_8 = DigitalInOut(board.RFM69_CS)
pin_8.direction = Direction.INPUT
pin_8.pull = Pull.UP

timber mango
#

It'll be an output not an input. (/me reboots machine, be back later)

tidal kiln
#

@bronze geyser SPI works by sharing the data lines and then having a unique "select" (CS for chip select) line for each peripheral. you use that to say "hey, i'm talking to you". in general, you need one for each device, and you only enable the one you want to talk to.

#

what is the other device you are wanting to talk to?

bronze geyser
#

Thank you @tidal kiln. I'm ok w/ how SPI works. My challenge is making sure SPI works well when using the RFM69Feather...since the radio uses pin 8 for it's CS pin.... (i.e.: The CS pin (#8) does not have a pullup built in so be sure to set this pin HIGH when not using the radio! )....as noted here: https://learn.adafruit.com/adafruit-feather-m0-radio-with-rfm69-packet-radio/pinouts#rfm-slash-semtech-radio-module

Take a fast and nimble Cortex M0+ processor and give it radio skillz

tulip sleet
#

@bronze geyser you could also use another set of pins for MOSI, CLK and MISO and use a different SPI object: you don't have to share with the SPI object used for the radio.

slender iron
#

@raven canopy did you see my bme680 PR?

bronze geyser
#

@tulip sleet Thank you. I don't see the need for a different set of MOSI, CLK and MISO pins. Rather, it is making sure pin 8 is HIGH when I wanna communicate with my chip (an atm90e26) over the CS I have chosen. I just wanted to verify the circuit python code i wrote to set pin 8 high is "the best way to do it." Again, thanks.

raven canopy
#

@slender iron got the email. wasn't sure if you wanted me specifically. i'l get it now. looked like some good stuff you found.

tidal kiln
#

@bronze geyser then as @timber mango was saying, set to output and set high

slender iron
#

@raven canopy I have a lint thing to fix on it but wanted you to see it since your change broke the driver. See if you made similar changes in other drivers that may have broken them.

bronze geyser
#

@tidal kiln yah...i thought i tried output and received "can't set pull up...so, i guess i set to output then do a pin_8.value = HIGH...

drowsy geyser
#

@slender iron @raven canopy Coincidentally I just tried to test the BME680 on CP 3.0 Alpha 3 and got an "incompatible .mpy file" error, even though I downloaded the latest release....

bronze geyser
#

@tidal kiln i got confused in readTheDocs when it was talking about digitalio pull up and pull down....

tidal kiln
#

can you link to where in the docs?

raven canopy
#

ohhh! will definitely take a peek then. sorry about that...

slender iron
#

@drowsy geyser what was the filename?

#

@raven canopy np, just a heads up

drowsy geyser
#

@slender iron It's adafruit_bme680.mpy

#

The latest release I downloaded though was an earlier alpha version.

#

Yeah, alpha.1

slender iron
#

ah, we may need to bump it

#

early on they hadn't bumped the version number

drowsy geyser
#

Ok.

bronze geyser
slender iron
#

next release should have one for alpha 2

tidal kiln
#

@bronze geyser pull up/downs only apply to inputs. maybe that warning in guide was confusing? made you think you needed to deal with pull/up downs? it's more a warning that since there is no internal pull up, you have to insure that pin 8 is set high to de-assert the CS on the radio, and to do that you have to set it to output and set it high (since there is no pull up resistor internally to do the job for you)

bronze geyser
#

@tidal kiln ....yah, well...um...pullup...set to high...they seemed so the same to me. my stupid bad. THanks for clarification.... so i get pin_8 then do a pin_8.value = True ..yah?

tidal kiln
#

yep. and change to OUTPUT instead of INPUT. that's pretty much it.

raven canopy
#

@slender iron that was the only one I remember making code/function changes to (since pylint complained). @idle owl, do you remember any others? DHT kind of pops in my head, but I think that one was simpletest related...

slender iron
#

k np

idle owl
#

I don't think so because I would have insisted on testing for code changes.

feral sage
#

Does anyone know if the circuit python uart is capable for sending data to a pi?

#

Over the RX and tx pins

raven canopy
#

ok. i can roll back through the commits in conjunction with adabot reviews.

tulip sleet
#

@feral sage should be fine - it works with a GPS and the idea is the same. Just make sure the baud rates match

feral sage
#

I tried that I'll double check maybe I'm missing something

tidal kiln
#

@feral sage rx to tx / tx to rx ?

feral sage
#

Yup

#

I think the pi isn't seeing the trinket

tidal kiln
#

what os on the pi?

feral sage
#

Raspbian

tidal kiln
#

what model pi?

feral sage
#

Zero w I disbaled Bluetooth and enabled uart so I could use ttyAMA0 for the pi uart

tidal kiln
#

also disable login console?

feral sage
#

Yup

feral sage
#

that's wierd, when i plug the trinket usb cable into the pi it works over uart Rx Tx pins

timber mango
#

Alright. Looks like I have to both start virtualbox prior to 'vagrant up' and also to edit the Vagrantfile to point to xenial .. or ignore that xenial even exists. Upgrade in place did not work, there. /trying_to_build_circuit_python_3.x.x

#
 $ cd atmel-samd-micropython-vagrant
 $ diff ./Vagrantfile ../revised/Vagrantfile 
15c15
<   config.vm.box = "ubuntu/trusty64"
---
>   config.vm.box = "ubuntu/xenial64"
#

(xenial is newer and has daily builds)

idle owl
#

Trying to build circuitpython, getting this error Create build-circuitplayground_express/firmware.bin Create build-circuitplayground_express/firmware.uf2 python2 ../../tools/uf2/utils/uf2conv.py -b 0x2000 -c -o build-circuitplayground_express/firmware.uf2 build-circuitplayground_express/firmware.bin make: python2: No such file or directory make: *** [build-circuitplayground_express/firmware.uf2] Error 1

#

I initially didn't have python2 installed apparently, so I brew installed it, but no change. I'm assuming there's a directory linking issue somewhere but I don't know how to resolve that.

#

but brew list now shows python, python@2 and python3, and I initially thought "python" was python2. Evidently not.

tidal kiln
#

@feral sage maybe ground issue?

feral sage
#

ill have to check it very well could be

#

im not the best at soldering and wiring

idle owl
#

@slender iron I tried the brew link python@2 and it gives me one error, could not symlink bin/idle and if I do the --dry-run with the brew overwrite command, it shows what's meant to be deleted and it's all things linked to python3.6.4, so I haven't forced it. I can show you the list, it's 9 things. Is that even likely to be the issue?

slender iron
#

I have no idea

#

it just worked for me

idle owl
#

ok

slender iron
#

sorry!

idle owl
#

Welp, decided to burn the place to the ground and removed all the pythons, reinstalled all of them, and it worked.

slender iron
#

that works!

pastel panther
#

@solar whale sounds like you got it figured out. yes, it is that simple. I probably should have included the gemma in my commit for the fix

idle owl
#

So um... Traceback (most recent call last): File "code.py", line 3, in <module> ImportError: no module named 'touchio'

#

That's not a very good prize.

slender iron
#

its not enabled in 3.0 yet

idle owl
#

oh lol

#

I realised as you were typing that's what it would be

#

Yep ok. Thanks πŸ˜ƒ

slender iron
#

allows you to easily print peripheral register values: ```
(gdb) svd/x SERCOM3 I2CM STATUS
Fields in SERCOM3 I2CM STATUS:
BUSERR: 0x0 Bus Error
ARBLOST: 0x0 Arbitration Lost
RXNACK: 0x0 Received Not Acknowledge
BUSSTATE: 0x3 Bus State
LOWTOUT: 0x0 SCL Low Timeout
CLKHOLD: 0x0 Clock Hold
MEXTTOUT: 0x0 Master SCL Low Extend Timeout
SEXTTOUT: 0x0 Slave SCL Low Extend Timeout
LENERR: 0x0 Length Error

idle owl
#

neat!

#

Ahhh! My changes work! πŸ˜„

slender iron
#

nice!

idle owl
#

I built it and tested them with digitalio

manic glacierBOT
raven canopy
#

new shiny toy is distracting me... πŸ˜„

slender iron
#

@raven canopy I can just go through that list now

#

I don't have time to get into any sort of coding zone tonight

raven canopy
#

i checked like 5 of them, so i'm fairly confident they're all in need of a new buld.

slender iron
#

kk, will do it now

raven canopy
#

πŸ‘

slender iron
#

Adafruit_CircuitPython_APDS9960 has an unhappy data descriptor

idle owl
#

I'm picturing an illustration somehow of a sad data descriptor among all it's happy data descriptor friends...

slender iron
#

πŸ˜ƒ

raven canopy
#

πŸ˜’ *

#

would it be the title, by chance?

manic glacierBOT
slender iron
#

does adabot care about the html static path?

raven canopy
#

i saw those errors when i started my 'vestigating. my answer at this point: ??? πŸ˜„

slender iron
#

k, let me look

raven canopy
slender iron
#

looks like its working πŸ˜ƒ

#

looks like it should ignore the html_static warning

raven canopy
#

yeah. studio 7 has this nifty feature: open object file for debugging. rolling the dice. good thing i have backup boards...

#

i'm on "skip programming" for now... hehe

#

hmm...can't get a terminal.

#

helps to use correct port...

solar whale
#

@pastel panther if the pirkey has a dotstar, may want to look at it’s mpconfigport.h as well.

slender iron
#

adabot improvements

raven canopy
#

ok. jumping out of studio...quitting on a fairly high note. πŸ˜„

manic glacierBOT
raven canopy
#

reading un-parsed JSON makes the eyeballs weary. 😡

timber mango
#

Looks to me like I'll succeed here by ignoring this invitation:

New release '16.04.4 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

vagrant@vagrant-ubuntu-trusty-64:~$ 
#
 $ git clone https://github.com/adafruit/atmel-samd-micropython-vagrant.git
 $ cd atmel-samd-micropython-vagrant ; $ md5sum ./Vagrantfile 
e41a50ab7bdbea1bd748c32154ef64d3  ./Vagrantfile
 $ egrep trusty ./Vagrantfile
config.vm.box = "ubuntu/trusty64"
#

Changing that to xenial did not lead to a success, here.

solar whale
#

@timber mango in my experience, it works fine β€œas is β€œ do not upgrade .

#

If you want 16.04, install it and then install tools yourself. Don’t use vagrant. But the vagrant install works.

timber mango
#

Thanks jerry -- I found I could not upgrade via two paths (by changing the Vagrantfile before provisioning; by upgrading inside the VM).

#

If 14.x works I'm fine with that. ;)

solar whale
#

I’m not aware of any problems with it for the intended purpose of building CP

timber mango
#
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-143-generic x86_64)

 $ uname -a
Linux vagrant-ubuntu-trusty-64 3.13.0-143-generic #192-Ubuntu SMP Tue Feb 27 10:45:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
vagrant@vagrant-ubuntu-trusty-64:~$ 
solar whale
#

At some point, the maintainer should probably look into upgrading.

#

I have not used it for a few months, but I think it still works fine @14.04

timber mango
#

I'm building mpy-cross now.

solar whale
#

What could go wrong πŸ˜‰

#

@timber mango are you in a Windows or Mac system?

raven canopy
#

i just ran vagrant box upgrade last week. still hums along just fine. didn't need to upgrade, but i usually do when up echoes that one is available.

solar whale
#

Vagrant box update is fine and worth doing. Does not update Ubuntu version.

timber mango
#

sommersoft: what's the output of:

 $ uname -a
raven canopy
#

nope. i read the horror stories before i hit enter

#

let me boot it up

solar whale
#

Vagrant box update updates the virtual box not ubuntu

raven canopy
#
Linux vagrant-ubuntu-trusty-64 3.13.0-139-generic #188-Ubuntu SMP Tue Jan 9 14:43:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux```
solar whale
#

Trusty is still 14.04

raven canopy
#

@solar whale i was under the impression that the box updates included any OS updates that have occurred (obviously not large kernel/ver updates).

timber mango
#

Yeah that's trusty. xenial was the problem one for me.

#

@raven canopy thank you!

raven canopy
#

np!

solar whale
#

Yes os updates but still within the major release.

timber mango
#

My kernel is newer. trusty is the 'stable' version and xenial is the 'testing' version if Debian development analogies hold.

raven canopy
#

right. phew. my linux-ness isn't totally gone. πŸ˜„

pastel panther
solar whale
#

@raven canopy goodnight,

raven canopy
#

@pastel panther lol. thanks. i googled a few last night, but often URLs look shady to me. I run windows afterall. user == best AV. πŸ˜„

#

night @solar whale! may your rest be storm-free.

solar whale
#

@timber mango I think trusty is old and soon to be retired, like me, 16.04 is stable.

raven canopy
#

and do not be tempted by the do-release-upgrade. its a trap!

#

ok..ice cream time (but no chocolate syrup :wahhhh:)

solar whale
#

14.04 EOL is April 2019.

timber mango
#

Looks like I have a functional 3.x.x alpha built .uf2 for trinket M0. About to try it now. ;)

#
Adafruit CircuitPython 3.0.0-alpha.3-2-gbf42611 on 2018-03-16; Adafruit Trinket M0 with samd21e18
#

My 74HC595 driver likes itt. ;)

solar whale
#

Well played!

timber mango
#

Thanks. I remembered what to do from last summer, once provisioned.

#

Is the gbf42611 specific to this build?

solar whale
#

As it’s been said”experience is recognizing your mistakes when you make the again β€œ πŸ˜‰

timber mango
#

Yeah I like that one -- heard (heh) you say that the other day.

solar whale
#

Ports is new in 3.0

#

Doc will get updated

timber mango
#

I got there using the old one, so it's not too far off. Also it asks you to refer to an ESP-xxx doc that came before, for more generalization (background).

#

(same page) quote:

For some background information skim the ESP8266 MicroPython firmware build guide to see more details on Vagrant and VirtualBox usage. The SAMD21 MicroPython build VM is very similar to the ESP8266 build VM.

raven canopy
#

i actually have a combined Vagrantfile, so i don't have to go back and forth.

timber mango
#

Hmm.

solar whale
#

Esp8266 came first - then samd. @raven canopy is breaking new ground!

timber mango
#
$ /bin/pwd ; du -ka | sort -rn | sed 5q
/home/nis/.vagrant.d
436744  .
436692  ./boxes
436688  ./boxes/ubuntu-VAGRANTSLASH-trusty64
436680  ./boxes/ubuntu-VAGRANTSLASH-trusty64/20180308.0.0
436676  ./boxes/ubuntu-VAGRANTSLASH-trusty64/20180308.0.0/virtualbox
#

That's where the VM disk image lives. I erased ~/.vagrant.d several times tonight. Now it's populated. ergo, that's the location (in Debian Linux). ;)

solar whale
#

@timber mango what is your host system?

timber mango
#

@solar whale

$ uname -a 
Linux xyx 3.16.0-5-amd64 #1 SMP Debian 3.16.51-3+deb8u1 (2018-01-08) x86_64 GNU/Linux

 $ cat /etc/debian_version 
8.10
raven canopy
#

yeah, that's how i removed my extras/test while combining the two vagrant files. easy peasy OS reset button. πŸ˜„

solar whale
#

@timber mango you can probably install the build system locally without using vagrant.

tulip sleet
#

@slender iron that PyCortexMDebug thing looks great!

timber mango
#

@solar whale I thought of that a few times. ;)

solar whale
#

Another day! Time for bed here.. 73

timber mango
#

73 Jerry. Thanks for your help!

#

I fixed the scrollback remarks to reflect current info on my issues with the Vagrantfile. :) /my_bad

#
 $ md5sum ./mpy-cross*
7ccad01a1a2f0e00fe9f53cab30f78fa  ./mpy-cross_3.0.0-alpha.3-2-gbf42611
e169878816021abd111dbc9da5c5dca3  ./mpy-cross-3.x-ubuntu-16.04-x64
 $ ldd ./mpy-cross-3.x-ubuntu-16.04-x64  ./mpy-cross_3.0.0-alpha.3-2-gbf42611
./mpy-cross-3.x-ubuntu-16.04-x64:
        linux-vdso.so.1 (0x00007fff9d19f000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f50b918b000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f50b8de0000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f50b948c000)
./mpy-cross_3.0.0-alpha.3-2-gbf42611:
        linux-vdso.so.1 (0x00007ffddd179000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7d318c2000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7d31517000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f7d31bc3000)
 $ 
#

Looks close enough, I think. ;)

raven canopy
#

@slender iron any idea how to get past that i2c_bit.RWBit.__init__ autodoc fail on apds9960?

raven canopy
#

ok. that's enough trying to break my board with atmel studio. time for the πŸ’€s...

drowsy geyser
#

Interesting. I tried to run the simpleio tone example code on CircuitPython 3.0 alpha 3 Latest (as of this afternoon's build) and I get

#
  File "main.py", line 8, in <module>
  File "simpleio.py", line 55, in tone
NameError: name 'audioio' is not defined```
#

Is this a bug (i.e., do we need to do something to make sure auidioio is included) or am I just being obtuse?

manic glacierBOT
solar whale
#

@drowsy geyser I think audioio is still β€œunder development β€œ

drowsy geyser
#

Ahhh, ok. Thanks @solar whale

bronze geyser
#

@tidal kiln thank you very much for your kindness.

#

I am setting up my spi conversation w/ polarity = 1: ```python
import board
import busio
import digitalio
from adafruit_bus_device.spi_device import SPIDevice

spi = busio.SPI(board.SCK, MISO=board.MISO,,MOSI=board.MOSI)
cs = digitalio.DigitalInOut(board.D10)
device = SPIDevice(spi, cs, baudrate=200000, polarity=1, phase=1)

tidal kiln
#

@bronze geyser top to bottom, what are the four traces? (fyi you can give them names in the logic software)

slender iron
#

@tulip sleet let me know if you want help setting up the gdb stuff

#

@raven canopy the easiest way to get rid of that error is to not use const around the variable

stuck elbow
bronze geyser
#

@tidal kiln they do have names - I clipped them. my apologies. Top (black) MOSI, second (brown) MISO, 3rd (red) SCKL, 4th (orange) CS.

#

@stuck elbow - Scott's interview on Amp Hour -> I liked learning why tannewt

raven canopy
#

@slender iron that's what i was guessing at...

tidal kiln
#

@bronze geyser ha! no worries.

#

if i'm reading that right, it looks like clock is idling high, at least in the later half of the trace where it's actually clocking out some data on MOSI.

#

i'm not sure what's up with the first part of that trace

bronze geyser
#

@tidal kiln. Thanks..hmmm.. i see your point.

analog drift
#

Does anyone know if the ethernet featherwing offers ipv6?

stuck elbow
#

I don't know, but I doubt it

ebon horizon
#

@analog drift the datasheet for the W5500 doesn't say anything and I didn't see anything in the Ethernet2 library, so it doesn't look like it.

analog drift
#

yea. I couldn't see anything in the datasheet. Only a feature to block certain ipv6 messages apparently

manic glacierBOT
#

PWM, Servo, Cap Touch and RGB LED are all finalised and mirrored into the board guides!

Currently working on NeoPixel and DotStar, and starting UART and I2C. Left are HID Keyboard, CPU Temp and Storage.

  • NeoPixel/Dotstar will each have one diagram per, different board each.
  • UART will use Flora v. of GPS for CPX/Gemma, breakout for the other boards, with wiring diagrams for every board.
  • I2C Scan/Sensor will be combined, and both will use the TSL2561, with Flora v. for CPX/Gemma, br...
manic glacierBOT
#

Missing .py files in examples folder -

  • Adafruit_CircuitPython_FeatherWing

FeatherWing example.py files are nested in subdirectories. Should we figure out a way to have adabot check nested folders, or maybe just put a dummy/general .py in the examples/ folder?

Autodoc failed on ReadTheDocs. (Likely need to automock an import.) -

  • Adafruit_CircuitPython_APDS9960

For the APDS9960, do you want me to remove the const on the APDS9960_ENABLE assignment? I just hope it ...

raven canopy
#

@idle owl "full report" not necessary on the adabot doc findings, since the rebuilds took care of the bulk of it... πŸ˜„

slender iron
#

would it make sense to be able to give .value properties a generator and have it infinitely change the value?

idle owl
#

I'm assuming I have no idea, but I'll ask questions anyway... with reference to what?

slender iron
#

playing audio

idle owl
#

ah

raven canopy
#

digs into pro-speak dictionary...comes up empty lol. i'm there with you kattni...i needed context. πŸ˜„

slender iron
#

so python dac = analogio.AnalogOut(board.A0, sample_rate=44100) wave = audioio.Wave(SINE, sample_rate=44100) dac.value = wave

#

its weird in that play is not explicit but it matches how when you assign a value its immediate

raven canopy
#

and then use it like:??

if widget:
    wave = audioio.Wave(SQUARE, sample_rate=44100)
idle owl
#

I remember it being weird

slender iron
#

@raven canopy that wouldn't actually play it

#

if you called it square_wave and then did dac.value = square_wave it would play

raven canopy
#

ok. i get backwards on that sometimes. obviously. πŸ˜„

slender iron
#

I do kinda like that because then you could do: ```python
for i in range(10):
if i % 2 == 0:
dac.value = sine_wave
else:
dac.value = square_wave
time.sleep(0.1)

idle owl
#

Nifty

raven canopy
#

from a user perspective, would it be easy_ish_ to figure out where the problem is when an exception is raised?

#

more to the point: does the exception trace back to the original definition, or the line where it is called in dac.value = x?

slender iron
#

exception for what?

ruby lake
#

evening all

#

last of the 12hr work days for a bit

slender iron
#

thats good @ruby lake my brain's been chewing on audio api stuff for the last 24 hours

raven canopy
#

if they used any wrong args in say, defining the auidoio object.

slender iron
#

gotta go to dinner soon though

#

wrong args would happen at the constructor

ruby lake
#

@slender iron ah, tell me later then πŸ˜‰

raven canopy
#

touche... (atmel studio has fried my brain for the day)

slender iron
ruby lake
#

I'll have a look

slender iron
#

thanks!

#

ok, talk with you all later! have a good weekend! not sure how much I'll be on

raven canopy
#

πŸ‘‹

ruby lake
raven canopy
#

πŸ• time for me as well. later folks! don't break anything without me (please) πŸ˜„

idle owl
#

@slender iron Have a good weekend!

#

@raven canopy later!

idle owl
#

If I want to run a section of my while True: twice, is there a better way then for i in range(2): ?

unique mural
raven canopy
#

@idle owl that should work. assuming something like this:

for i in range(2):
    while True:
          if not happy:
               break
idle owl
#

I was doing it inside the loop, so only part of the loop went twice, but it did work.

#

I wondered if that was the best way is why I asked. Whether there was a better way.

raven canopy
#

well, only other way i can think of is to put it in its own function, then enumerate a variable to run it x times. inside the for..loop seems the best to me.

idle owl
#

Thanks! πŸ˜ƒ Also I'm not even doing it that way anymore πŸ˜„ Ugh. Fighting with DotStars. The timing is totally borked on them with any kind of iteration. Any kind of rainbow_cycle type thing crawls. So I did some animations with slices. And called it good.

#

Hopefully that's good enough.

idle owl
#

(β•―Β°β–‘Β°οΌ‰β•―οΈ΅ ┻━┻

#

DotStars are screaming fast on Gemma, but not on Metro M0 Express or Feather M0 Express.

raven canopy
#

that poor table... πŸ˜ƒ

#

does seem odd though.

raven canopy
#

@idle owl which pins did you use on express boards?

#

ahh phooey...you...n/m . there you are! πŸ˜„

idle owl
#

D8 and D11 or something on Metro. And then A1 and A2 so I could make code that worked across all the boards. Didn't matter.

raven canopy
#

so you didn't use SPI for either? (being lazy and not looking them up)

idle owl
#

adafruit_dotstar lib

#

Or I don't get your question

#

oh you mean SPI pins specifically?

raven canopy
#

right. i remember a discussion a while back, and looking at the lib in the __init__, it will try the SPI first, then digitalio if it can't lock the SPI.

idle owl
#

oh.

#

Hmm.

raven canopy
#

which would def explain a difference in speed.

idle owl
#

ok

#

I'll try that. Though I didn't use SPI on the little boards either.

#

non-express

raven canopy
#

yeah, i was heading to pin defs to see whats up.

idle owl
#

My turn to be lazy, which are the SPI pins

#

MISO etc?

raven canopy
#

yeah. SCK, MISO (MO), MOSI (MI)

#

updated for silkscreen

idle owl
#

Nope.

#

Still entirely slow.

#

Do I use MISO or MOSI

#

I know clk is SCK

raven canopy
#

MOSI

idle owl
#

Ok nope.

raven canopy
#

hmmm

idle owl
#

I tested Trinket and my suspicions were confirmed: it's screaming fast on Trinket too.

#

I need to test it on Itsy

#

CPX is also equally slow.

#

but not using SPI pins on those either.

#

I'll try SPI on Itsy.

raven canopy
#

i didn't see anything in the mpconfigs, or the makefile that stood out to me...

idle owl
#

Slow on SPI on Itsy.

#

SAMD21E vs SAMD21G?

#

I'm turning into a pumpkin. Which might explain the headache. I'll be back at this tomorrow.

raven canopy
#

G vs E is just physical size (AFAIK). other difference could be DMA/non-DMA, but i can't find the answer to that...

idle owl
#

There's some pin differences if you look at the sheet, but that wouldn't matter, it would just mean there's none of x-pin. The pin is the same if it exists.

#

But why DMA on non-express and no DMA on express?

#

If that's it, I mean

raven canopy
#

could have to do with the external flash, which isn't using DMA right now (according to commit messages i'm reading)

#

meaning, that's why SPI DMA isn't on... like i said, i can't find the answer to the question i posed. πŸ˜„

idle owl
#

πŸ˜ƒ

#

Ok.

#

I'll look more into it tomorrow.

#

Thanks @raven canopy πŸ˜ƒ

raven canopy
#

tomorrow sounds like a good idea. i'm on the cusp of having atmel studio giving me the info i want...but it's put up a fight all day.

solar whale
#

@idle owl for the dotstar tests you have been doing, are you using CP2x or 3.0?

drowsy geyser
#

@solar whale @idle owl is using 2. I'm replicating with 3 to identify bugs.

solar whale
#

@drowsy geyser ok. Good. Just curious. It sounds like you two have it covered. Let me know if you need any help with testing.

drowsy geyser
#

Ok! Thank you!

#

On the schedule today is: pulseio, simpleio, dotstar, and hours of cutting a lace pattern in acrylic for a lamp. πŸ˜ƒ

solar whale
#

Sounds like a good day!

drowsy geyser
#

Yep. I'm going to eat breakfast, grab my acrylic, and walk over to the maker space and work there all day. Woo hoo!

raven canopy
#

make ... DEBUG=1 how did i not see that earlier? ugh. atmel studio still spits out some weird numbers, but i can at least see a backtrace with args now... 🀺

slender iron
#

@unique mural CircuitPython libraries don't currently run on Raspberry Pi

unique mural
#

Oh πŸ™ƒ

slender iron
#

(we'd love to get there though)

manic glacierBOT
#

Hi @mlmcnees, Thanks for the report, and I'm sorry some of the links sent you to the ReadtheDocs maze page. The team has been actively improving and refactoring docs.

You may already be aware, but I'll post here for others who may view this issue at a later date:

  • Docs can be found at https://circuitpython.readthedocs.io and that will direct you to the version specified as the default.
  • Other versions of the documentation can be accessed from the bottom of the sidebar navigation triang...
raven canopy
#

@unique mural i was peeking at your question last night, and if you aren't wedded to the RFM9x, there is an RPi Python fork for the RFM69 chip.

manic glacierBOT
drowsy geyser
#

πŸ˜‹ Silly programmer. Saving that file as "maiin.py" seems to be related to your problem.... #InsufficientBloodMntDewLevels

raven canopy
#

lol. "double tap" is not a universal solution. πŸ˜„

drowsy geyser
#

@raven canopy Not universal, but it solves a lot of problems. πŸ˜ƒ

solar whale
#

Victory! I was able to hack the is31fl3731 library to be able to use my Pimoroni Scroll Phat with Circuitpython. Now I just need to figure out if I have a use for it. The Scroll Phat is designed for use with Raspberry Pi, but is is just an I2C device - it has 17X7 pixels and the mapping took awhile to sort out especially for the use of text via framebuf. I'm not sure if it there is enough interest in it to add it to the library but it was a good challenge.

idle owl
#

@solar whale Nice!!

manic glacierBOT
#

I noticed the FeatherWing issue. If we can update Adabot to check subfolders, that's great, but I think in the case of FeatherWing, it might still be a good idea to have a readme.py in that folder anyway since it's an unusual library. Something explaining that each folder contains examples to go along with the associated FeatherWing.

We'll need to test it if we remove const but I think we should. We need to make sure it gets tested and doesn't sit for ages, though. And, if it's something...

manic glacierBOT
raven canopy
#

nice one @solar whale!

#

@idle owl RE: Issue 682 - the links in the release notes include index.html... they shouldn't.

idle owl
#

Ah so it's something overall we need to fix?

raven canopy
#

yeah. i'm guessing at some point 'index.html' became invalid, but copy+paste release notes didn't get updated. (not knocking copy+paste...standard is good, especially when the work is already done)

idle owl
#

So add it to the list? πŸ˜„

raven canopy
#

i almost went ahead and edited the release notes earlier...but i've met my "break stuff" quota for the the week. πŸ˜„

idle owl
#

That's totally fair πŸ˜ƒ

#

So do you think it should be added to 566 then?

#

Or become its own issue.

#

Also, is there a check for it? Or is it literally every repo needs an update...

#

And more questions without letting you answer first? πŸ˜‰

raven canopy
#

it's not really a documentation error. it just the link that's in each of the release notes. could probably use Issue 682, and just rename it. it only affects the circuitpython repo (lol break...waiting for more questions). I can look through the library releases; haven't yet.

idle owl
#

Ok. Can you update 682 then and comment on it?

raven canopy
idle owl
#

Oh.

raven canopy
#

a redirect might also work...don't know how wide the use of /index.html has been/is.

#

i'll put that screenshot up on the comment though, just to clear up what the issue is.

#

actually, grabbed a better one while hovering over the link...

idle owl
#

3.0.0a3 is updated.

#

2.2.4 is updated.

raven canopy
#

well, nevermind then. hehe. you moved fast on me again... πŸ˜„ ⏩

idle owl
#

I'll update and close the issue. I'm not going to update past that.

raven canopy
#

seems fair enough. as long as we break the copy+past chain, should be good going forward.

idle owl
#

Did you already update the issue? I don't see any updates

#

didn't want to collide

raven canopy
#

nope. you are ahead of me. i was still piddling with "pretty graphics"...to the extent windows can do that.

idle owl
#

πŸ˜„ Ok. You can still update if you want to

#

I can wait and close it out when you're done

raven canopy
#

do you think its needed? just for future clarification?

idle owl
#

I think it could be helpful, yes

raven canopy
#

ok. on it..

idle owl
#

Excellent

manic glacierBOT
idle owl
#

Thank you @raven canopy! I'm following up and closing.

manic glacierBOT
raven canopy
#

almost did that amazing artwork in red...but: ☘
belated Happy St Patrick's Day everyone!

idle owl
#

Ok, merged everything you sent in. I'm rerunning Adabot now.

raven canopy
#

k

idle owl
#

Well it's shorter....

raven canopy
#

lol

#

"thems there are encourgen werds"

idle owl
#

Well I thought Scott said he'd done what he thought needed to be done to fix the webhook issues, and there's still a list there. I don't think that's something you can fix.

#

So without that section it's ```Missing license.
Adafruit_CircuitPython_LSM303

Not in bundle.
Adafruit_CircuitPython_FocalTouch

ReadTheDocs latest build has warnings and/or errors -
Adafruit_CircuitPython_AVRprog
Adafruit_CircuitPython_VL6180X
Adafruit_CircuitPython_VL53L0X
Adafruit_CircuitPython_Thermal_Printer
Adafruit_CircuitPython_OneWire
Adafruit_CircuitPython_TCS34725
Adafruit_CircuitPython_LSM9DS0
Adafruit_CircuitPython_LSM9DS1
Adafruit_CircuitPython_APDS9960

Missing .py files in examples folder - 2
Adafruit_CircuitPython_FeatherWing
Adafruit_CircuitPython_LSM303```

#

And taking out the whole readthedocs.yml section too since that's looking for the wrong thing still. I didn't update adabot yet.

raven canopy
#

hmm. i wonder if she's still grabbing at those html_static_blah warnings. time for some 'vestigatin....

idle owl
#

Also feel free to check off anything you fixed but didn't do anything do if it's not on the list anymore

#

aka you can update the 566 checklist accordingly if you want

raven canopy
#

after the first two on the 'RTD last build warnings...', it looks like those are all going to need new releases. RTD is building off of releases before the doc updates (brent's automock is the last release on these two). i'll keep going down the list...

idle owl
#

Ok

idle owl
#

So... connecting it to hardware SPI didn't seem to change the speed at which it wrote to the DotStars. I'm testing Gemma again on what the guide says should be HW SPI to see if it's even faster. Seems about the same. Testing the rainbow cycle since it's the only thing that takes a while.

#

I had made changes to the rainbow_cycle code but didn't realise it doesn't work right on longer strips, so I had to change that back. Eh.

#

It works on small things like 16 ring of NeoPixels, but scale it to 120 and it rewrites jumping a bunch of pixels. So if you want a non-smooth fast rainbow, I have you covered. But if you want the smooth one on a long strip, you get to wait.

#

33 minutes on a strip of 120 NeoPixels in fact. πŸ˜„

#

It's going to be significantly less on this strip of 72 DotStars. I should change the number to 120 and let it think it has the same number and then time it. Yah I'll do that.

raven canopy
#

i still can't understand the difference. i did a little more reading last night, and an answer remained elusive. And...33 minutes? that's...4 minutes a pixel? or 4 minutes per color?

idle owl
#

255 colors over 120 pixels programmatically. But yes apparently.

#

Rainbow cycle gets slow on long strips.

#

Fast on short ones. It has to be the code, that isn't a HW failure.

raven canopy
#

do the changes occur linearly, or does it take longer for changes the longer it runs?

idle owl
#

Linearly as far as I know.

raven canopy
#

if only we had timeit...

#

in other news, i think i just cleaned the bootloader off my trinket....

idle owl
#

I mean I could do time.monotonic on either end and subtract it.

#

Oh. That's a thing.

#

But this stupid and inefficient way using a stopwatch and waiting for lights to start onto the next section of code somehow seems better πŸ˜„ (it doesn't, but sunk-cost fallacy... I'm already 8 minutes into it, so obviously I should keep doing it this way...)

raven canopy
#

yep... Memory4 is all full of ff. now, where did that "put bootload back on" page go. πŸ˜„

idle owl
#

Still have to keep remembering that pin assignments are arbitrary magic and the pins themselves are what they are based on the chip. As in it's still an odd concept to me and I have to keep it in mind when dealing with things like this.

#

Ooh I see some purple. Red's on its way back.

raven canopy
#

well, that's a fail. i can do this....i can do this...i think i can, i think i can. πŸ˜„

idle owl
#

Yes! You can!

#

So... I really thought this would be faster. It is in fact, certainly not. And may be slower, we'l find out in 4 minutes. This tells me that the rainbow_cycle code has its own built in limiting factors with doing multiple iterations over different sets of large numbers, and write speed/HW SPI/LED type, none of that matters for rainbow_cycle specifically. It's the length of your LED strip that matters.

#

Interesting find.

#

I made a note in the NeoPixel CP Essentials guide page, and I will do the same for DotStar.

#

So when we get the "my rainbow isn't moving" issues, find out how many LEDs they're using. It's probably moving. Incredibly slowly.

#

This has no bearing on the Express vs non-Express board DotStar speed issue. Which is worth the research to know. Don't use rainbow_cycle for a speed comparison.

#

38 minutes.

#

Checking with the actual strip length of 72. (I had it at 120 for direct comparison to the NeoPixel time.)

raven canopy
#

"And NeoPixel wins the Rally de Blinka!!! The crowd goes wild!!!" well, 38 minutes later they do... πŸ˜„

idle owl
#

πŸ˜„ lol

#

13 minutes for 72.

raven canopy
#

this little trinket refuses to accept anything. you're sick little buddy....let me help! πŸ€’

idle owl
#

Aww

raven canopy
#

13 minutes...that's not "bad". comparatively.

idle owl
#

If I fill the entire thing with a single rainbow animation - so all pixels are displaying the same rainbow cycle, not where the cycle goes the length of the strip - takes about 30 seconds. On DotStar. On Gemma.

#

So.... 13 minutes and 30 seconds respectively. ```python
def rainbow_cycle():
for j in range(255):
for i in range(num_pixels):
idx = int((i * 256 / num_pixels) + j)
pixels[i] = wheel(idx & 255)

def rainbow():
for g in range(255):
pixels.fill(wheel(g))```

#

I tried the rainbow_cycle using a modulus instead, however, it doesn't scale well. It's faster. But, works on small strips, not on big ones.

#

While it's a bit of a white whale for me, I'm not doing to deal with figuring that part out right now. Suffice it to say: rainbow_cycle doesn't scale well. Be prepared for it.

raven canopy
#

if my math is right (not often), rainbow_cycle is iterating 30,600 times for a 120 pixel strip. Which puts each pixels[i] update at an interval of 14 seconds (30600 / (35 minutes * 60 seconds [2100]))

#

#pointlessmathispointless

idle owl
#

I totally get it, I've been at this for 2 days. πŸ˜„

#

But figuring out that rainbow_cycle is the same across both types of LEDs and different boards is kind of satisfying.

#

Ok NeoPixel on ItsyBitsy takes about 30 seconds for the rainbow() code above as well. So that's that test complete. Rainbow code is what it is and is apparently hardware agnostic.

#

I went to all the trouble to get more DotStars out... why.

#

Oh right, verifying the Trinket wiring diagram.

#

Time for dinner!

raven canopy
#

bon apetit!

raven canopy
#

if anyone wants to hook me up with SAMD21 fuse settings (or point me to them), would be greatly appreciated. lost my bootloader during debugging, and can't get it to program and/or verify....

solar whale
#

Tried the am2320 temp/humidity sensor with CP 3.0 today. Worked great. Anybody need some used dht22s πŸ˜‰ I’m converted!

raven canopy
#

back in business!! something happened with atmel studio/windows/who-knows-what, nvm boot protection fuse got changed, and then my solution kept overwriting bootloader after re-programming. endless loop. at least, i think that's what happened...

idle owl
#

πŸ˜ƒ

raven canopy
#

that usb "da ding" never sounded so good.

slender iron
#

@idle owl do you have autowrite on? turning it off and doing it manually will speed it up

idle owl
#

It's on, yes. I'll see how much of a difference it makes. I tried it off and hadn't seen that much of an improvement, but I'll try it again.

#

Does not explain the difference of DotStar performance between express and non-express boards though.

slender iron
#

we should chat about it monday

idle owl
#

Agreed.

ruby lake
#

lol at language bot

idle owl
#

πŸ˜ƒ It's overly careful at times.

ruby lake
#

"praise computers, damm[sic] computers" πŸ˜‰

#

~computers

idle owl
#

You can edit messages. If you hit the up arrow it'll automatically open editing for the most recent message.

ruby lake
#

mm

idle owl
#

Found that accidentally at some point.

cunning crypt
#

On mobile (Android at least) you can also press and hold.

raven canopy
#

yeah, after i learned the up-arrow, it took me a while to learn the long-press on Android. πŸ—œ

#

and the easiest way to @ someone, by clicking on their avatar. beats typing...

#

(i pre-type my meeting updates...which is why @'s don't show up)

idle owl
#

Turning off auto_write has not sped up the rainbow_cycle code.

#

Same speed as with auto_write on.

raven canopy
#

ok, now that i finally have useable data...i'm ready for veg time. haha. night folks!

manic glacierBOT
manic glacierBOT
#

This is a minor housekeeping follow up to #682. @sommersoft @kattni @tannewt

RTD Versions page

<img width="995" alt="screen shot 2018-03-18 at 9 17 35 am" src="https://user-images.githubusercontent.com/2680980/37568065-5e05b676-2a8d-11e8-9fd2-c392100acd14.png">

Landing page for 2.2.1, 2.2.0, and 2.1.0

<img width="779" alt="screen shot 2018-03-18 at 9 17 49 am" src="https://user-images.githubusercontent.com/2680980/37568074-7630ad1e-2a8d-11e8-8437-fff02279839a.png">

RTD...

manic glacierBOT
#

This is as far as I got this weekend following your suggestion (diff):

>>> import rtc
>>> import time
>>> rtc.RTC() == rtc.RTC()
True
>>> rtc.RTC().datetime()
(2018, 3, 17, 23, 58, 10, 0, 0, -1)
>>> time.localtime()
(2018, 3, 17, 23, 58, 10, 0, 0, -1)
>>>
paste mode; Ctrl-C to cancel, Ctrl-D to finish
=== class RTC(object):
===     def datetime(self):
===         return (2018, 3, 17, 21, 1, 47, 5, 76, 0)
===
...
manic glacierBOT
solar whale
#

Yes. High on β€œtodo” list! I assume I can use CPX to test.

idle owl
#

Sure that would work fine. Making sure it hadn't gotten missed.

solar whale
#

Hopefully will get to it tomorrow.

idle owl
#

Do you have time to comment on it?

solar whale
#

Nothing to say yet.

idle owl
#

I meant can you comment that you caught it but haven't gotten to it

solar whale
#

Sure

idle owl
#

Thanks!

solar whale
#

No problem.

solar whale
#

@slender iron @opal elk @idle owl Just tried the liss3dh PR27 on a CPX. -- seems to work just fine. spinner.py and simple accel read tests also continue to work with it. Posted note to PR.

#

That was under CP3.0

idle owl
#

Thanks @solar whale

solar whale
#

No problem - glad to finally get around to it. CPX was getting dusty πŸ˜‰

idle owl
#

We needed the named tuple feature tested, that was what was changed. Looks good? @solar whale

solar whale
#

It does not break anyhting - still trying to figure out how to use the new feature

idle owl
#

Ah πŸ˜ƒ Ok.

solar whale
#

how can I test the named tuple?

idle owl
#

I'm actually not sure.