#circuitpython-dev

1 messages ยท Page 280 of 1

onyx hinge
#

(I didn't think that was even possible)

#

oh good, FTHR840BOOT + u2f still worked

manic glacierBOT
ionic elk
#

is there a place where all the CircuitPython 2020 posts so far are compiled?

slender iron
#

at the bottom of every post has links

#

and the bottom link is to last year's which has all of the 2019 ones

indigo wedge
#

I like that the bot keeps track of boards ๐Ÿ™‚

half sedge
#

Hi, since a bit of time I had two mysterious issues (1) Mu would refuse to start (2) I discover music/images/fonts/... folder on my CIRCUITPY drive. It seems that at startup, Mu (the recommended editor) is putting file on my CIRCUITPY drive. Issue (2) is a bit annoying, but is not a problem and it took me time to understand it was Mu doing it... for a long time I believed that was the new normal when upgrading to 5.0.x. But that behaviour of Mu is a pain with a non "Express" board such as a Trinket M0. In that case it start filling the file system, then Mu get stuck with issue (1). So Mu is self blocking itself, and making filling my board.

#

Is this a know Mu issue? (I might have upgraded to a alpha/beta release of Mu, because I wanted to solve (1)... I don't know when this "feature" was added or if I clicked somewhere to enable that.

tulip sleet
#

I have seen this mentioned in Mu issues, and am looking now.

half sedge
#

Great, Mu is the recommended editor, so this could be hurting beginner.

harsh matrix
#

Just need a documentation story: make a compatibility matrix page.

half sedge
#

@tulip sleet Exactly my problem. Great... I can confirm that this is a mess (and it took me a lot of time to figure out. Mostly I was upgrading my board, then starting Mu. So at one point in time I started to believe that this was a 5.0 feature !!!

tulip sleet
#

I don't know exactly why this is happening, as I don't think it happens to everyone in your situation.

#

it should only copy that stuff in PyGameZero mode - I think

orchid basinBOT
half sedge
#

@tulip sleet Maybe it started because I acquired and started using a PyGamer!? I had been happily using Mu before, it worked ok with my PyGamer... and maybe I started to have problem when returning to older/smaller box. As if PyGamer had been detected once, the mode enabled, and then, as a virus, contaminating non PyGaming board. I cannot guarantee this is the right sequence of event, but it is a very possible sequence of event.

#

At least, I am in Circuit Python Mode for the moment...

tulip sleet
#

i don't think so, because the PyGamer doesn't use PyGameZero, that's for regular python. But if you upgrade to the latest alpha and remove the offending files and directories, do they reappear? If so, then maybe another comment on that GitHub issue is in order.

indigo wedge
#

Doesn't look like i can request a review @slender iron

slender iron
#

kk, will look now

indigo wedge
#

btw the stm feather description says it's "upcoming" ๐Ÿ˜„

indigo wedge
#

thanks ๐Ÿ™‚

#

oh my port made it to the new beta

slender iron
#

yup! ๐Ÿ™‚

indigo wedge
#

right now it's super pre-alpha with the bootloader situation ๐Ÿ˜„

slender iron
#

ya, np

#

its taken 3 major releases for nrf to mature

half sedge
indigo wedge
#

on the peripheral side i guess it's fairly ok, spi uart and i2c are at least half-implemented

tulip sleet
#

@half sedge Thanks for the testing. Please do reply to that issue, I'm sure @plucky flint will be interested. (@plucky flint scroll back to hh:06 for the start of this thread)

slender iron
#

having this first commit in is most important. now folks can expand functionality and board support

orchid basinBOT
half sedge
#

@tulip sleet @plucky flint I updated https://github.com/mu-editor/mu/issues/872 and it seems easy to reproduce (at least on my MAC mini). In practice, the only reason I use Mu is to be able to recommend (and demonstrate) it to other... for personal use, I take vi whenever I can... but I cannot recommend that. ๐Ÿ˜‰

manic glacierBOT
solar whale
#

@slender iron I did a build of Beta3 and the mimxrt builds all succeeeded but threw some warnings - is this expected ```Build feather_mimxrt1062 for en_US took 68.30s and succeeded
make: Entering directory '/home/jerryneedell/circuitpython_master/ports/mimxrt10xx'
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
QSTR updated
sdk/devices/MIMXRT1062/drivers/fsl_clock.c:24:6: warning: "ARMVFP" is not defined, evaluates to 0 [-Wundef]
24 | #if (ARMVFP >= ARMFPV5) &&
| ^~~~~~~~~~
sdk/devices/MIMXRT1062/drivers/fsl_clock.c:24:20: warning: "ARMFPV5" is not defined, evaluates to 0 [-Wundef]
24 | #if (ARMVFP >= ARMFPV5) &&
| ^~~~~~~~~~~
sdk/devices/MIMXRT1062/drivers/fsl_lpi2c.c: In function 'LPI2C_RunTransferStateMachine':
sdk/devices/MIMXRT1062/drivers/fsl_lpi2c.c:1037:31: warning: cast increases required alignment of target type [-Wcast-align]
1037 | base->MTDR = *(uint16_t )handle->buf;
| ^
common-hal/microcontroller/Processor.c: In function 'common_hal_mcu_processor_get_uid':
common-hal/microcontroller/Processor.c:62:10: warning: cast increases required alignment of target type [-Wcast-align]
62 | ((uint32_t
) raw_id)[i] = OCOTP_ReadFuseShadowRegister(OCOTP, i + 1);
| ^
Converting to uf2, output size: 492544, start address: 0x6000c000
Wrote 492544 bytes to build-feather_mimxrt1062/firmware.uf2.
make: Leaving directory '/home/jerryneedell/circuitpython_master/ports/mimxrt10xx'

tulip sleet
#

@solar whale I'm not surprised about the warnings; it's really early code now. Each port enables or disables warnings as errors. Those seem pretty simple, and we can ping @indigo wedge about those here.

solar whale
#

ok -- not a problem -- just wanted to make sure I had not missed something.

indigo wedge
#

yeah those are ok for now ๐Ÿ˜„

onyx hinge
#

dreams of a trinket m4

#

nah it's probably silly

lone axle
#

@solar whale when you have a sec can you try the new v02 apk build in the root of the repo (https://github.com/FoamyGuy/Android_Bluefruit_Playground) and send me a photo of it on your device. The selector squares and pixels dots won't match up yet, but this build contains a new asset for the density I think your device will fall under. I've tweaked the color of the board to red for now so it will be easy to tell if it is showing the new asset.

#

as long as it does show the new asset, and it fits the screen better I should be able to re-align the selectors and pixels dots to match it.

slender iron
#

@onyx hinge the smallest qfn is too large to fit

#

would have to go bga

onyx hinge
#

I have a nice neopixel demo but it is way too slow without FP. I guess I can stick an itsybitsy m4 on it instead.

solar whale
#

@lone axle what screen do you want to see? I am not seeing a red board?

lone axle
#

the neo pixel screen

#

hmm, still blue and looks same as before?

solar whale
#

yes

#

disconnect works!

lone axle
#

Yep, got that and few other things on the list knocked off.

#

I'm going to try changing out a different asset if you have another minute to check again

solar whale
#

sure

lone axle
#

Ok, there is a v03 apk in the repo now

solar whale
#

downloading

#

oohh red

lone axle
#

hooray

solar whale
#

still not doing screen captures correctly

#

there it is

lone axle
#

nice, okay comparing back to the photo from the other day with the blue one it looks like the red one is not getting shrunken like the blue one was.

#

So now I can re-align them to fit the new asset and they should line up properly on all devices with the same density as that one

solar whale
#

great!

#

I have to go offline -- Thanks for the updates -- great job on this!

lone axle
#

Yep, thanks again for the test. I'll let you know when there is a new one with them aligned.

manic glacierBOT
#

@tannewt

@pbricmont Thanks for the link! Are the displays all on the same bus or are they different?
In the Arduino version, all six displays are on the same SPI bus. The CP SPI buses seem much faster (24mHz?) but multiple buses are required due to the 2 per bus limit. Also, I had to make all the wiring as short as possible to get it to work at all.
Would you be interested in debugging if we got you a JLinkEDU?
Yes, I would be happy to investigate further. I have reviewed the CP deb...

slender iron
manic glacierBOT
manic glacierBOT
solar whale
#

@lone axle the picture above was from an old Moto-x Android 5.1 pretty good alignment

cobalt dawn
#

i have a v40 thinq i can test on

#

and acsess to some other phones(ie I will make my friends let me use their phones)

solar whale
#

@cobalt dawn I think feedback to @lone axle on any phones would be appreciated.

cobalt dawn
#

cool pester me, after today i will be living at work till monday.. sorta

solar whale
#

good luck with that ๐Ÿ˜‰

cobalt dawn
#

i'll live

#

the idea of the cp app has me jazzed

solar whale
#

I really like the CPB -- so many great ways to use it.

cobalt dawn
#

yeah, im itching to use it

#

i have a broken finger so im not doing alot atm

solar whale
#

it also works well with the Bluefruit Connect App -- the one you have been using. If you have something running that it can talk to.

#

I hope it heals quickly !

cobalt dawn
#

bones do what the do....

#

I could not find a compatable sketch for the special neopixel sketch

solar whale
#

hmm -- the demos I have seen have been for CircuitPython

cobalt dawn
#

well the one for the current bluefruit app are arduino only i think

solar whale
#

I use it with CircuitPython all the time.

cobalt dawn
#

yoau are talking tho origblefruit app right?

solar whale
#

I think the IOS and Andriod apps both work -- I use IOS mostly.

cobalt dawn
#

oh im talking the other part of the app

#

the more refined one that needs the sketch

#

to set each pixel to a color

#

oddly mine is not showing in the list

solar whale
#

oh -- forgot about that -- been a long time.

cobalt dawn
#

i have to work out why the app cant see it atm

solar whale
#

although -- I would expect that the old neopixel sketch should work with the CPB - if you recompile it for the CPB

cobalt dawn
#

above my current skill

solar whale
#

just tried and it will need some work ...

cobalt dawn
#

im willing to learn

#

tho i may need someone to type

#

heem, aparently my cpb has no uart atm

solar whale
#

ah -- that sketch may not work -- it is for the older BLE chipset -- may need a lot of work....

#

what are you trying to do with the UART?

cobalt dawn
#

just connect in general

#

i did before

#

i think i have to load difrent code onto it

#

no biggie

#

i can do it latter

lone axle
#

@cobalt dawn That would be great! I'm happy to get it tested on as many different devices as possible at this point.

#

@solar whale ty for the Moto X pic. Looks like that one did get scrunched a tiny bit but not nearly as much as the ZTE device. I may end up tweaking that asset just a hair as well so it won't have to shink and then it should align perfect.

onyx hinge
#

good morning! I think I'm looking at simplex spi on stm32 first, then getting back to apparently more DMA hangs on samd, this time when audiomixer enters the picture. may end up pulling my hair out over that one

solar whale
#

I used to have hair .... but a career as a programmer and raising 2 children took care of that

onyx hinge
#

I don't know if this is important, or if it's different than other boards, but when constructing (or maybe try_lock()ing) an SPI object on stm32, its MOSI pin gets pulsed high for about half a microsecond

manic glacierBOT
#

Testing performed: On a feather stm32, I used a test program to exercise duplex, in-only, and out-only SPI. write, readinto, and write_readinto worked properly in each case where they should be applicable. I scoped clock and MOSI, and hooked MISO to GND and 3.3v to observe that correct values were input.

I did notice that a short (.5us) pulse would occur on MOSI during SPI construction (or maybe activation via do_lock()) but this is almost certainly preexisting and seems like it would ...

onyx hinge
#

@ionic elk just curious, and don't want to complicate things by raising it on the PR itself, is "GPIO_MODE_AF_PP" actually an input when the AF is an input?

#

I was surprised that MISO is set to a _PP pin mode

ionic elk
#

Yeah there's no input state for AltFunction

ionic elk
#

only options are

#define     GPIO_MODE_AF_PP   0x00000002U
#define     GPIO_MODE_AF_OD   0x00000012U
onyx hinge
#

I would say "makes sense" but that would be a lie, more like "filed away for future reference"

manic glacierBOT
ionic elk
#

@onyx hinge there is no sense with STM32, only madness on this path

pastel panther
cobalt dawn
#

@lone axle just dm me deets

lone axle
#

@cobalt dawn The Repo is here: https://github.com/FoamyGuy/Android_Bluefruit_Playground In the root directory there is the v03 debug APK file that you can install on your device. The APK link at the top of the readme is broken currently so you'll need to either click the file up above, or else download the whole repo. There are good links in the readme for both the UF2 firmware you need on the CPB as well as the PDF version of the learn guide for the iOS version of the Bluefruit Playground app, goal is for the Android one to behave the same so the PDF should be applicable to both.

#

On an unrelated note, I (@android_ninja) have finally figured out how to change my username. I go by @lone axle pretty much every where else online, so I am changing to that here. Android_ninja was leftover from the project I first joined discord for. Didn't know if it would let me change it.

manic glacierBOT
#

Re this thread:
https://forums.adafruit.com/viewtopic.php?f=58&t=160746

Recreated underlying issue with a simple REPL test:

5.0.0 beta 2

Adafruit CircuitPython 5.0.0-beta.2 on 2019-12-20; Adafruit Circuit Playground Bluefruit with nRF52840
>>> class Foo(tuple):
...     pass
... 
>>> foo = Foo((1,2))
>>> foo
(1, 2)
>>> foo[0]
1
>>> 

5.0.0 beta 3

Adafruit CircuitPython 5.0.0-beta.3 on 2020-01-08; Adafruit Circuit Playground Bluefruit with ...
cobalt dawn
#

@lone axle is there a known good sketch to throw on my cpb?

#

or code for mu

#

sorry im on pred, my brain is broken

lone axle
#

@cobalt dawn No worries, there is a UF2 file, it's linked near the top of the readme. You can get it from here: https://adafru.it/HCh

#

since it's a UF2 you'll have to put the CPB in bootloader mode

#

(also be sure to backup anything important, I'm not sure if it overwrites your files or not)

orchid basinBOT
cobalt dawn
#

all green is bootloader mode right?

idle owl
#

Yes

cobalt dawn
#

reciving an error copying the file over

#

odd one

lone axle
#

hmm, can you grab a screenshot? I don't recall having any issues but maybe seeing it could jog my memory if it's something I've seen in the past

cobalt dawn
#

I haven't seen that error in a good 10 years

manic glacierBOT
lone axle
#

weird, don't think I've ever seen that one

cobalt dawn
#

i think it switced to an io error when i hit try again

lone axle
#

the board might have started switching back to non-bootloader mode depending how far it got into the process possibly?

cobalt dawn
#

thats my thought, the led's are off

#

71% each time i tried

orchid basinBOT
lone axle
#

That is weird, you might try loading the one of the official CP uf2 files to see if it's doing that for every firmware file or just the one used with the app.

cobalt dawn
#

ill bring it to the lab with me to try, i think the got mu on the laptops, im running a bit late to get there

idle owl
#

The BOARDNAMEBOOT drives show up after installing Arduino, right? Which is to say, the bootloader is the bootloader regardless of what software it's running? Or am I missing something obvious and it doesn't work the same once Arduino is introduced.

solar whale
#

should be the same -- bootloader does not know what was running.

idle owl
#

And it's still a double-tap to the reset button to get it going, right?

solar whale
#

from arduino, yes

#

only makecode is a single tap AFIK

idle owl
#

Someone in the forums isn't getting a PORTALBOOT drive on their Titano, and short of linking them to the CircuitPython install page, I'm not sure what else to suggest.

#

Which I already did, and they said they tried.

#

Are there issues with Catalina?

solar whale
#

I

idle owl
#

Thing is, it worked initially with CircuitPython and Mu.

solar whale
#

ll try mine

idle owl
#

They tried Arduino, and can't get back to PORTALBOOT now.

#

And therefore can't get CircuitPython back.

#

@solar whale Thanks.

solar whale
#

are they double tapping fast enough?

idle owl
#

The guide says something about that, but it's worth asking. I have no idea.

#

the LEDs they're reporting sound like the bootloader though.

solar whale
#

got PORTALBOOT whit CP installed -- Ill try an arduino sketch -- will take a few minutes

idle owl
#

Ok

solar whale
#

@idle owl I put the blink sketch on my titano -- then doubletapped and bot PORTALBOOT

idle owl
#

@solar whale Alright, thank you for checking.

#

What do the LEDs do when you go from Arduino to the bootloader

#

so I know

solar whale
#

brief RED on the NEOPIXEL then solid Green -- red LED is "breathing"

idle owl
#

Ok that's what I expected, and is what they're seeing, if I understand them correctly, though I asked for them to describe it again. Just no PORTALBOOT drive for them.

#

Cable worked previously so I doubt it's that.

solar whale
#

try rebooting the Mac ....

#

jusr reloaded CP to my titano via the Mac - no issues

idle owl
#

I'll suggest a reboot as well.

onyx hinge
solar whale
#

Wish I had better suggestions

idle owl
#

@solar whale Thanks for checking, I appreciate it

solar whale
#

YW

onyx hinge
#

this one happens VERY READILY when introducing AudioMixer, which doesn't even touch DMA directly, and I've never see it otherwise.

#

and the trick of "disable then reenable DMA channels" does not knock it loose

sour sorrel
#

I am currently trying my hands on the PyPortal, going through a couple of examples, and when I run the code from "Internet Connect!" I get "Attribute error: 'Socket' object has no attribute 'send'. What does this mean?

onyx hinge
#
$88 = {CTRLA = {bit = {SWRST = 0, ENABLE = 1, MODE = 3, RUNSTDBY = 0, IBON = 0, DOPO = 2, DIPO = 2, FORM = 0, CPHA = 0, CPOL = 0, 
      DORD = 0}, reg = 2228238}, CTRLB = {bit = {CHSIZE = 0, PLOADEN = 0, SSDE = 0, MSSEN = 0, AMODE = 0, RXEN = 1}, 
    reg = 131072}, CTRLC = {bit = {ICSPACE = 0, DATA32B = 0}, reg = 0}, BAUD = {bit = {BAUD = 17 '\021'}, reg = 17 '\021'}, 
  Reserved1 = "\000\000\000\000\000\000", INTENCLR = {bit = {DRE = 0 '\000', TXC = 0 '\000', RXC = 0 '\000', SSL = 0 '\000', 
      ERROR = 0 '\000'}, reg = 0 '\000'}, Reserved2 = "", INTENSET = {bit = {DRE = 0 '\000', TXC = 0 '\000', RXC = 0 '\000', 
      SSL = 0 '\000', ERROR = 0 '\000'}, reg = 0 '\000'}, Reserved3 = "", INTFLAG = {bit = {DRE = 1 '\001', TXC = 1 '\001', 
      RXC = 0 '\000', SSL = 0 '\000', ERROR = 0 '\000'}, reg = 3 '\003'}, Reserved4 = "", STATUS = {bit = {BUFOVF = 0, 
      LENERR = 0}, reg = 0}, SYNCBUSY = {bit = {SWRST = 0, ENABLE = 0, CTRLB = 0, LENGTH = 0}, reg = 0}, Reserved5 = "\000", 
  LENGTH = {bit = {LEN = 0, LENEN = 0}, reg = 0}, ADDR = {bit = {ADDR = 0, ADDRMASK = 0}, reg = 0}, DATA = {bit = {DATA = 90}, 
    reg = 90}, Reserved6 = "\000\000\000", DBGCTRL = {bit = {DBGSTOP = 0 '\000'}, reg = 0 '\000'}}
``` INTFLAG.bit.DRE is set, which should trigger the DMA
#

er, no, this is a receive. RXC is clear so there's nothing for DMA to do?

#

MODE=3 is weird, datasheet defines MODE=0x0 and 0x1 only

#

whaaat, setting MODE=1 busted it loose ?

idle owl
#

Ok so there are a couple of features of the Circuit Playground library not present in the Express module. I want to raise a friendly error if someone tries to use them on Express. Is this the best way to do this? ```python

def sound_level(self):
    """This feature is not supported on Circuit Playground Express."""
    raise NotImplementedError("This feature is not supported on Circuit Playground Express.")

def loud_sound(self):
    """This feature is not supported on Circuit Playground Express."""
    raise NotImplementedError("This feature is not supported on Circuit Playground Express.")``` Or is there some better way to do it.
#

That's included in the Express module. The features are present in the Bluefruit module.

#

There will be more Bluefruit features added eventually as well.

#

So if there's a better way to do this, I'd like to start it now since we will need to do this more.

onyx hinge
#

no, the magic did not repeat itself

onyx hinge
#

@idle owl I think this is probably more clever than useful, but just in case: ```class K:
@property
def _unsupported(self):
"""This feature is not supported on Circuit Playground Express."""
raise NotImplementedError("This feature is not supported on Circuit Playground Express.")
sound_level = _unsupported
loud_sound = _unsupported

#

it is shorter and might make the frozen file smaller (or it might not, or not by enough to matter)

idle owl
#

I'm not sure you're right about it being more clever than useful. That's really good.

onyx hinge
#

I used @property so that it doesn't have to worry about the argument signature of each function.

idle owl
#

Makes scaling it a lot easier too

#

Now I need to build CircuitPython to test it.

#

oi.

tulip sleet
#

@idle owl I'm on my way out for a bit, but the person with no PORTALBOOT drive, when they double-click, does the red LED (not Neopixel) pulse slow or fast (or not at all)? Slow means bootloader is working, fast means it doesn't see a USB connection, not at all means the bootloader might be smashed for some reason. Should try double-clicking on another computer. If Arduino program is crashing, then they won't be able to upload without double-clicking first

idle owl
#

@tulip sleet I just built with that added to express, and on import I get this: RuntimeError: maximum recursion depth exceeded what does that mean is happening again? I can't remember and you knew I thought.

#

@tulip sleet I asked them to describe the LEDs again, so we'll see what they say.

#

oh it was the stack size failing.

#

apparently adding literally anything else to express.py hits it again. This is on master.

#

I'll move on to something else for now.

tulip sleet
#

it means some issue with the stack depth. OK, sounds like we need to bump it up again. just trying to see how to increase it - i forget

idle owl
#

Likely we'll have to do it again to 4.1.x if we end up releasing a 4.1.3 for some reason and updating the frozen lib. I didn't expect that we would, I assumed this would only be in 5.x, but it's worth keeping in mind in the event we have some other reason to do another 4.x release.

tulip sleet
#

yes, I think we'll need a 4.1.3

#

at some point

idle owl
#

Ok I can try changing it and see what happens.

tulip sleet
#

ok, afk for 1.5 hours or so

manic glacierBOT
#

Yeah, it would be.

I'll have a look to see if this can be fixed in tuple_subscr, or if we need to revert.

@tannewt I think we should consider switching back to the _subscr signature change approach. I believe I can get that done quickly, and it should restore the expected behaviour, but allow classes like Pixelbuf to interact with the native base during subscr calls.

We'll certainly want to add this as a test case.

idle owl
#

@tulip sleet Thanks, Dan

#

@onyx hinge It works ๐Ÿ™‚

#

@tulip sleet Bumping it by 256 was enough.

manic glacierBOT
simple pulsar
#

@onyx hinge @idle owl In terms of saving space I did a similar thing in midi module using a class variable: $ fgrep EX_VALUE *py channel_pressure.py: raise self._EX_VALUEERROR_OOR control_change.py: raise self._EX_VALUEERROR_OOR midi_message.py: _EX_VALUEERROR_OOR = ValueError("Out of range") note_off.py: raise self._EX_VALUEERROR_OOR note_on.py: raise self._EX_VALUEERROR_OOR pitch_bend.py: raise self._EX_VALUEERROR_OOR polyphonic_key_pressure.py: raise self._EX_VALUEERROR_OOR program_change.py: raise self._EX_VALUEERROR_OOR

indigo wedge
#

@slender iron shall I just create a 100 issues for all mimx stuff that comes to mind?

slender iron
#

sure ๐Ÿ™‚ tagged with the correct label and 6.0 or long term milestone

indigo wedge
#

correct label being "nrf" ๐Ÿ˜œ

slender iron
#

is there something special I need to do to use jlink to load into flash?

indigo wedge
#

i'm not sure, i used a cmsis-dap debugger

#

but i think it should just work

manic glacierBOT
pastel panther
#

@trim elm here's what to do with the remaining repos:
Adafruit_CircuitPython_SK9822 - Empty
Adafruit_CircuitPython_MFRC630 - Empty
Adafruit_CircuitPython_BitbangIO - Empty
Adafruit_CircuitPython_Debug_Bus_Device - Empty
Adafruit_CircuitPython_Debug_SPI - Empty
Adafruit_CircuitPython_EthernetManager - Empty
Adafruit_CircuitPython_WSGI - Empty

  • If these are all truly empty except for a README or something non-functional, go ahead and push the โ€œoldโ€ version of the workflow files so adabot can patch them without issue. You can push directly to master because there is nothing to break and no setup.py to trigger a release

Adafruit_CircuitPython_CPython - Has files but is empty
Adafruit_CircuitPython_Debug_I2C - I don't think this repo was ever discussed
Adafruit_CircuitPython_GFX - Will be deprecated soon

  • Put in a PR to add the old files and add me as a reviewer

Adafruit_CircuitPython_LSM303 - Has been archived
Adabot should be ignoring this repo. Iโ€™ll work with @raven canopy to resolve this

Adafruit_CircuitPython_Display_BLE_Status - This also wasn't discussed

  • Rename setup.py to setup.py.disabled, add the Actions workflows and push a PR, tagging me and @slender iron for review

Adafruit_CircuitPython_AdafruitIO - PR hasn't been merged yet
Adafruit_CircuitPython_BLE - PR has been made but not merged, there are currently some issues with pylint on that repo

  • These will get merged

Adafruit_CircuitPython_Bundle - I wasn't sure what to do with this one, so I planned on bringing it up but forgot to

  • I suspect this one is different enough from the actual library repos to not be included here; Iโ€™ll consult with sommersoft

Adafruit_CircuitPython_Motor - Has already been moved to Actions
Adafruit_CircuitPython_ProgressBar - Has already been moved to Actions

  • Nothing to do here
manic glacierBOT
indigo wedge
#

c-c-c-combo breaker

pastel panther
#

+10 points to Gryffindor for a sweet reference

#

Though with serpente, perhaps you'd be Slytherin

stuck elbow
#

don't you hate it when people use CI as their dev env? :P

pastel panther
#

It depends; I imagine it's usually because they don't know better or know alternatives

stuck elbow
#

sometimes there are no alternatives, when you are debugging a problem with the CI itself

trim elm
#

@pastel panther What do you mean by "old files"?

pastel panther
#

@trim elm I mean the version that is currently being used in just about every other repo that adabot is going to update with the cookiecutter changes

trim elm
#

@pastel panther Ok. Will do

raven canopy
#

you could also push the current version. the patch will just skip it. ๐Ÿ˜„

manic glacierBOT
cobalt dawn
#

lab was busy, so i did not end up working on the cpb, so before i start again, was i suposed to rename that file?

manic glacierBOT
cobalt dawn
#

umm so new error thu cp/ay_ble file is to large for the CPB

manic glacierBOT
#

Fixes #2454. @bmeisels, working on the AramCon Badge, would like to turn off testing for powered I2C pullups, due to their particular situation with a board and its matching peripherals.

This adds CIRCUITPY_REQUIRE_I2C_PULLUPS, which can be specified in mpconfigboard.mk. If 1 (the default), pullups are required. If 0, the checking is not done. Only nrf and atmel-samd current check for pullups. Tested on an nrf board.

@bmeisels please review and try.

bright aspen
#

I no longer can do this after upgrading to CircuitPython 5.0.0 beta 3: audiomp3.MP3File(f)

indigo wedge
slender iron
#

@bright aspen its MP3Decoder now

indigo wedge
#

my gosh, i made 1.5 pages of imx issues

cobalt dawn
#

im trying to work out why my CPB keeps disconnecting whin trying to update the circuitpython file, any tips or reading?

manic glacierBOT
trim elm
#

@pastel panther I've pushed the .github directory to all of the effectively empty repositories and made PRs for the 4 repositories that I missed and tagged you in them. Looks like 2 are currently failing so I'll try fixing the pylint issues and get back to you on that in a few mins

pastel panther
#

@trim elm awesome

manic glacierBOT
#

Got a chance to try my code on the ESP32-POE and -EVB today (running https://github.com/ssube/prometheus_express/blob/master/examples/olimex-esp32-random.py), with fantastic results on both wifi and wired. Socket timeouts appear to work there, allowing me to collect sensor information in between requests. Not seeing the ENOTCONN errors from wrk either, those only appear with the Wiznet hardware so far. Chrome, curl, and most important Prometheus are scraping the ESPs just fine.

pastel panther
#

@trim elm ๐Ÿ‘€

indigo wedge
#

I'm done!

lone sandalBOT
bright aspen
#

@slender iron Thanks! I'm still learning how to navigate to what I need. And handle memory; new MP3Decoders eat lots of memory and I haven't figure out how to convince them to give it back.

pastel panther
#

@trim elm ok, I reviewed both PRs. Did you understand what I mean to do about the BLE library?

trim elm
#

@pastel panther Yep

#

@pastel panther Ok, I've reverted the changes and rebased my PR on CPython

solar whale
#

@cobalt dawn did you try downloading a fresh copy from the guide. Yours may be corrupted

pastel panther
#

@trim elm Ok. FYI I'm starting to think that rebasing on PRs with a substantial amount of discussion is probably best avoided. I think there's a good chance it could end up with a conversation that makes no sense because intermediary changes disappeared. No worries about current ones but something to think about for the future.

#

@trim elm I should clarify that I mean squashing commits with an interactive rebase. I have no opinion at the moment on regular rebasing

trim elm
#

@pastel panther That makes a lot of sense. I'll keep that in mind

solar whale
cobalt dawn
#

I did try downloading the fresh copy - i can't get it on to the CPB

#

but i will try again

solar whale
#

Is the mounted drive CPLAYBOOT

cobalt dawn
#

it was when i started, it keeps kicking out when i try to move the firmware file over

solar whale
#

How are you copying the file to it?

cobalt dawn
#

dragging and droping

#

i can une the mouse one handed , so ..

solar whale
#

What is the name of the file?

cobalt dawn
#

i did not rename it, i did try nameing it to current but that went badly as well

solar whale
#

Donโ€™t rename it. What file is it?

cobalt dawn
#

it seems to dump out after time as well, i just discoverd

#

the one you just linked me

#

cplay_ble_v5.ino.uf2

#

i think let me check

#

yeah, thats what it's named in that learn page

solar whale
#

cplay_ble_v5.ino.uf2

#

Ok. Can you do a directory listing of what is on CPLAYBOIT

cobalt dawn
#
2019-07-13  18:07               222 INFO_UF2.TXT
2019-07-13  18:07               120 INDEX.HTM
2019-07-13  18:07           600,064 CURRENT.UF2
               3 File(s)        600,406 bytes
               0 Dir(s)       3,457,024 bytes free```
solar whale
#

All looks normal. I have no idea whatโ€™s going wrong

#

What computer are you using?

cobalt dawn
#

looks different after it kicks out of bootloader mode

manic glacierBOT
solar whale
#

The drive should not be there any more

cobalt dawn
#

the cirruitpy ? or the otherone?

solar whale
#

What do you see after it fails?

cobalt dawn
#

not the cplayboot

solar whale
#

What is it? Should not be anything

cobalt dawn
#

circuitpy is what i see after it drops out of bootloader mode, it's what mu uses to move stuff on to it i think

manic glacierBOT
solar whale
#

Ok. I guess it is not loading the new file so the old one with CIrcuitPython is still there

cobalt dawn
#

i could be missing a steap somewore

solar whale
#

Are you still getting the error message when you try to copy the .uf2 file to it

cobalt dawn
#

yeah

#

it hangs at 71% everytime

solar whale
#

Do you have another USB port

cobalt dawn
#

i have tried it on all my ports

#

and a few cables

solar whale
#

And rebooted

cobalt dawn
#

yep

solar whale
#

I give up...

cobalt dawn
#

rebboting was an acident...

#

i ment to sleep

#

i was like crap

#

i have another cable someware i can try

solar whale
#

One last stupid question. But your sure this is the CPB and not your CPX

cobalt dawn
#

yeah, the cpb is not in a case

#

the cpx is attached to sometihng atm

#

i had to sanity check that one

solar whale
#

It was worth checking. It makes no sense to me.

cobalt dawn
#

i could try a factory reset i guss

solar whale
#

How?

cobalt dawn
#

i think it's in the guide someware, i'll have to look

#

i was able to do it eventualy with the feather i borked

#

im sure this is something simple, i'll try to deal with it latter i think

solar whale
#

Good luck

cobalt dawn
#

wait... i think it's working

#

@lone axle i like that C is the defult

solar whale
#

What was the problem?

cobalt dawn
#

no clue, i went for a bio and came back and did the same thing over again and it worked

#

i blame windows

#

im now exploring the app to give consturctive crits

#

im looking at the nepixels part and trying to see if i can build my own animation

solar whale
#

Have fun.!

cobalt dawn
#

i think most of what i have to say is directed at the ios app?

#

i dislike the light sensor ui

#

the number alone is not helpful, i think something else on screen should change as a better hint to whats going on

lone axle
#

You cannot make your own animation. They are hardcoded for now.

#

(Unless you want to edit some java or json and rebuild the app)

#

There should be a colored meter bar thing

#

Though "normal" room light registers pretty low in my experience. Try pointing a flashlight

#

Or leave the neo pixels on and swithch to light sensor module and use your hand or something to reflect the neopixel light back

cobalt dawn
#

there is a bar, but it's uncangeing

#

changeing

#

gha

#

i covered it with my hand in a bright room , i got snome good looking number values, but thats the only change i saw

pastel panther
#

@gilded cradle TIL that upstream maintainers can be given permission to push to a PRs compare branch

#

If I'd know that I could have cleaned up my own mess!

gilded cradle
#

No problem. It's nice when they do (the default setting), but you have to submit a PR to their PR if not.

pastel panther
#

It's almost like the current state of github is the result of endless iteration based on the experience of millions of person hours of open source collaboration

gilded cradle
#

Something like that

pastel panther
#

@raven canopy Here's my summary of the remaining libs from your 'not actionified' list:

Adafruit_CircuitPython_LSM303 - Has been archived
 - I would like to update adabot to at least have the option of skipping archived repos. Additionally I don't think it would work to patch it because it's read only

Adafruit_CircuitPython_BLE -
 - https://github.com/adafruit/Adafruit_CircuitPython_BLE/pull/49
 - Waiting on a second PR to add ignores. Separate so we can easily revert it later

Adafruit_CircuitPython_Bundle - 
 - Pretty sure it needs a different approach because it's not really a lib. Let's chat about this

Adafruit_CircuitPython_Motor - 
 - Has been moved to Actions but a test of how to resolve the nested examples got merged into master. Will need to be patched by hand. Good example of why we donโ€™t want to test on a branch involved in a PR. 

Adafruit_CircuitPython_AdafruitIO - 
 - Updated with the fix that prompted all of this. Iโ€™m hoping adabot will just skip it

@trim elm @idle owl ^

raven canopy
trim elm
#

I'll do the patch for Motor right now

lone axle
raven canopy
#

bonus: it won't need all that gawk mess. ๐Ÿ˜„

pastel panther
#

@trim elm did you finish your homework?!

trim elm
#

@pastel panther Almost lol

lone axle
#

at the low end of the spectrum the blue and other coolor colors can kind of blend in with the black/grey background a bit so it's harder to tell that it's filled in.

pastel panther
#

๐Ÿง

trim elm
#

@pastel panther the PR has been made

pastel panther
#

@trim elm Thanks! Now get back to your homework. I didn't raise no slacker

#

๐Ÿ˜‰

trim elm
#

@pastel panther lol

pastel panther
#

@trim elm @raven canopy Motor has been merged

#

I saw that!

trim elm
#

I actually just finished

pastel panther
#

well then

#

๐Ÿ™ƒ

raven canopy
#

dry-run initiated

#

adabot ๐Ÿ’ป

pastel panther
#

@trim elm Are you done for the evening?

trim elm
#

@pastel panther I'm fine sticking around for a bit if there's something that needs to be done, although I don't think there's anything I can really move forward on with the Actions project, and I also believe I essentially finished the learn guides library manager project today

pastel panther
#

@trim elm we still need to make the PR I mentioned against the BLE lib to move the ignores from the .travis.yml to the individual files. Do you want to do that?

trim elm
#

Sure

pastel panther
#

sweet, Dankeschรถn

raven canopy
#

alright. adabot updates made, patch verified. i'll PR it all in a few...

.... Running Patch Checks On 214 Repos ....
.... Patch Updates Completed ....
.... Patches Applied: 193
.... Patches Skipped: 17
.... Patches Failed: 4 
pastel panther
#

waaaaaw @raven canopy thanks ๐Ÿ™‚

trim elm
#

Yeah, thank you @raven canopy

raven canopy
#

why do i now feel guilty for combo PRs? :bad_kitty:

#

๐Ÿคฃ

trim elm
#

@pastel panther Do you want me to push the changes to the branch I currently have a PR open on or to push to a new branch?

pastel panther
#

@trim elm A new branch, definitely. If you update the branch for the existing PR, it'll update that PR which is not what we want. New PR, new branch

trim elm
#

๐Ÿ‘

pastel panther
#

@raven canopy The 17 skipped were already updated?

raven canopy
#

yep. i checked a large sample size.

#

time for ice cream ๐Ÿจ

trim elm
#

@pastel panther Took a bit longer than expected, but I got the PR on BLE in

plucky flint
manic glacierBOT
manic glacierBOT
onyx hinge
#

@bright aspen now you can change the ".file" property of MP3Decoder objects, which for me in JEplayer eliminated problems where I'd run out of memory. Just don't do it while actually playing that MP3Decoder object; this condition can't be detected, but it'll probably do something bad. [sorry I missed the discussion yesterday when it was fresh]

indigo wedge
#

I don't even want to think how much more complex CPY code base will have to get to support dual cores https://twitter.com/NordicTweets/status/1215616086709866496?s=19

Demonstrating the classic game #Doom running on #nRF5340 at #CES2020, showing that you can have high performance and #lowpower #wireless in the same package. The game is running on one core, while the second core handles communication with a wireless #gamepad ๐ŸŽฎ #HappyWe...

โ–ถ Play video
indigo wedge
#

Unless we load the BLE core with some spi slave code like the airlift and use the big core as if it was a single one

manic glacierBOT
#

@bmeisels I have tried to make this consistently optional across ports. Though the specific use case you're mentioning doesn't apply to atmel-samd, I can imagine a use case, such a situation where one needs to set up the I2C object before powering the pullups. I don't expect it to be useful but I may as well do it. The alternative for consistency is to turn off the pullups in the nrf case, which would make your situation worse.

@arturo182 I pushed a commit for that.

trim elm
#

@pastel panther After BLE gets merged, I'd like to remove all of my branches. Do we already have a way to do that similar to what @raven canopy did with patching the build.yml?

manic glacierBOT
raven canopy
#

@trim elm you'd probably have to write up a local script for that. Either via the GitHub API, or by cloning and git-fu-ing locally. Or, an "easy" manual way would be to go through the merged PRs, and click the "delete branch" button at the bottom.

manic glacierBOT
trim elm
#

@raven canopy Ok. I'm gonna try to use the github api for the sake of learning how to use it better, but after 30 mins, if that's not working, I'll just clone it and do it that way

slender iron
#

@indigo wedge thanks for the repo! I wonโ€™t be at my desk for a while but Iโ€™m wondering where your flexram code is

indigo wedge
#

ah, i didn't commit it cause it wasnt working so i scrapped it

#

using the defaults now

orchid basinBOT
marble hornet
gilded cradle
#

Ok, @marble hornet, I'll take a look...

#

When you do a git pull off of adafruit, it should tell you you have a merge conflict. You then edit the file and so it ends up how you want it and then push that to your branch.

marble hornet
#

ah, I edited the paren in on the web, committing it right to master. maybe it didn't function like a push even though was directly to master.

stuck elbow
#

then you do git add with the modified file and git merge --continue

gilded cradle
#

You can push directly to your master and that's fine, but you should do a pull from adafruit first in case somebody else changed something

marble hornet
#

trying...

#

so I pulled from Adafruit can it said there were no issues?

From https://github.com/TG-Techie/Adafruit_CircuitPython_FocalTouch
 * branch            master     -> FETCH_HEAD
Already up to date.```
bronze geyser
gilded cradle
#

@marble hornet, origin is your repository, not adafruit. Did you add a remote? If you're not sure, type git remote -v.

slender iron
#

@indigo wedge I think the linker script for the 1062 may be wrong then

#

I had to reduce OCRAM down to 512k to get it working

indigo wedge
#

Hmm, I did work for me before, I need to assemble another 1062 Feather and test

#

So teensy works?

slender iron
#

I'll have to look at the fuse bits

#

yup, got it going last night

indigo wedge
#

Ah right maybe they fused ram in a specific way

gilded cradle
indigo wedge
#

That would explain it, guess you could compare with their linker in arduino core

marble hornet
#

@gilded cradle I think it worked!

gilded cradle
#

I think it did too. I'll take a look again once it passes checks.

indigo wedge
marble hornet
#

@slender iron great job on the teensy 4.0!

slender iron
#

@marble hornet thanks! want to try it out?

marble hornet
#

totally! i'll grab my teensy rn

slender iron
marble hornet
#

I've never upload to the teensy4.0 is there a you suggest, i'm googling rn

slender iron
#

use the teensyloader

#

print("hello world")

import board
import digitalio
import time

led = digitalio.DigitalInOut(board.D13)
led.switch_to_output()

while True:
led.value = True
time.sleep(0.1)
led.value = False
time.sleep(0.1)

#

oops

#

๐Ÿ™‚

marble hornet
#

teensy-loader is saying the hex is too large?

meager fog
#

@indigo wedge hihi

indigo wedge
#

๐Ÿ™‚

meager fog
#

testing some things, im noticing i2c oddity

#

most plain i2c sensors work perfect

marble hornet
#

@slender iron does the sound right?

indigo wedge
#

I'm sure there will be quirks and bugs

meager fog
#

but OLED display is not detected, its a write-only display

#

and i have a I2C GPS not being detect, its a read-only device

#

so the i2c scan thingy may not be happy with non-RW devices

slender iron
#

@marble hornet it shouldn't be. are you using a teensy 4?

meager fog
#

@indigo wedge totally not a biggie, just FYI

#

if you bump into same

marble hornet
#

yes, It's the only teensy I bought (b/c i heard you'd be porting cp to it)

indigo wedge
#

@meager fog thanks for letting me know, i will have to check with a display too, i only tested with the audio chip on the evk, havent had time to do more

meager fog
#

all good - i tried some accelerometers, light sensors,e tc

#

ill do so!

marble hornet
#

it looks like it is registering over usb, i see a tty.usbmodem14501 in/dev

indigo wedge
#

that's great to hear that it works at all ๐Ÿ˜„

meager fog
#

yep works great for many basic i2c devices - good work ๐Ÿ˜„

indigo wedge
#

thanks ๐Ÿ™‚

manic glacierBOT
slender iron
#

@marble hornet mine just says 12% used

#

the file is 699k

indigo wedge
#

@meager fog this is gonna sound like an office stereotype, but I've sent you an email 30 minutes ago or so ๐Ÿ˜„

meager fog
#

yeah my inbox is really packed right now

#

i will get back to it shortly- was takinga lil break to ahve hardwar fun:)

indigo wedge
#

i can just ask via DM cause it's just 2 quick questions if you prefer that

marble hornet
#

ah, it wasn't detecting it through a specific cable adapter.

#

it shows up!

#

as cp!

indigo wedge
#

nice!

meager fog
#

@indigo wedge ahh i have DM's off - i will look at email really soon ok?

#

promise!

#

just finishing my ๐Ÿต L)

slender iron
#

@marble hornet after loading you have to unplug it and plug back in for some reason

indigo wedge
#

no worries, sorry to bother but it affects my evening plans kinda ๐Ÿ˜…

slender iron
#

is it something I can help answer?

indigo wedge
#

Think it has to be Limor or pt

slender iron
#

kk

marble hornet
indigo wedge
#

DigitalInOut - verified ๐Ÿ˜„

marble hornet
#

also: wow! 744336 bytes free! (i had to read it twice)

indigo wedge
meager fog
#

@indigo wedge ok replied!

indigo wedge
#

awesome, thanks so much

marble hornet
#

arturo, mimxrt10xx?

slender iron
#

(that is the chip family on the teensy 4)

indigo wedge
#

yeah that was the hardest part of the port, not the code, the name

#

rt10xx was too generic, initially it was imxrt10xx but then for some reason NXP uses mimxrt everywhere so i went with that

#

it should work with the whole family rt1011, rt1021, rt1025, rt1050, rt1062, rt1064 ๐Ÿ˜„

drowsy geyser
slender iron
#

@indigo wedge I just got out all of my evks, 1015, 1020 and 1050 in addition to the 1010 and 1060

#

I've been excited about it for a while

#

๐Ÿ™‚

indigo wedge
#

๐Ÿ˜ฌ

#

oh yeah i forgot the rt1015

#

their evk naming is odd

#

they name them after the series

#

but then rt1015 is the actual chip

slender iron
#

ya, weird

marble hornet
#

I'll do some I2C testing later w/ the chips i have here. and some spi testing with one of the chinese displays I have

#

and is there any discuss of canbus support?

slender iron
#

I think there is an issue for can

#

pierre from my hardware happy hour crew is very interested in CAN too

meager fog
#

STM32F405 has native CAN support - that is likely the best 'native' chipset to start with

#

the MCP2515 can add CAN over SPI, its a popular chip

#

@lime trellis btw you may be interested in NXP RT series for spacestuff - its XIP from external flash which you wanted for durability - and fast as heck

lime trellis
#

@meager fog I remember you mentioning you liked that about the NXP, thank you! Interestingly enough, I'm told by an old Atmel contact that the D51 have XIP capability as well ๐Ÿ˜ฑ haven't tried to find the mysterious registers yet

#

Oh and it's quite likely there'll be as many as 6 spacecraft running CircuitPython in space by June โ™ฅ๏ธโ™ฅ๏ธ๐Ÿ

slender iron
#

@tulip sleet you should categorize and tag your blog post

tulip sleet
#

@slender iron oops, I thought i did, will do now

slender iron
#

np

tulip sleet
#

btw, still debugging bonding, but making progress

slender iron
#

cool cool. I've gotten sucked into imx rt fun

#

going through email and reviews now though

tulip sleet
manic glacierBOT
slender iron
#

yup, will do today. I think I'll start a new thread and link to it from that one

#

I emailed paul last night about it

manic glacierBOT
meager fog
#

@lime trellis D51 can do XIP but circuitpython isnt structured for it unless you're ok having two chips one for code and one for storage. it might be easier to move chips than try to shoehorn it in.

manic glacierBOT
slender iron
#

@meager fog the imx rt works by accessing the flash fs through the xip (its the "internal" flash)

manic glacierBOT
#

Update on this: my current issue is that once Circuitpython is loaded via the UF2 file, SysTick_Handler is no longer called, meaning ticks_ms never updates and CPy gets stuck in the first timed loop of the program in wait_for_safe_mode_reset. This persists if the program is hard reset. I'd guess this is the result of the some issue with the vector table, but I'm having trouble pinning it down - meowbit-micropython just uses the usual startup object file, so no changes there, and there aren'...

slender iron
#

@ionic elk how does the bootloader force us to start at the 64k block?

#

is that where the isr table needs to be?

ionic elk
#

I don't have much information other than that their linker file claims this /* sector 4, sec 0~3 reserved for booloader */

slender iron
#

hrm, have a link to that?

ionic elk
#

I could omit that requirement and restrict the bootloader to Sector 0 (which is what it's own bootloader defines) but I don't have a working control to test that.

slender iron
#

right, that's what I was thinking

#

16k bootloader, 48k fs, and then code

ionic elk
#

Right, that's the ideal

slender iron
#

the alternative would be to figure out the display and flash sharing issue

ionic elk
#

I'd like to do that anyway but probably later ๐Ÿ˜ฌ

#

I think the best thing to do for that would be an option to disable the REPL display when resetting in DisplayIO

slender iron
#

during the reload?

#

I don't remember what the exact issue was

ionic elk
#

They're both on the same bus

#

So you can't flash to memory and have DisplayIO going at the same time, or even too close to each other, without getting collisions.

#

Big crashes, etc

slender iron
#

hrm, they should be both using a lock to share time

ionic elk
#

Well, I can look into it more. But for right now I'd really like to get over this bootloader thingy - it's the only thing I see as really holding back this initial PR

#

Because people can't load code onto their boards without it, unless they solder on a SWD header and buy an STLink

slender iron
#

so what do you propose?

ionic elk
#

If I can just get an internal filesystem Meowbit that's bootloader and display capable in for 5.0, I figure we can revisit the DisplayIO issues a little further down the line. Maybe even poke Kittenbot to put them on different buses

#

Does that sound OK?

slender iron
#

they are not going to change the hardware

#

where are you going to put the internal fs?

ionic elk
#

Hopefully in the 48K?

slender iron
#

how are you initing the display?

ionic elk
#

Sorry for the indecisiveness! There's just a lot of tradeoffs with this board. Display works fine if it uses the internal filesystem, it only has issues with external flash.

slender iron
#

right, that seems like the ideal though, external flash and the display

#

the locking should work as long as the display and the flash are using the same spi object

ionic elk
#

I can shoot for the ideal if that's preferable and there's nothing higher priority. I'll take a closer look at what's going on there, and why they aren't properly excluding each other.

slender iron
#

lets talk it over now for 30 minutes

ionic elk
#

ok

#

Amelia?

slender iron
#

sure

cunning verge
#

Hello There ....

#

Very sorry to bother you folks but any Pew Pew 10.2 owners here that may be able to answer a question about this device?

slender iron
#

@stuck elbow is the creator too

manic glacierBOT
cunning verge
#

Hello there i am very new at discord chat so please accept my apologies for any first-time errors! I have just received a PewPew 10.2 from MakerFab & am very happy with it. I have noticed that when scrolling or displaying from the included games,some of the ( Pixels?) appear dimmer than others even though they seem to be set at the same brighness in the source code. Is this justsomething to dio with the particular unit i have?

stuck elbow
#

@cunning verge that sounds like a faulty unit

#

@cunning verge can you make a program that fills the whole screen and take a photo?

cunning verge
#

will do give me a couple of ticks as my last bit of practical programming was back in the last century!!!

cunning verge
#

almost there!!!

stuck elbow
#

@cunning verge something like:

import pew
pew.init()
screen = pew.Pix()
for y in range(8):
    for x in range(8):
        screen.pixel(x, y, 1)
pew.show(screen)
while True:
    pass
cunning verge
#

iJust uploading video from my phone tio my pc as no comera on my pc - Sorry to keep you folks waiting

#

but if the screen is scrolling i get this..... please forgive the very poor image/video quality as the lighting here is not good

#

but if the screen is scrolling i get this.....

manic glacierBOT
cunning verge
#

Notice how some of the pixels appeaer dimmer. At first i thought some of them were faulty but when scrolling you can see that the dimness scrolls as well.

stuck elbow
#

@cunning verge I see what you mean, and unfortunately that is normal โ€” if there are a lot of bright LEDs in a line, they get a bit dimmer together

#

@cunning verge that is because the current that goes to the line is not stabilized, it's a very simple circuit

#

I had to cut some corners to get it to $10 price point, sorry

cunning verge
#

Ok I thought it may be something like that . Not a problem. I am really loving this device & am grateful to you for designing it. Wish i'd bought it previously from your Tindie so at least you would have got a couple of CHF from me. No corners were cut i as far as i can see! I really appreciate the help this evening ( in the UK ). Lookin forward to the M4 version & am already singed up to the waiting list.

stuck elbow
#

I'm getting money from the sales on makerfabs as well

#

initially I didn't want to, but they just started to put it away for me

#

the M4 will be only on makerfabs, though maybe they will also put it on Tindie

#

anyways, glad you like it

cunning verge
#

already thinking of getting another couple next time i shop on Tindie. You can never have too many

half sedge
#

Hi, I wanted to try some BLE example apparently written for "Feather nRF52840 Express" and it use "board.RED_LED" for notification. But I was testing the code on "Circuit Playground Bluefruit" and there the red LED is named "board.D13". Would it make sense to have the RED_LED (as an alias?) also on Circuit Playground Bluefruit? I don't know, maybe there is a rule or a logic... but having exactly the same code for Blink on every board could be a goal.

half sedge
#

It might be a bit difficult to reproduce without the hardware... or there is an API change... or the code was not supposed to work in the first place.

#

It is not my code, I just tried => FAIL, downgraded => SUCCESS, upgraded => FAIL.

slender iron
#

that happens when the connection disconnects

half sedge
#

Yes but it systematically works with beta2 and systematically fail with beta3.

slender iron
#

it used to crash in a different less friendly way

half sedge
#

At least I tried each version twice.

slender iron
#

it should work at some point on beta.3

#

are the devices close to each other?

half sedge
#

Very close.

slender iron
#

the discovery process can be slow and increase the likelihood of a disconnect

half sedge
#

The code has a kind of discovery loop, then when found, it try to start talking to it.

#

But then again, it is not my code... it just feel the explanation does not match what I experience.

#

I will return to beta.3 and try 10 times to see if it is systematic or not.

#

I changed nothing to the code... and now I have 95% success rate (with beta.3). Or let's say one failure out of 20 attempts.

slender iron
#

@half sedge that is the tricky thing about BLE, sometimes the other device just disappears. ๐Ÿ™‚

indigo wedge
#

hehe, my PR gets a mention

#

guess I peaked early this year, time to sit back and do nothing till 2021 xD

slender iron
#

this is just the start ๐Ÿ™‚

half sedge
#

@slender iron Now that my success rate is so high... it is hard to reproduce, but it is NOT related to the version. Now I search for a way to trigger more frequently to write the right code to work around it. It seems that if I connect from my phone to the device, then I try from the CPB, I have more chance to trigger it. I'll update my issue to avoid unnecessary search by the author.

slender iron
#

๐Ÿ‘

pastel panther
#

@slender iron Is there enough info in the INFO_UF2.txt on a board's BOOT drive to tell what CP build it would need? I see the Model and Board-ID fields but I'm not sure if that's enough to identify the board.

If not, how about in the Uf2? Could one theoretically get the current build commit or tag from it?

slender iron
#

I'm not actually sure

#

build commit and tag of the bootloader?

pastel panther
#

no, of the CP build/CURRENT.UF2

#

thinking about a semi-automated update helper

slender iron
#

not without pulling the whole uf2 off

pastel panther
#

ok

slender iron
#

we could fix the memory address of that info though

#

or you can just let if boot up and grab it from boot.txt

pastel panther
#

right. Is there a way to force it into bootloader mode from software?

indigo wedge
#

yes, import microcontroller and set on_next_reset to BOOTLOADER

manic glacierBOT
slender iron
#

it'd be cool if we had a boot stub we could include in our teensy hex files but not the uf2

#

or we just rely on the uf2 bootloader not overwriting itself...

manic glacierBOT
manic glacierBOT
meager fog
#

@indigo wedge ok leavin notes on issues as i test hardware, SPI and I2C are working other than speed setting bugs

#

im able to use airlift to connect to internet

lone axle
bright aspen
#

@onyx hinge Thanks for the tip on using the .file property of MP3Decoder objects.

indigo wedge
#

@meager fog good to hear airlift works, I tried to make a uart pass-through in CPY to flash the esp on my Feather but it didn't seem to work, will try to flash it externally and verify it's not a HW issue, at least now I know the spi part should work :)

manic glacierBOT
indigo wedge
#

was looking at a high def photo of the rt1060 evk and noticed it says PIMX (also, nice NXP photoshop) so i checked the ordering info again and now I know what the M in MIMX stands for

tulip sleet
#

@indigo wedge should we drop the "m" prefix from the port name? just imxrt10xx?

#

that makes sense to me

indigo wedge
#

that was the initial name of the port but i changed it becuase all the names in the SDK use the M prefix

#

so it was a weird mix of imx and mimx

tulip sleet
#

i guess it doesn't really matter

indigo wedge
#

yeah let's keep it as is, can't be changed after it was a part of the beta ๐Ÿ˜‰

manic glacierBOT
#

I am opening this issue here as the error seems like it's a problem with the runtime, not the turtle library.

When running turtle_square01.py from https://learn.adafruit.com/turtle-graphics-gizmo/turtle-graphics-on-gizmo I get the following traceback:

Traceback (most recent call last):
  File "code.py", line 61, in 
  File "/lib/adafruit_turtle.py", line 218, in forward
TypeError: 'Vec2D' object is not subscriptable

This is on a Circuit Playground Bluefruit with the TFT Gi...

slender iron
#

@tulip sleet @indigo wedge I think my preference would be to remove the m. that way it will match the top level nxp page for it

#

I don't think it will impact anything public. we can leave board names the same

tulip sleet
#

ok by me!

meager fog
#

@indigo wedge you'll want to patch the "SPI is 2x too fast" issue before trying airlift as the doubled freq is too fast for the ESP32 ๐Ÿ™‚

indigo wedge
#

@meager fog so you just tested with setting it half the speed you wanted?

meager fog
#

yeah i manually edited the .py

#

to halve it

#

if you use the mpy/default the esp32 doesnt respond

indigo wedge
#

Of course, .py for life ;)

manic glacierBOT
lone axle
#

Finally figured out a way around this weird JS importing issue so now the app is allowing user to drag the 3D Model in the Accelerometer Module to move the camera around like the iOS one.

lone axle
solar whale
#

@lone axle this is the ZTE,. Looks good but the app crashes if I open the Accel. Module

#

it runs fora few seconds then stops and says tells me the App stopped

lone axle
#

hmm, I must've broken something

solar whale
#

same problem on Moto-x -- picture coming -- looks good

#

Moto-x

lone axle
#

Nice, thank you for trying it out ๐Ÿ™‚

#

I'll see if I can figure out what happened with the accel.

#

weird. I double checked the apk in the root and It is loading on my phone. Thought maybe I just put the wrong one in there but can't be that.

#

you don't know of anything else that might be using port 8000 on your devices by chance do you? Part of the fix for the accel module to allow dragging the camera view involves hosting the web page that renders the model inside a webserver in the app and it's running on port 8000. I imagine if something else was already using the port it could have trouble

solar whale
#

hmmm -- not that I am aware of, but I am fairly Android illiterate ....

lone axle
#

I'll try it out on a few more devices around here. So far I've only tested my own phone, but I have a few others I can try.

solar whale
#

both phone were just power cycled -- I don't think there is a lot running

lone axle
#

If I can't replicate it here I may make a build for you to try that will save some extra logs to see what is causing the crash.

solar whale
#

the moto-x was complaing about gboard stopping -- I had to revert the updates

#

until then I had no idea what gboard was...

#

also having trouble reconnecting to the CPB on both phones.. power cycling and trying again.

#

hung on connecting screen --

lone axle
#

the pop-up with the spinny thing?

solar whale
#

yes

lone axle
#

you have the same UF2 still on the CPB right?

solar whale
#

yes --- just got in ok on the Moto-x --- IOS is able to connect/disconnect -- while it is hung -- other devices cannot connect

lone axle
#

hmm, I haven't done much testing around jumping between devices. In my testing I always explicitly go all the way back and disconnect on each device.

solar whale
#

getting worse -- Moto-x connected, but no sounds when using tone generator....

lone axle
#

It's possible the cleanup is not handled properly in some scenarios

#

weird, seems like it's not fully connected tbh, I'm not sure why it is making it past the pop-up

solar whale
#

tones ok on IOS but not on Moto-x

lone axle
#

is the iOS device still connected?

#

maybe both can't be at once?

solar whale
#

no -- but nothing works with the moto-x --

lone axle
#

You said that is 5.1 the other day I think right?

solar whale
#

rebooted CPB -- still not working -- connects, but no responses at CPB -- yes 5.1

#

tryin ZTE again

lone axle
#

I managed to get a crash on the accel screen on one of the phones I have to test

solar whale
#

good -- Iguess ๐Ÿ˜‰ ZTE is working OK now

#

the moto-x may be flaky -- given the issue with gboard.

lone axle
#

I have a 5.something moto device that I wasn't able to get the BLE to work fully on either. But mine is funky for some other reasons too.

solar whale
#

ZTE -- disconnected and reconnected Ok -- and seesm to be working OK -- have not tried accel again

#

is it possible that accel crash leaves it in a bad state?

lone axle
#

Hmm it could be. To be honest I'm not 100% sure how the code on the CPB side works.

solar whale
#

I found the source if you want it

#

its in the examples for the bluefruit52 libraries - cplay_ble

lone axle
#

From the android app I think the worst case failure mode could be to turn on the notifications for accel data by writing the CCCD characteristic and then never going back and disabling the notifications (in the event of a bad crash) I'm not sure how the CPB would handle it

#

oh yeah that would be helpful

#

Thank you

solar whale
lone axle
#

In my case the crash in the accelerometer module does not seem to put the CPB in a bad state

#

it does crash the app, but I can re-launch then reconnect and use the other modules with no issues

#

The crash I am seeing is out of memory during reading one of the files for the 3D model rendering web page in the new way it's being served. I think the other devices I've tested on have more memory so I didn't see it on them because the system alloted a bit more.

solar whale
#

well -- so far the ZTE and IOS are working fine -- I'm not too concerned about the moto-x -- it may have its own issues

#

ok -- now on ZTE trying to connect - but in the In progress popup it says "test1" not "connecting" and it is spinning

#

sorry -- I have to go offline for awhile ... good luck!

lone axle
#

No worries, Thank you

manic glacierBOT
#

This fix should address #2465 by making sure that any native type using mp_obj_tuple_subscr gets the native instance it needs. There might be more unit tests needed to verify all instances of mp_obj_tuple_subscr work properly when subclassed:

./shared-bindings/time/__init__.c:        .subscr = mp_obj_tuple_subscr,
./shared-bindings/fontio/Glyph.c:        .subscr = mp_obj_tuple_subscr,
./py/objattrtuple.c:    .subscr = mp_obj_tuple_subscr,
./py/objexcept.c:        .subscr = mp_obj_...
manic glacierBOT
lone axle
#

@solar whale no rush at all, but there is a v06 apk file now that I'm hoping fixes the accelerometer module issue. This version fixes the crash that I was able to reproduce.

solar whale
#

trying it now

#

@lone axle tried V06 -- worked on both ZTE and MOTO-x -- even accel drag worked -- on the ZTE, the accel impage is solid black -- looks OK in the Moto-x -- THe neopixel demos seem "sluggish" with both -- compared to IOS --- is that expected?

lone axle
#

the animations, yeah I think so

#

I don't have access to an iOS device to see it IRL, but in the video I saw the animations seemed to be able to go quicker on iOS.

solar whale
#

other tahtn the black image on the ZTE accel --it seems to be working well.

lone axle
#

I spent some time trying to speed it up a bit but it seems there is some limitation on android. It seems to take 200-250ms or so to write the BLE characteristic. So it can't change the neo pixels any faster than that.

solar whale
#

ooh -- moto-x is showing the "test1" in the In progress popup now -- trying to reconnect

lone axle
#

Ah, I see what's causing that test1 now

#

The dialog message defaults to that right now, and only changes when it receives the first update from he service which usually comes pretty quick

solar whale
#

I stopped the app and it restarted ok

#

the accel image is normal on moto-x -- just wanted to verify

lone axle
#

something is making it have trouble connecting, or atleast making it take extra time (I've seen pretty variable times as well) when you see that test1. I'll change the message to something more descriptive

#

the black CPB model is odd, I did see that at one point but thought I had it taken care of. I'll have to take another look

solar whale
#

big improvement overall! nice job!

lone axle
#

ty, and thanks for trying it out again.

solar whale
#

glad to help!

lone axle
#

the neopixel animations can speed up just a hair. Right now they are set at a hardcoded 300ms but do sometimes still slip a bit because of the write taking so long. At one point I had it working writing as soon as the previous one was complete. I intend to switch back to that way probably.

#

but even with that change I still think it's slower than it seems the iOS one can get.

#

(the fastest speed is hard coded to 300ms. The bar slows it down from there)

solar whale
#

I forgot about the "speed bar -- much better if I speed it up ๐Ÿ˜‰

#

certainly makes a good demo!

lone axle
#

oh, yeah at their slowest I think it's 1 second between frames or something very slow.

#

do you have a sense for if the slowest speed on the iOS app faster than the slowest speed in Android?

solar whale
#

not really -- on IOS -- slowest actually stops

lone axle
#

Oh, just frozen on whatever the last frame was?

solar whale
#

on the moto-x -- if I let the animation run awhile, I was not able to get it to stop...

#

yes -- seems t be

#

on the IOS at lowst speed

lone axle
#

Ah, yeah. Right now the animation frames get stacked up waiting to be sent if the writes are taking longer than the intended speed. The turn all off button should be stopping them but it doesn't do it properly I've seen sometimes.

#

Switching over to "write the next one as soon as the last one is complete" methodology will solve that issue as well.

solar whale
#

ok -- seems better on the ZTE

#

when it is lagging -- even moving to a different module does not help

#

ZTE accel screen

lone axle
#

I've noticed a difference in the lagginess between a few of my devices as well. Seems some of the newer devices can write a bit quicker

#

Oooo

#

Ok, I had it a bit different actually

#

Mine was showing black board but still had the components.

solar whale
#

moto-x

lone axle
#

That is odd, I am surprised it loaded that much of the shape without showing the components both should be coming from the same model file.

solar whale
#

if I rotate it I can see it is 3-d

lone axle
#

hmm

#

The ZTE used to show the board correctly right? Before I started working on the touch dragging.

solar whale
#

I think so

#

not sure though -- too many iterations.

lone axle
#

I'm going to make an apk using the old style to check

solar whale
#

I don't have any old screen shots

#

i have back to 02 on it which should I try

lone axle
#

Oh, yeah that would work

solar whale
#

trying 03

#

all black on 03

#

trying 04

#

oops -- dont have 04 and 05 is the one tht does not work

#

so -- loks like all the ones I have ar all black

lone axle
#

did you have 02?

solar whale
#

yes -- will try that

#

all black

lone axle
#

Ok, thank you

solar whale
#

You're welcome.

#

time for me to call it a night -- thanks for all the work on this. And for giving me a reason to play with the Android phones!

lone axle
#

G'night

manic glacierBOT
half sedge
#

@lone axle Hi, I have noticed on my phone and on screen shoot here that the Z Euler Angles was a always 0. I was wondering if that was a bug or else. (I don't have an IOS to compare nor the math to figure out if this is normal). Regards

solar whale
#

@half sedge same on IOS

manic glacierBOT
#

Hi.
I was writing a little program for reading 3 ADCs of a trinket m0. When I started tuning for some performance, I ran in this particular observation. Adding or removing a dummy variable influences the speed about 10%. I assume it has to do withe the internals of Python, e.g. the evaluation of a hashtable or something like that.

The code I run:

import board
import analogio
from time import monotonic
import busio
import supervisor
supervisor.set_rgb_status_brightness(0)

...
lone sandalBOT
solar whale
lone axle
#

@half sedge yep that is correct, the Z eueler angle does always show 0. I think it is supposed to work like that. Though to be honest I don't quite grok the math involved. I found the formulas in the iOS app source code and understand enough to get them translated over to work in Java, but not a full understanding of it.

solar whale
#

@lone axle @half sedge While it is the same for IOS and Android, I'm not sure how to interpret it either but if you lay the CPB on a flat surface you will see the x,y Accel and all 3 Euler Angles read near zero and the z accel read about 10. then if you slowly rotate it while keeping it flat on the table -- none of the readings change where as if you slide or shake it still flat on the table, the measure values do change.

#

It is not clear to me why when you pick up the CPB and move it about, the image shows orientation, but the Z Euler angle stays 0.

#

Ah interesting - I just realized that the image does not rotate when you have the CPB flat. it really is not showing orientation. Something is odd about "yaw" ... or at least my understanding of it.

lone axle
#

Yeah i think its unable to know the rotation when its flat

#

I think i saw something like that in one of the documentation pages. Ill see if i can find where.

solar whale
#

rotations always make my head hurt...

lone axle
#

Ha, I hear you there.

#

This is the warning I saw. Its in the learn guide for the Bluefruit Playground app: "Accelerometers cannot detect 'twisting' motion so you will see changes when you tilt the board, but not spin it."

main meteor
#

Yes, you need a gyroscope or compass/magnetometer to detect rotation.

lone axle
#

Do you know if the lack of ability to detect rotation is what causes the Z Euler angle to always be 0? Or is that unrelated?

solar whale
#

OK -- so taht explains why "yaw (Euler z)" is always zero.

#

in my understanding Euler z is "twist"

lone axle
#

Ah I see.

solar whale
#

x is "pitch" -- up.down of the "nose" y is "roll" (wing tilt) -- z is "yaw" (twist)

lone axle
#

Ah, thank you. That helps me visualize it better than I was able to before.

solar whale
#

I think I have roll/pitch swapped -- at least how they are marked on the CPB -- fixed above

#

it shows y being along the JST/USB connector line and X perpendicular. If you tllt he usb connector up/dow the X euler angle changes -- that is a rotation of the x axis -- so I had it right the first time ... rats. as i said -- makes my head hurt..

#

a rotation about the JST/USB (Y axis) id Roll or the Y Euler angle

#

I think of it as flying with the USB connector being the nose of the plane

#

ooh -- the sun's out and it is warm here (unusaully so for jan in NH- 60 degrees F) taking the dog for a walk....

lone axle
#

Nice, enjoy. Suns out a bit here but still got the snow from yesterday on everything. Still going to get out and about for a while as well though

obsidian compass
#

Meet Mitch today at OpenTech Day Delhi. Discussed state of circuitpython with him and other community members. Ease of getting up and running with circuitpython left everyone awestruck ๐Ÿ™‚

ionic elk
#

Ok, here's my CircuitPython 2020!

#

I was glad get to draft this with my buddy Don Blair, who uses Circuitpython for a bunch of scientific work on ocean and agricultural monitoring.

#

I'm super pumped about the stuff he's doing and I hope others are as well.

manic glacierBOT
half sedge
#

Does anybody knows the story behind pIRkey?
Was it ever officially released?
Adafruit pIRkey - a Python Programmable InfraRed USB Adapter
PRODUCT ID:ย 3364
https://www.adafruit.com/product/3364
Coming soon! We want to reprogram our stock with the newest CircuitPython 3.0 before shipping these out.

manic glacierBOT
idle owl
#

<@&356864093652516868> Here is the notes document for Mondayโ€™s CircuitPython Weekly meeting. Everyone is encouraged to attend! Please add your hug reports and status updates even if youโ€™ll be attending the meeting - itโ€™s super helpful! If you are unable to attend but would still like to include updates, feel free to include them in the notes and Iโ€™ll read them off during the meeting. Hope to see you there! https://docs.google.com/document/d/1IA9bA0Inf2JrTk_CbDvENPPGOuqmmtdmfv5Nj2sbKmg/edit

manic glacierBOT
half sedge
slender iron
#

@half sedge ladyada wasn't happy with the performance of it so she's added reworking it to her backlog

half sedge
#

@slender iron You are talking about the IR thing. OK. The thing is that it was advertised in video and in a CircuitPython Release Blog post (I know because I did read many of those today). I had some IR needs in the past... initially it was receive only, so I went for Flirc. Later I needed send and receive, so I did LIRC on the Pi. And at one point I used my CPE for learning the IR code and a Trinket M0 for the sending. So hopefully, I did not wait for the pIRkey ;-). It is just that the product description say it is waiting for CP 3.0 were CP 5.0 is almost out... so it is not consistent with reality.

indigo wedge
#

was last week's recording posted?

slender iron
#

@half sedge ya, for pirkey. It's in a weird twilight zone

slender iron
half sedge
#

@indigo wedge And you can follow the YT video with the text transcript with timestamp, it is in chronological order... a new things for 2020.

indigo wedge
#

Thank you โ˜บ๏ธ

half sedge
#

By the way... the weekly meeting is very late in CET timezone. Most of the time, I am likely to follow that in "VOD" rather than "LIVE". So that's why the transcript and the video are important.

lone axle
#

Does anyone know if the pyportal.wget function from the pyportal library supports saving the file to the SDcard?

meager fog
#

if there's an SD card it should default to that

lone axle
#

Does anything special need to be done before calling wget? I was getting read only file permission error

#

file parameter was just a name like "myfile.bmp"

pastel panther
#

@raven canopy you've got my thumbs_up to proceed with adabot at your convenience

#

@trim elm @idle owl heads up ^

meager fog
#

@lone axle should detect it automatically if the SD card is inserted

lone axle
#

Ok, Thank you.

meager fog
#

yuo can set debug=True in pyportal kwargs too

trim elm
#

@raven canopy Is there a way to get the output of Adabot in a text file? I'm trying to get a list of all circuitpython repositories to draft releases on all of them.

lone axle
#

Got a successful download now! Thanks again.

#

I would love to see a very basic download and show a bmp file example. If it doesn't exist I will try to make one once I get it figured out all the way

lone axle
#

It seems there is something weird with the Django debug server. wget of files hosted by it on the local network seem to get hung. But elsewhere online works fine.

raven canopy
#

@trim elm sorry. was afk. running most of the adabot scripts with -o <path/filename> argument will output the results to a file. (-h for any other options)

trim elm
#

Ah, ok. Thanks!

digital summit
slender iron
lone axle
#

Actually it seems my issue was perhaps the size of the file and not the server. My file was a bmp, but wasn't indexed color mode. and was ~230kb. Once converted it's about 75kb and it seems to finish downloading and show just fne.

lone sandalBOT
#

https://discord.gg/EAeBY6x
should be
https://discord.gg/adafruit

Tried to create a branch and pull request, but I'm not authorized.

Patch

 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 6e19993..2d68fc0 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@
 
 ## Community
 
-- [Adafruit CircuitPython Discord channel #CircuitPython](https://discord.gg/EAeBY6x) - 24/7 chat and support on CircuitPython inc...
manic glacierBOT
#

This is great!

I suspect the Teensy 4.0 may be difficult due to its onboard MKL02 running PJRC's proprietary bootloader code (sitting in the middle of the RT1062's debug interfaces).

I'm working on an embed-friendly surface-mount RT1062 board (see https://forum.pjrc.com/threads/58795) that has space for a Teensy 4.0 bootloader chip (when they eventually become available) but doesn't require one. They'll be sold but also released as open-hardware once the design is verified.

I'd love ...

manic glacierBOT
manic glacierBOT
craggy galleon
#

General question about CircuitPython + Bluetooth support. I've seen a lot about CPY + BLE and this driver https://github.com/adafruit/Adafruit_CircuitPython_BLE

What hardware does it support exactly? It is the same as the common Arduino BT05 modules? Do they need a separate driver to communicate to their UART interface?

I just want to be able to use Bluetooth to communicate with a BT05. Trying to work out if any CircuitPython_Driver is required to be written.

stuck elbow
#

@craggy galleon it supports NRF52840

#

@craggy galleon no modules

craggy galleon
stuck elbow
#

yes, I'm not sure if anything exists already

#

but the good news is that it can be done in python, no need for C code for that

craggy galleon
#

I couldn't find anything on the official Adafruit Github. All the Learn Guides seem to point to using Arduino.

@stuck elbow Thanks. I'll start working on that. They all use the same standard commands. So getting it working should be a good addition.

#

I'm actually surprised there is not something already out there...

manic glacierBOT
half sedge
#

@craggy galleon I am not an expert, but I feel that the BT05 is traditional BT. So serial over BT would be RFCOMM protocol. But in CP we have some BLE support, a different kind of Bluetooth!
I don't know how standard is that Nordic UART TX/RX thing, compare to RFCOMM.
I don't know the relationship between the old Adafruit Bluefruit LE range of product (that only have Arduino support) that is hardware add-on for board with no BLE support, and the nRF52840 that could maybe do that with a bit of software. I hope that will one day be possible (without AT command).

craggy galleon
#

@stuck elbow Running just the existing BLE code doesn't work because it expects _ble to be built into the circuitpython firmware running on the board. ๐Ÿ˜ข

#

@half sedge I was hoping to just implement the AT commands and hope for the best. I was reading up on it just then and seems straight forward. I am actually looking at implementing it for a "BT07" but I couldn't find any information about them. Anything that can do a UART bridge would be good.

solar whale
#

@craggy galleon there isa library for the BLE SPI Friend, but not for the UART Friend

craggy galleon
solar whale
#

yes

craggy galleon
#

cool ๐Ÿ™‚ Thank you for this. Going to make creating a UART one waaaay eaiser.

prime flower
#

@half sedge BLEIO-like with airlift/nina-fw is on my radar for 2020.

onyx hinge
indigo wedge
#

Thanks, I already got it ๐Ÿ™‚

onyx hinge
#

oops I was scrolled way back again.

manic glacierBOT
prime flower
#

@crimson ferry https://mcuoneclipse.com/2019/09/22/eclipse-jtag-debugging-the-esp32-with-a-segger-j-link/ < someone got the esp32 working, unofficially, with a jlink and gdb. I'm going to try this when time frees up again as it'll be useful for BLEIO/Nina-fw

When Espressif released in 2014 their first WiFi ESP8266 transceiver, they took over at least the hobby market with their inexpensive wireless devices. Yet again, the successor ESP32 device is usedโ€ฆ

crimson ferry
#

@prime flower That looks promising, could help immensely with complex or intermittent behaviors.

prime flower
#

@crimson ferry Yeah, only issue is ESP32 FeatherWings dont have these esp32 internal pins broken out, I may solder directly to pins or make a "airlift debuger FeatherWing" for myself, to stack on top of it

#

the wrover v4.1 kit should work directly, I have one of them but haven't tried that with circuitpython/esp32spi yet

crimson ferry
#

Could even debug with a HUZZAH for Airlift targets, no difference functionally except connected pins.

prime flower
#

Yeah, I'll need to look at that breakout. printf'ing through FreeRTOS is not ideal.

crimson ferry
#

(or Feather ESP32... only material difference is HUZZAH has pins 0 and 2, but no USB)

half sedge
#

@prime flower About airlift/nina-fw , are referring to my #CircuitPython2020 post? If we can upgrade the ESP32 and use our AirLift hardware for both WiFi and BLE (simultaneously?), that would be great!
That would upgrade the value of existing PyPortal, and AirLift FeatherWing.
I am still a bit confused by the various options: (1) the old BluefruitSPI [and the Bluefruit UART equivalent?] (2) nRF52840 possibilities (3) the potential to upgrade an AirLift to add BLElift.
I don't fully grasp the potential differences, integration challenge, cost/benefit.

prime flower
#

@half sedge Yes, referring to your post. You can not use the ESP32's WiFi/BT radios simultaneously, they need to be used separately.

#

Out of curiosity - what use cases do you have if you could've used the radios at the same time?

half sedge
#

Well, I was wondering if one board had both WiFi and BLE. I could thing of a nRF52840 + Airlift.
The idea is that you could have at home multiple BLE only device, and one device that bridge them to the internet. That device require both technology.
A smart watch is BLE only. A Smartphone is BLE+internet and bridge your SmartWatch need.

manic glacierBOT
idle owl
#

@gilded cradle Do you have a minute?

solar whale
idle owl
#

@solar whale Nice print! Question: do you have a minute and a mic hooked up?

solar whale
#

yes

#

@idle owl something you want me to do?

idle owl
#

Yes, except my network just went down. Perfect timing. Sigh.

#

And entire machine crashed. Unrelated as far as I know.

solar whale
#

ok -- I'm available to test when you get restored.

onyx hinge
#

this is a combination of two sine wave mp3s from flash on pygamer, one is set to volume .7 and the other is volume 1.0

main meteor
#

Yup, looks clipped to me

onyx hinge
#

that's the goal, if the user doesn't want clipped then they can set the levels. If the levels sum to less than 1.0 then no clipping will occur, but they have to decide on the relative volume of things.

main meteor
#

Just like in the analogue world, which I'm guessing was your goal

onyx hinge
#

if there's a better technique or outcome that is feasible I'd love to hear about it ๐Ÿ™‚ before I do the other 3 cases (signed and unsigned 8 bit, unsigned 16 bit)

idle owl
#

Laptop won't boot. Network failover did not occur. Today is shaping up to be great.

onyx hinge
#

it's not QUITE analog world, the "saturation" happens after each channel is added in, so if you have A+B-A, but A+B saturates, then you don't end up with just B. In analog world with a 3-summing amplifier I think you would

main meteor
#

You could implement a normalized or average mixer which wouldn't clip, but I doubt it would be worth the trouble.

onyx hinge
#

the old code was arranged so that clipping would never occur, but with increasing number of samples/voices they would individually become very faint. I think it was partially by accident but then we started to think it was a feature

main meteor
#

They're both valid approachs, with different pros and cons.

onyx hinge
#

since each voice has a level, you can set e.g., each level to 0.33 for 3 voices and it ends up being essentially an average

idle owl
#

Ok, back on reduced internet and still looking shifty at my laptop of dubious reliability.

#

@solar whale If you're still around, can you jump into the CircuitPython voice channel so I can see if OBS and Discord audio are working properly or if I have to fight with it?

#

Thank you!

prime flower
#

@idle owl I'm around if you haven't tested yet

ionic elk
#

Does anybody know how to get the full Cortex register set out of GDB? It's giving me the ARM7 register set which excludes PRIMASK

slender iron
#

what are you trying to see?

ionic elk
#

primask

#

The Current Program Status Register is showing the IRQ mask bit is set, but I'm not totally sure how to interpret that so I'm looking for a little more detail

past herald
#

Looks like "info all-registers" should do it.

ionic elk
#

I've tried that but like I said it's giving me the ARM7 register set

#

all registers just gives me f0-f7 and fps