#circuitpython-dev

1 messages · Page 241 of 1

lean hare
#

Ah, I found a gamma adjust method that takes a single value 😃

tulip sleet
#

@umbral dagger the bluefruit app should work - make sure all the libraries and CPy are up to date. Try the echo example in Adafruit_BLE

manic glacierBOT
slender iron
#

@exotic pumice working on it

manic glacierBOT
manic glacierBOT
manic glacierBOT
slender iron
#

sorry for the azure noise

#

hoping to speed up circuitpython builds

raven canopy
#

Sorry? I'm stoked. New platform to learn! 😁

slender iron
#

ya, looks promising so far

tulip sleet
#

can we get more simultaneous builds on azure, or are you hoping to split across travis and azure?

slender iron
#

yup 10 concurrent

#

and can do multiple jobs which allows for splitting commands more easily

manic glacierBOT
slender iron
#

moving circuitpython will free up travis for libraries too

manic glacierBOT
tulip sleet
#

@slender iron can you use Ubuntu 18.04, or they only have 16.04?

slender iron
#

only 16.04 unfortunately

manic glacierBOT
manic glacierBOT
#

On Fri, 29 Mar 2019, at 03:30, Scott Shawcroft wrote:

@tannewt approved this pull request.

Tweaked one old comment and looks good otherwise. Will merge after Travis gives the ok. Thanks for your persistence on this!

Thanks Scott! Yeah, getting languages to merge is a bit of a bear, eh ... every time I think it's working they get out of date again!

(I do think multilingual support is a great feature though, I just wish it was easier to merge!)

raven canopy
#

not coincidence at all, but i've been looking to give myself certificate fees for edX for my bday present. today i was this close to starting Microsoft's DevOps one which is ofc Azure based. 😆

manic glacierBOT
slender iron
manic glacierBOT
exotic pumice
#

isn't it just great how many test commits it takes to set up CI? 😛

tulip sleet
#

@slender iron I think we might consider doing a beta.6 Friday just for support reasons, since it fixes significant bugs that are causing support issues, especially for PyPortal.

exotic pumice
#

releasing on a friday? bold

slender iron
#

@tulip sleet yup, good idea

manic glacierBOT
manic glacierBOT
manic glacierBOT
#

I believe I've encountered an error in the PyPoral Library that supports the code.py that retrieves Adafruit famous quotations. After an estimated 72 hours of "burn-in", I found the screen in text mode with a stacktrace-looking stream of text:
rieving data...Reply is OK! (beginning of that has scrolled off screen)
Couldn't parse JSON
The actual "text" value appears truncated, and there is no attribution.
The mentioned locations are:
File code.py line 33 in <module>
File code.py li...

manic glacierBOT
manic glacierBOT
manic glacierBOT
tulip sleet
#

@slender iron I'm gonna start on the release notes for a beta.6 as a draft release in github

manic glacierBOT
tulip sleet
#

@slender iron beta.6 release notes draft is pretty much done, unless more is merge

tulip sleet
idle owl
#

@tulip sleet Do you want me to merge it?

tulip sleet
#

no, scott should vet it one last time, since he was in on the discussion

prime flower
slender iron
#

@tulip sleet looking now

#

will be out shortly to go meet @solar whale !

manic glacierBOT
modest atlas
#

What is the best way to expand the GPI O on a py portal

#

I2c?

#

Good morning everyone!blinkacomputer

manic glacierBOT
main meteor
crimson ferry
umbral dagger
#

@tulip sleet The BLE echo example works fine.

#

@modest atlas @main meteor Seesaw is fine, but as mentioned has other things which may or may not be useful. It is on a nice breakout, though. The 23017 will give you 16 digital I/O lines but there isn't a breakout afaik. It's usually my goto expansion ship, especially in a custom build.

#

@modest atlas @main meteor I designed and did a custom board for a 32-bit I/O UNO format shield using the SOIC version of the 23017. My smarthome node uses one for configuration jumpers and a digital expansion port (for things like switches, relays, etc).

tulip sleet
#

@umbral dagger the error you're showing with BLE UART might be due to not being connected. Is your code very different from the BLE echo example?

manic glacierBOT
umbral dagger
#

@tulip sleet ```
from adafruit_logging import LoggingHandler
from adafruit_ble.uart import UARTServer

class BLEHandler(LoggingHandler):
"""Send logging output to the BLE uart port."""

def __init__(self):
    """Create an instance.

    :param uart: the busio.UART instance to which to write messages

    """
    self._advertising_now = False
    self._uart = UARTServer()
    self._uart.start_advertising()

def format(self, level, msg):
    """Generate a string to log.

    :param level: The level at which to log
    :param msg: The core message

    """
    return super().format(level, msg) + '\r\n'

def emit(self, level, msg):
    """Generate the message and write it to the UART.

    :param level: The level at which to log
    :param msg: The core message

    """
    print('connecting')
    while not self._uart.connected:
        pass

    print('connected')
    data = bytes(self.format(level, msg), 'utf-8')
    print(type(data))
    self._uart.write(data)
#

@tulip sleet It's all looking fine up until the write. data is bytes just like the result of read in the echo example.

tulip sleet
#

@umbral dagger could you replace the triple single quotes with triple backquotes?

#

how long is the string you're trying to write?

manic glacierBOT
umbral dagger
#

@tulip sleet my bad

tulip sleet
#

@slender iron I'm seeing BLE problems with latest master (these are not the same problems as @umbral dagger is seeing above)

manic glacierBOT
slender iron
#

@tulip sleet I'd still publish beta 6

#

because more people are hitting the usb issue than are using ble

tulip sleet
#

BLE is completely unusable; I'm bisecting. I think if you revert the nrf RTC PR it will work; just confirming

slender iron
#

kk

#

I can finish beta 6 if you have to go before it's out

tulip sleet
#

i have to leave in 10 mins for the rest of the evening

slender iron
#

haha, ok

#

glad I offered 😃

tulip sleet
#

Or I can do it tomw. If you revert that PR, build a feather 52840 build, load it, and try this:

>>> from adafruit_ble.uart import UARTServer
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "adafruit_ble/uart.py", line 34, in <module>
  File "adafruit_ble/uart.py", line 56, in UARTServer
OSError: Failed to change softdevice state
#

it should NOT get that error

#

it is definitely that PR

#

according to bisect

#

or, let's revert, wait for the builds, and I'll retest tomorrow and publish beta.6 tomorrow

#

depends on your schedule now as well

idle owl
#

@slender iron I submitted our Open Spaces to PyCon for consideration.

tulip sleet
#

@slender iron OK, I"m going to revert #1534 now

manic glacierBOT
#
[adafruit/circuitpython] New branch created: revert\-1534\-circuitpython\-nickzoic\-1046\-nrf\-rtc
#

Reverts adafruit/circuitpython#1534.

This breaks BLE:

>>> from adafruit_ble.uart import UARTServer
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "adafruit_ble/uart.py", line 34, in <module>
  File "adafruit_ble/uart.py", line 56, in UARTServer
OSError: Failed to change softdevice state

We'll need to check this out more thoroughly. Reverting so we can release a beta.6 with other fixes.

slender iron
#

@tulip sleet ok, I'll check the builds and release if it's ok.

tulip sleet
#

Sounds good! ttyl. leaving in 2 mins

slender iron
#

no need to work over the weekend 😃

tulip sleet
#

you know me :), but yes, I might take something of a break

slender iron
#

ya, it'll give you less excuse to at least

prime flower
idle owl
#

@prime flower Please send me an email, I'm in the middle of something.

prime flower
#

np

manic glacierBOT
idle owl
#

@prime flower I have a Travis hash for you for DymoScale.

umbral dagger
#

@tulip sleet The strings are ~20 characters in the test, although there shouldn't be a limit.

meager fog
#

@hard dove heya did you try the SSD1331 with arduino

manic glacierBOT
gilded cradle
#

No, I’ll give that a try @meager fog . Thanks for the suggestion.

slender iron
idle owl
#

@slender iron I can review it.

manic glacierBOT
marble hornet
#

@slender iron have not heard of lwip. wish i could be of service

idle owl
#

Nevermind, lol

gilded cradle
#

😁

slender iron
#

thanks @gilded cradle !

gilded cradle
#

Yw

meager fog
#

@slender iron i can look

#

shoot missed it. sounds good. are we ditching Ethernet

slender iron
#

@meager fog its in the m4 still but uses the ip stack on the wiznet I think

#

we can always add it back later

manic glacierBOT
#
[adafruit/circuitpython] New tag created: 4\.0\.0\-beta\.6
gilded cradle
#

@meager fog, I tried on both an Arduino Due and Arduino Mega with no luck. Thanks for the suggestion . I'll try that first next time.

orchid basinBOT
lone sandalBOT
lone sandalBOT
raven canopy
#

Look at @adabot adabot getting in on the discord action! She's so awesome.

umbral dagger
#

@tulip sleet This sort of works: ``` data = bytes(self.format(level, msg), 'utf-8')
for i in range(len(data)):
self._uart.write(data[i:i+1])

#

It eventually fails with: ```Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "ble_test.py", line 21, in go
File "adafruit_logging.py", line 188, in warning
File "adafruit_logging.py", line 161, in log
File "ble_handler.py", line 68, in emit
File "adafruit_ble/uart.py", line 128, in write
OSError: Failed to notify or indicate attribute value, err 0x0013

manic glacierBOT
#
[adafruit/circuitpython] branch deleted: revert\-1534\-circuitpython\-nickzoic\-1046\-nrf\-rtc
tulip sleet
manic glacierBOT
#

Code runs for variable amount of time, then hard crashes, doesn't matter what the except tries to catch.

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

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

manic glacierBOT
#

Thanks for the report.

  1. Could you use beta.6 instead of this intermediate build? Thanks.
  2. What is typically a "variable amount of time": seconds, minutes, hours?
  3. Could you confirm that your pyportal library is up to date?
  4. When running, are you connected to the REPL? If so, does your host computer go to sleep, and then the crash happens?

I'm running your code on a PyPortal, same except I didn't have your background image, so I'm using a different one.

manic glacierBOT
#

I was on adafruit-circuitpython-pyportal-en_US-20190327-df79e9a.uf2
but I also tried adafruit-circuitpython-pyportal-en_US-4.0.0-beta.5
and adafruit-circuitpython-pyportal-en_US-4.0.0-beta.6
The daily seemed to crash within minutes at most.
beta 5 I didn't let run all that long
beta 6 crashed a couple times right away, but then has been running for 30 minutes so far.
nature.bmp.gz

My computer hasn't been going t...

stuck elbow
#

@slender iron I don't suppose we want displayio to support 4bpp displays?

slender iron
#

@stuck elbow my goal is to support all the way down to 1bpp. Not by 4.0.0 obviously though

stuck elbow
#

oh wow

#

because I just got an SSD1327 breakout to work, and it's a pretty nice 128x128 16-grays OLED display

#

would be nice for gameboy-like games

#

and since it's 4bpp instead of 16bpp, it's going to be 4x faster :D

#

(admittedly, 160x144 would have been even nicer, but you can't have everything)

gilded cradle
#

@slender iron, do you know if we're planning on eventually supporting I2C displays too?

stuck elbow
#

I think it shouldn't be hard, there already are two different protocols, adding a third one wouldn't be that hard

gilded cradle
#

Yeah, that's what I figured.

stuck elbow
#

especially since the displays use the same command set both for spi and i2c

gilded cradle
#

Good point

stuck elbow
#

with just some hack for distinguishing data and command bytes

#

(usually they add a first byte in front that tells if it's a data, a command followed by data, or all commands)

gilded cradle
#

Most likely it would target CP 4.X

stuck elbow
#

I think CP4.0 is pretty much in a feature freeze by now

gilded cradle
#

Yeah, that's what I meant

#

I got a couple display related items in there that will allow me to support a bunch of the displays, but I think we're really close now.

stuck elbow
#

I really can't wait for the badge wing and for displayio doing dirty rects -- then I can write some proper games

gilded cradle
#

What do you mean by dirty rects?

stuck elbow
#

I think right now it's pretty much updating the whole screen every time

gilded cradle
#

Ah

#

that makes sense

stuck elbow
#

but it has those "dirty" flags on the objects

#

so it could only update parts of the screen, and be much faster

gilded cradle
#

Yeah, that would make certain slow screens much more responsive.

stuck elbow
#

I'm doing that with my µGame thingy, and it's enough to have 12fps on 128x128 screen

gilded cradle
#

Is that the PewPew board?

#

Or is that something else?

stuck elbow
#

it's an older project for games with real graphics

gilded cradle
#

Ah, ok

stuck elbow
gilded cradle
#

Nice

stuck elbow
#

I basically wrote something similar to displayio back then, but more limited

#

only 16x16 sprites and tiles, 16-color palettes, etc.

gilded cradle
#

Yeah, it would be nice to add some way to hook displayio drawing functions to hardware accelerated functions if available, but I imagine that being a ways down the road.

stuck elbow
#

those cheap displays don't have much in the way of hardware acceleration

#

some have scrolling

gilded cradle
#

No, but the RA8875 does.

#

Without it, it's quite slow.

stuck elbow
#

that is way out of my budget

gilded cradle
#

Yeah, but it would be nice to have displayio working on it.

stuck elbow
#

what I would love is a display that would have nice big pixels (say, 128x128 with 3" diagonal), 4-bit pixels with a 16-color palette, hardware scrolling horizontally and vertically, and fast SPI interface — that would practically be total bliss

#

the biggest physical pixels I could find is the 1.8" 160x128 ST7735

gilded cradle
#

If you find something like that, let Adafruit know.

stuck elbow
#

by the way, I found something awesome just now

#

transparent OLED displays

#

the frame spoils it a little bit, since you can't make a LED cube out of them this way

#

but you can still make HUDs or stack a few and have some depth

gilded cradle
#

Perhaps you could remove the frame and glue them together?

stuck elbow
#

I suspect that frame has a purpose

gilded cradle
#

Probably to prevent it from falling apart, but perhaps as a conductor/shield?

#

But they are a bit on the spendy side.

stuck elbow
#

yeah, and need 20V power

#

as all bigger oleds

gilded cradle
#

Yeah

stuck elbow
#

but maybe in a few years if they get more popular

#

there will be ready breakouts with a voltage pump and they will be cheaper, who knows

gilded cradle
#

Yeah, perhaps

stuck elbow
#

looks like sparkfun has some of them with breakouts

#

still expensive

stuck elbow
#

@gilded cradle I'm trying your ST7789 display driver now, it should work now right?

gilded cradle
#

Yes, with Beta 6.

stuck elbow
#

I'm only getting a black screen, but the breakout I have is not the Adafruit one

gilded cradle
#

Ah ok. I've only tested with the Adafruit one. Can you link me the one you have?

#

Also, does yours work with the Arduino driver?

stuck elbow
#

I haven't tried

#

I haven't seen it working yet, so not sure if it's not broken

gilded cradle
#

oic

stuck elbow
#

your example should show a red screen, right?

lone sandalBOT
stuck elbow
#

@gilded cradle which arduino library did you use for testing?

manic glacierBOT
gilded cradle
#

@stuck elbow , I used the ST7735 and ST7789 driver. However, be aware that it only runs on an arduino and not a SAMD proc.

manic glacierBOT
#

I'm using circuitpython on a custom made arduino zero board. I've got it all working and using the circuitpython version 3.1.2 for arduino zero.

but when I try to import bitbangio, I get this error:

Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: no module named 'bitbangio'

what is the solution to it?

manic glacierBOT
stuck elbow
#

@gilded cradle ah, that would explain why it didn't work for me

manic glacierBOT
manic glacierBOT
#

bitbangio is omitted from the Arduino Zero build for space reasons. The Zero uses 64kB of internal flash for CRICUITPY, so flash state is very tight, as with Gemma M0 and Trinket M0 It would be possible to add bitbangio back and remove something else to make room.

busio does not allow SPI on any pin: there are restrictions based on the SPI peripheral on the SAMD21. But if you choose your pins carefully, you can get hardware SPI, and then not need bitbangio. See the big table in th...

river quest
slender iron
#

<@&356864093652516868> Meeting is tomorrow at 11am Pacific here on Discord. All are welcome to attend. Here is the notes doc: https://docs.google.com/document/d/1GYn61v_NmOaPwdyI2xt5zhOw8llz9E3L26ph8eSs50E/edit?usp=sharing

stuck elbow
raven canopy
#

@stuck elbow i would guess that it's because µgame isn't built with Travis, so it's never added as an asset in the releases.

orchid basinBOT
river quest
#

thanks @raven canopy

#

/downloads is almost more-done-ish

raven canopy
#

👍

lone sandalBOT
marble hornet
#

the site is made with jekyll right?

river quest
#

@marble hornet yep

#

we can add "features" we just need to make sure we do not add too many, battery charging was a good suggestions @marble hornet

marble hornet
#

@river quest a) isn't Jekyll great! B) I agree, especially if they are shared amongst many -> most boards, like native USB. Or the Nrf's user button

manic glacierBOT
exotic pumice
#

What's the touch controller on pyportal?

gilded cradle
exotic pumice
#

Thanks, but I'm curious to see a model # or datasheet

gilded cradle
exotic pumice
#

MI0283QT-11?

gilded cradle
#

Yeah, sort of. It uses the ILI9341 display, but the touch is handled by the M4 Proc itself.

exotic pumice
#

2.8"?

gilded cradle
#

3.2"

exotic pumice
#

Oh

#

The only google result for the model # on that one is adafruit

#

Guess I'll just go off the lib

gilded cradle
#

What are you trying to do?

exotic pumice
#

Help someone build a library for the touchscreen in Rust

gilded cradle
#

Ah, which touchscreen? The one on the PyPortal?

exotic pumice
#

Yep

gilded cradle
#

Yeah, it basically checks the analog signal and uses that to determine where it's being pressed. Like you said, following the library would probably be the best course. 😃

exotic pumice
#

Yeah, I just like to get it from the source you know?

gilded cradle
#

Exactly. Plus you have all the numbers

#

I port stuff from Arduino to CP using a similar strategy.

exotic pumice
#

Sometimes there is stuff in the datasheet not in the code, but yeah, working off code is nice too

gilded cradle
#

True. I used 2 different arduino libraries plus the datasheet when I made the RA8875 driver, plus that was my first real CP library.

exotic pumice
#

Cool

manic glacierBOT
exotic pumice
#

Does the same code work for resistive and capacitive touchscreens?

gilded cradle
#

No, it's just for resistive in this case.

lone sandalBOT
solar whale
#

FYI -- current master failed on the "pl" build for the hallowing for me -- are others seeing this as well?

#
Build hallowing_m0_express for pl took 16.39s and ESC[31mfailedESC[0m
make: Entering directory '/home/jerryneedell/projects/adafruit_github/circuitpython_master/ports/atmel-samd'
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.

-4 bytes free in flash out of 253696 bytes ( 247.75 kb ).
24704 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Too little flash!!!

Makefile:308: recipe for target 'build-hallowing_m0_express/firmware.elf' failed
make: *** [build-hallowing_m0_express/firmware.elf] Error 255
make: *** Deleting file 'build-hallowing_m0_express/firmware.elf'
make: Leaving directory '/home/jerryneedell/projects/adafruit_github/circuitpython_master/ports/atmel-samd'
gilded cradle
#

@solar whale, what is the command for doing the "pl" build?

solar whale
#
jerryneedell@Ubuntu-Macmini:~/circuitpython_master/ports/atmel-samd$ make TRANSLATION=pl BOARD=hallowing_m0_express clean
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
rm -rf build-hallowing_m0_express 
jerryneedell@Ubuntu-Macmini:~/circuitpython_master/ports/atmel-samd$ make TRANSLATION=pl BOARD=hallowing_m0_express 
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
QSTR updated
FREEZE ../../frozen/Adafruit_CircuitPython_BusDevice ../../frozen/Adafruit_CircuitPython_LIS3DH ../../frozen/Adafruit_CircuitPython_NeoPixel

-4 bytes free in flash out of 253696 bytes ( 247.75 kb ).
24704 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Too little flash!!!

Makefile:308: recipe for target 'build-hallowing_m0_express/firmware.elf' failed
make: *** [build-hallowing_m0_express/firmware.elf] Error 255
make: *** Deleting file 'build-hallowing_m0_express/firmware.elf'
jerryneedell@Ubuntu-Macmini:~/circuitpython_master/ports/atmel-samd$ make TRANSLATION=en_US BOARD=hallowing_m0_express 
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.

2308 bytes free in flash out of 253696 bytes ( 247.75 kb ).
24704 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Converting to uf2, output size: 502784, start address: 0x2000
Wrote 502784 bytes to build-hallowing_m0_express/firmware.uf2.
#

just add TRANSLATION=pl to (default en_US) build

gilded cradle
#

Ah, ok. Thanks

solar whale
#

I usually just run the "build_release_files.py" in the tools folder and it builds all the translations.

gilded cradle
#

I wonder why Travis didn't catch it

raven canopy
#

@solar whale are you sure you're on latest? all of the last few Travis builds seem to build HW PL fine...

solar whale
#

That is whY i posted it -- I did a pull/update before the build....

raven canopy
#

🤔 that would make sense. 😉

solar whale
#

I see a "pl" .uf2 in the S3 folder for hallowing_pl but it fails for me.

raven canopy
#

i'm bringing my VM up to see if we can get 3 replicants.

solar whale
#

Not sure what Travis has that I don't have 😉

gilded cradle
#

I'm getting a different error. Probably related to me doing something different:

melissa@Melissas-MacBook-Pro-839 ~/D/c/c/p/atmel-samd> make BOARD=hallowing_m0_express TRANSLATION=pl
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
QSTR updated
FREEZE ../../frozen/Adafruit_CircuitPython_BusDevice ../../frozen/Adafruit_CircuitPython_LIS3DH ../../frozen/Adafruit_CircuitPython_NeoPixel
xargs: /Users/melissa/Developer/c/circuitpython/mpy-cross/mpy-cross: No such file or directory
make: *** [build-hallowing_m0_express/frozen_mpy] Error 127
solar whale
#

hmm - does order matter ? try make TRANSLATION=pl BOARD=...

#

also do make clean first

gilded cradle
#

same error

solar whale
#

but that looks like a path issue...

gilded cradle
#

It might be. Let me try default first.

#

Yeah, it didn't like that either. I've only compiled for feather m4 and metro m4

solar whale
#

they may not have "frozen" modules so don't need to find mpy-cross in your path.

gilded cradle
#

That's probably the case

#

I'll see if there's a guide that explains that

raven canopy
#

did you make -C mpy-cross before?

#

before meaning, when you setup the toolchain to build.

gilded cradle
#

Oh, I think I had before, but then I recently repulled the entire repo and may have deleted it before that

raven canopy
#

waiting on my slow VM to finish a test build

solar whale
#

💤

raven canopy
#

right? i've been dev'ing on linux the last few weeks. it has spoiled me.

#

well, i got an extra warning and a larger build. yay?

vagrant@ubuntu-xenial:~/source/circuitpython/ports/atmel-samd$ make BOARD=hallowing_m0_express TRANSLATION=pl
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
QSTR updated
FREEZE ../../frozen/Adafruit_CircuitPython_BusDevice ../../frozen/Adafruit_CircuitPython_LIS3DH ../../frozen/Adafruit_CircuitPython_NeoPixel
fatal: no tag exactly matches 'c0ed34813a608b64ed044826553918ddbad12f0c'

-80 bytes free in flash out of 253696 bytes ( 247.75 kb ).
24704 bytes free in ram for stack out of 32768 bytes ( 32.0 kb ).

Too little flash!!!

Makefile:308: recipe for target 'build-hallowing_m0_express/firmware.elf' failed
make: *** [build-hallowing_m0_express/firmware.elf] Error 255
make: *** Deleting file 'build-hallowing_m0_express/firmware.elf'
solar whale
#

cool! I don't feel so alone...

#

try ```git submodule foreach --recursive 'git fetch --tags'

raven canopy
#

re-doing the submodule game to see if i can get that fatal to vamanos.

solar whale
#

and maybe git submodule sync

raven canopy
#

i only did sync and update earlier. running foreach now...

gilded cradle
#

Ok, I got mpy-cross compiled, added to path, and resulted in a build with -44 bytes

#

Let me switch to master branch...

#

Eh, still -44 bytes for me

solar whale
#

hmm -- still od that Travis succeeded ...

manic glacierBOT
raven canopy
#

back. i'm down to -48 bytes...

solar whale
#

@gilded cradle @raven canopy sorry to "kick the hornets nest" then run, but I need to get to bed -- been a long day. I'm glad it was noit "just me", but puzzled by the variations... let mw know if you want me to open an issue -- or go ahead and open one.

gilded cradle
#

Hi @solar whale. Yes, please open an issue. It's better than it falling between the cracks, so to speak.

solar whale
#

ok -- will do

gilded cradle
#

Thanks

manic glacierBOT
#

I tried running the tools/build_release_files.py on the current master and get one failure


Build hallowing_m0_express for pl took 16.39s and failed
make: Entering directory '/home/jerryneedell/projects/adafruit_github/circuitpython_master/ports/atmel-samd'
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.

-4 bytes free in flash out of 253696 bytes ( 247.75 kb ).
24704 bytes free in ram for stack out of 32768 bytes ( 32.0 ...
solar whale
#

goodnight!

manic glacierBOT
#

During discussion of this on Discord, I replicated the above. However, I get a slightly different build size.

vagrant@ubuntu-xenial:~/source/circuitpython/ports/atmel-samd$ make clean BOARD=hallowing_m0_express; make BOARD=hal
lowing_m0_express TRANSLATION=pl
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
rm -rf build-hallowing_m0_express
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase bu...
gilded cradle
#

Goodnight @solar whale

manic glacierBOT
manic glacierBOT
#

bitbangio is omitted from the Arduino Zero build for space reasons. The Zero uses 64kB of internal flash for CRICUITPY, so flash state is very tight, as with Gemma M0 and Trinket M0 It would be possible to add bitbangio back and remove something else to make room.

busio does not allow SPI on any pin: there are restrictions based on the SPI peripheral on the SAMD21. But if you choose your pins carefully, you can get hardware SPI, and then not need bitbangio. See the big table ...

hoary hill
#

Hello all, anyone can help me: Is rotaryio supported for the Trinket M0 yet?

stuck elbow
#

it should be easy to check if you have a trinket m0 at hand

tidal kiln
tulip sleet
#

@hoary hill it is not supported only for space reasons. It would be possible to create a custom build that removed something else in favor of rotaryio

hoary hill
#

Thanks @tulip sleet and @tidal kiln , good to know the reason is space, I’ll see what I can do without of, in meantime will use the SAMD51 based board to prototype

tulip sleet
#

we actually made a bunch of room in the non-express builds in other ways, and might consider adding rotaryio for 4.0 if it's not too big.

raven canopy
#

<@&356864093652516868> and any who wish to join in: Weekly Meeting in about 15 minutes or so. Docs are here: https://docs.google.com/document/d/1GYn61v_NmOaPwdyI2xt5zhOw8llz9E3L26ph8eSs50E/edit?usp=drivesdk

wraith tiger
#

No not until at least next year.

tidal kiln
#

lurking

errant grail
#

Text only today.

idle owl
#

@gilded cradle @pastel panther Congrats!

slender iron
#

🎉

prime flower
#

@gilded cradle @pastel panther 'gratz and welcome!

errant grail
#

Woo hoo @gilded cradle and @pastel panther !

pastel panther
#

😃

river quest
inland tusk
#

thats cool phil

simple pulsar
#

I'm just tidying up a library to try and get it past Travis and sphinx-build is surprising me with a failure. I'm sure I can work this out eventually but if anyone immediately recognises the problem here it would be very useful Warning, treated as error: autodoc: failed to import module 'adafruit_midi'; the following exception was raised: Traceback (most recent call last): File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/sphinx/ext/autodoc/importer.py", line 232, in import_module __import__(modname) File "/home/travis/build/adafruit/Adafruit_CircuitPython_MIDI/adafruit_midi/__init__.py", line 53, in <module> class MIDI: File "/home/travis/build/adafruit/Adafruit_CircuitPython_MIDI/adafruit_midi/__init__.py", line 61, in MIDI def __init__(self, midi_in=usb_midi.ports[0], midi_out=usb_midi.ports[1], *, File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/sphinx/ext/autodoc/importer.py", line 70, in __getitem__ return _make_subclass(key, self.__display_name__, self.__class__)() File "/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages/sphinx/ext/autodoc/importer.py", line 90, in _make_subclass attrs = {'__module__': module, '__display_name__': module + '.' + name} TypeError: must be str, not int

slender iron
#

might be that the midi_in and midi_out are objects

#

Try making them None

#

(I don't think usb should be the default)

pastel panther
#

@slender iron clackityclackityclack

#

also sneeze

raven canopy
slender iron
#

sorry

pastel panther
#

np

tidal kiln
#

HUG to Dan H for forum help

simple pulsar
errant grail
#

Group hug to the team and community today for inspiration and collaboration.

manic glacierBOT
#

Any update on this?

I'm trying to write to a ring of 16 pixels to show the position of an encoder when it is turned by a human. Currently the lag makes it feel quite unresponsive on my Itsy Bitsy M0:

num_pixels = 16
 
pixels = neopixel.NeoPixel(pixel_pin, num_pixels, brightness=0.1, auto_write=True, pixel_order=(1, 0, 2, 3))

for i in range(num_pixels):
    pixels[i] = (encoder_position, 0, 0, 0)

Currently it takes about 250ms to fill the whole ring.

fierce girder
#

hug to @timber mango for PR 101 to add support to Blinka for PocketBeagle

manic glacierBOT
fierce girder
manic glacierBOT
#

@FutureSharks Besides the _pixelbuf work described above, in progress:

  1. Set your brightness=1.0 (or omit the arg: it defaults to 1.0) which will speed things up, and make the color values smaller to compensate. When brightness is not 1.0 the pixel values must be copied before sending out the data.

  2. Set auto_write=false. Set the pixel values in that for loop, and then after the loop, do pixels.show(). That will suppress sending any data until it's all ready to send.

raven canopy
#
  • @MakerMelissa, @jerryn, and @siddacious for joining the moderator group.
  • Group Hug
#

Nope

gilded cradle
#

It was HIDden

errant grail
#

To-Date: Took a break from CircuitPython to work on a couple of Eurorack module kits. Was nice to focus on therapeutic through-hole soldering again. Walked through some fun PyPortal projects, too.
Returned to CircuitPython this weekend to finish a collection of fundamental MIDI note utilities. The helpers translate a note descriptor string ’C#5’ to a note value (0 to 127), note values to a descriptor string, and a single helper that combines the two translators to permit “free-form” entry of either input form (note-to-name; name-to-note). I also threw in two more helpers for note-to-frequency and frequency-to-note calculations. https://github.com/CedarGroveStudios/MIDI_Util

#

To-Do: Next on the list is to complete one more rack module kit (mostly SMD soldering – fun, but not as therapeutic as through-hole) and do some CircuitPython coding.
Expect to wrap up a MIDI message decoder library using the full (memory-hungry) standard protocol stack and an optional lower-calorie version for essential messages. The decoder will include filters and triggers so that that only certain messages or sequences are decoded -- as an option to the default mode of processing all messages. Would be handy to be able to isolate or ignore a System Exclusive message block, for example. The decoder is the essential algorithm for analyzing received messages and will first be used in a 2nd-generation portable MIDI signal sniffer. With some tweaking, the decoder will also form the foundation of a general-purpose message builder for transmitting MIDI message sequences. Big thanks to the authors of “Data Structures and Algorithms in Python” for helping me achieve an enlightened approach to transforming the MIDI protocol into a Python-digestible structure. https://www.amazon.com/gp/product/1118290275

#

I've been watching his repo. Great progress!

wraith tiger
manic glacierBOT
#

shark, turn off auto_write, also use fill()

Thanks @ladyada but I don't want to fill the whole ring with the same colour. The ring is supposed to show the position of the encoder to a human so if the ring is all one colour it doesn't show anything.

I tried disabling auto_write but performance is the same:

while True:
    for i in range(num_pixels):
        pixels[i] = (100, 0, 0, 0)
        pixels.show()
    
    for i in range(num_pixels):
        pixels[i] = (0, 0, 1...
fierce girder
errant grail
#

Thanks @wraith tiger ! Wasn't aware of sigrok before. Time to get acquainted.

fierce girder
#

raised by @timber mango. We are exploring some options to avoid being root to run Blinka on BeagleBone/PocketBeagle. @gusty kiln may be interested in this.

slender iron
#

what is the recommended hardware to use with sigrok?

manic glacierBOT
fierce girder
stuck elbow
#

@gilded cradle ssd1331 also had some CS weirdness, iirc

slender iron
#

ya, she added support for it I think

stuck elbow
#

wasn't that ssd1351?

slender iron
#

ah maybe

gilded cradle
#

I added support for the SSD1351, but the SSD1331 is still in progress.

#

I think the fix works for both though.

simple pulsar
meager fog
#

hih back but not on audio

#

@slender iron did you want every EPD display to have a unique repo?

slender iron
#

that would be my preference

#

one per ic

pastel panther
#

@wraith tiger I only do that every time

simple pulsar
#

@errant grail my implementation is unidirectional though

idle owl
#

@meager fog do you want to do status updates or hug reports? We're nearly to the end of status updates at the moment.

meager fog
#

@gilded cradle wanna take over the EPD library to split em up

gilded cradle
#

Yeah, I have a couple EPDs so far

errant grail
#

@simple pulsar -- but a bit more elegant and library-oriented than my approach.

meager fog
#

@idle owl sure! hug report to @gilded cradle and @pastel panther who are working on more stuff with us - is exciting 😃

#

@gilded cradle another thing that would be super helpful is checking the arduino RA8875 repo and checking all the issues/PRs - there's probably some good fixes in there and i haven't had time to check it out. then travis'in it up

gilded cradle
#

Ok, sounds good. I'll go through those and test.

prime flower
#

@wraith tiger fwiw, with PySerial be sure to make note of the EOL character while debugging. You can set a EOL character in PySerial, suuuuper useful

meager fog
#

@gilded cradle you will be 👑 of displays 😃

#

👸 👑 😄

gilded cradle
#

😃

raven canopy
#

Last Week:

  • nRF PDMIn: Changed buffer management to use a "static" double buffer in PDMIn.c for 2 reasons. 1) to test if my previous buffer management using the object's buffer was the reason for unusable output, and 2) to enable more inline manipulation for things like 8-bit samples (nRF periph is 16-bit only). The buffer switch caused no change for #1, so I took a break to complete some edX coursework on C pointers; wanted to make sure my shaky understanding wasn't the cause.

  • adabot "updated libraries" list: started formulating a plan for this.

This Week:

  • PDMIn: Will start to implement the sinc filter to see if it fixes the output data.
turbid radish
#

gotta run, have a great day all

manic glacierBOT
simple pulsar
#

@errant grail I've become slightly paranoid about memory usage as there's a constant bloat-o-battle between my application code and the midi library on a CPX (M0) board

raven canopy
#

Thanks everyone. Congrats @MakerMelissa and @pastel panther!!

gilded cradle
#

Thanks @raven canopy

inland tusk
#

@errant grail Can you let me know how to get to your midi stuff

raven canopy
#

phone keyboards... 😁

wraith tiger
#

BTW, I found a usb breakout board to try. It's not a finished product, but a pcb you can order from OSH Park ($7.60 for three pcbs).

solar whale
#

Yes -- congrats @gilded cradle and @pastel panther

gilded cradle
#

Thanks everyone

#

Thanks @solar whale

wraith tiger
errant grail
#

@simple pulsar Yeah, I can appreciate that. For my sniffer code, memory isn't a primary issue. For performance, it becomes critical. I first designed the sniffer for the M0 (had a bunch of existing Trinket M0 MIDI projects), but am unapologetically moving to M4Ex boards now. I'm a Python beginner, so memory management is a basic challenge.

simple pulsar
errant grail
#

Yes, when testing, I throw in a system status block to watch import order and the size of dictionaries and tables (that are usually too verbose given my coding style): ```python

display system status

gc.collect() # clean up memory
print("crunchable test 2019-01-01 v06 M4.py")
print("GC.mem_free: %0.3f" % float(gc.mem_free()/1000), "KB")
print("CPU.freqency: %0.1f" % float(mcu.cpu.frequency/1000000), "MHz")
print("CPU.temperature: %0.1f" % mcu.cpu.temperature, "C")
volt_mon = map_range(AnalogIn(board.VOLTAGE_MONITOR).value, 0, 65520, 0, 6.6)
print("Voltage Monitor: %0.1f" % volt_mon, "V")

radiant sonnet
#

anyone have code for facebook fan page like counter for the pyportal?

simple pulsar
#

@slender iron Has anything change in sphinx-build world? It seems to be related to the array subscripting on those ports

raven canopy
#

@simple pulsar I started reviewing your PR on Saturday but noticed you were still fighting lint so I held off. There are some Sphinx related things I saw. If you give me a couple hours, I'll put them on the PR.

simple pulsar
#

@raven canopy Yes, i've made a few changes since, i'm still a bit puzzled over the spinx-build aspect but i think it should pass the rest now

#

@raven canopy Travis doesn't seem to be doing his/its thing?

#

@raven canopy The gist of the code hasn't changed but I did tidy up one of the big class methods as pylint didn't like it and it had a reasonable point

upbeat plover
#

@marble hornet i made a helper lib that uses displayio, i like both your graphics lib and displayio but i think im gana start using just this

"""
Demo tested with Feather M4
"""
import time
from adafruit_mini_tft_joystick_featherwing.minitftpad import wing, displayio

# print value of all buttons
print(wing.button_up, wing.button_down, wing.button_left, wing.button_right, wing.button_sel, wing.button_a, wing.button_b)

time.sleep(2.3)
# displayio use example
splash = displayio.Group()
wing.display.show(splash)

time.sleep(2.3)
color_bitmap = displayio.Bitmap(160, 80, 1)
color_palette = displayio.Palette(1)
color_palette[0] = 0x00FF00

# background
bg_sprite = displayio.TileGrid(color_bitmap,
                                pixel_shader=color_palette,
                                x=0, y=0)
splash.append(bg_sprite)
stuck elbow
#

@slender iron any idea why release_displays wouldn't release the DC pin?

#
>>> import displayio
>>> displayio.release_displays()
>>> import ugame
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "ugame.py", line 51, in <module>
ValueError: DC in use
slender iron
#

could be a bug @stuck elbow

stuck elbow
#

ok, I will make an issue

slender iron
#

thanks

stuck elbow
#

hmm, looks like it only happens in the REPL

slender iron
#

weird

stuck elbow
#

ok, that is my fault, the pin is actually used by my code, and I added it to the list of pins to not be cleared after a reset

#

so it's my own code conflicting with itself

#

sorry for the alarm

#

but it looks like I will have to modify _stage to use the FourWire for everything

marble hornet
#

@upbeat plover is group variable length now?

simple pulsar
#

Hello all. For sphinx/reST class documentation, what's best technique for documenting something that can be an int or str? I'm also interested in the case of an object or sequence of objects

upbeat plover
#

@marble hornet number of items in group, scale, offset for groups i think

slender iron
#

@simple pulsar probably just in the text

#

I've tried or in the :param but it just gets confused

simple pulsar
#

ta

manic glacierBOT
#

The BLE soft device uses RTC 0. Just a hunch. See my earlier comment on
github.

Bernhard

On Mon, Apr 1, 2019 at 3:03 PM Scott Shawcroft notifications@github.com
wrote:

@nickzoic https://github.com/nickzoic Want to take a look at why this
broke BLE? Totally ok if you don't have the time.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/adafruit/circuitpython/pull/1534#issuecomment-478764317,
or mute the ...

orchid basinBOT
tulip sleet
#

@hoary hill more details: rotaryio was omitted from 3.x for space reasons. rotaryio will be in 4.0 - we made room. But, there was a bug and it was mistakenly not included. There's a pull request for the bug, and there'll be a build soon that includes it, when the PR is merged.

orchid basinBOT
manic glacierBOT
#

On Tue, 2 Apr 2019, at 09:13, Bernhard Boser wrote:

The BLE soft device uses RTC 0. Just a hunch. See my earlier comment on
github.

Yeah, I saw that one (thanks!) but didn't get around to following up (sorry!)

A quick google suggests you're correct ...
https://devzone.nordicsemi.com/f/nordic-q-a/5235/usage-of-rtc0-as-time-basis-system-time-possible
https://devzone.nordicsemi.com/f/nordic-q-a/305/rtc0-rtc1-and-the-app_timer-with-softdevice
https://devzone.nordicsemi.com/f/nordic-q-a/229...

tidal kiln
manic glacierBOT
raven canopy
#

@tidal kiln no worries! and, yw.

manic glacierBOT
crimson ferry
#

@gilded cradle 'PyPortal Max' (M4 + 3.5" TFT wing), PyPortal, and 'PyPortal Mini' (M4 + 2.4" TFT wing) ...apologies to any Adafruit trademarks... all running same displayio test code. No surprise, but it's great when all the bits come together. Thanks! 😄

exotic pumice
#

why does PulseIO return an error over 6MHz?

raven canopy
#

the interrupts are too fast

#

errr...PulseOut or PulseIn?

exotic pumice
#

out

#

pwmout

raven canopy
#

that one i can't readily explain. i'd have to look deeper than i have...

exotic pumice
#

ok

#

I think I'll leave that check out of my code and see what happens

raven canopy
#

hah. and i missed the - 1 at the end of the equation.

exotic pumice
#

why is the max prescaler 8?

raven canopy
#

¯_(ツ)_/¯

exotic pumice
#

ok

manic glacierBOT
#

Yes, we don't compile the source files for modules that are turned off. But rtc.RTC was the only one that ever used MP_WEAK. I'm not sure why it was done that way to begin with. If you grep for MP_WEAK, you'll find very few uses. You don't need the NotImplemented versions. But a use or two here or there may need to check #if CIRCUITPY_RTC.

Or maybe I am all wrong about this, but looking at the uses of RTC, it does not seem to need fallback routines.

gilded cradle
#

That looks great @crimson ferry.

raven canopy
#

@exotic pumice the best I could even think of at the moment is that it might be related to using the TCs in 16-bit mode. i'd have to run more mathing though...

#

quick math:

48,000,000 / 4 / 6,000,000 = 2
2 << 16 = no bueno for a 16-bit number
exotic pumice
#

thanks for brainstorming anyway

raven canopy
#

err...wait. i was reading that line wrong. it isn't shifted. disregard.

exotic pumice
#

yeah I wasn't sure what you were doing there

raven canopy
#

😆

#

too many windows open trying to do too many things at once.

exotic pumice
#

to be fair, I haven't read the code closely

manic glacierBOT
raven canopy
#

it may have just been a design decision, not necessarily a limitation. but i don't have that answer. smarter people than i probably do, though.

exotic pumice
#

thanks

manic glacierBOT
exotic pumice
#

@raven canopy one thing I've noticed is that when I output a fast clock to a pin, it's already a bit dim

#

maybe that's related?

quick nest
#

any chance I can get some help with why I can't install anything using Adafruit GPIO due to "ensurepip" error

exotic pumice
#

nevermind

#

I found a comment in the rust I'm working off of

        while count.status.read().perbufv().bit_is_set()  {}
        // the SVD erroneously marks swrst as write-only, so we
        // need to manually read the bit here
        while count.ctrla.read().bits() & 1 != 0 {}

#

any ideas why mpwm is used instead of npwm?

manic glacierBOT
exotic pumice
#

it looks like the tradeoff is half the channels or minimal period control

#

I guess pwm needs period control

manic glacierBOT
#

Ugh, it wiped it again, but this time I got a backtrace:

(gdb) backtrace
#0  HardFault_Handler () at supervisor/port.c:283
#1  <signal handler called>
#2  memcpy (dst=<optimized out>, src=<optimized out>, n=<optimized out>, n=<optimized out>, src=<optimized out>, dst=<optimized out>)
    at ../../lib/libc/string0.c:61
#3  <signal handler called>
#4  0x00000004 in ?? ()
(gdb) continue
Continuing.

Program received signal SIGTRAP, Trace/breakpoint trap.
write_flash (address=<op...
#

should fix issue with pc going into suspend mode. Since SAMD doesn't distinguish between suspend and disconnect. tud_umount_cb() is never triggered, tud_suspend_cb() is instead in both case : disconnect and suspend (e.g pc sleep mode).

If enabled by host which is most likely for HID device, tud_remote_wakeup() can be used to wake up PC from sleep mode. Though it require this PR for usb descriptor https://github.com/adafruit/usb_descriptor/pull/7

timber mango
#

I wanna master Python lol

manic glacierBOT
manic glacierBOT
lone sandalBOT
manic glacierBOT
bold wind
#

Has anyone thought about animating the images for the pyportal weather station?

#

use gifs instead of bmp?

#

I wonder if that's even possible lol

upbeat plover
#

i was doing that with each frame a bitmap and just pop and load next frame

bold wind
#

there are quite a few bmp

upbeat plover
#

ill give you a bit of helper code

bold wind
#

i'm bored with the weather station....tempted to make a stock ticker with a similar view to the weather station

stuck elbow
#

someone is working on a python-based gif library out there

upbeat plover
#

never mind i guess i lost that example

stuck elbow
#

the problem is with refresh speed

#

it's a lot of pixels to update

bold wind
#

yeah i don't know the limits of this little guy...it's probably less than a raspberry pi

stuck elbow
#

right now it's slow, but there is room for optimization

#

further versions of circuitpython will surely improve that

bold wind
#

I would love to be able to stream a live video but it probably isn't powerful enough for that

stuck elbow
#

for uncompressed video it would require pretty much as much power as animated gifs

bold wind
#

I was thinking more along the lines of streaming a webcam or a security cam

#

perhaps instead of streaming the video, it could just take snapshots every 5 seconds

idle owl
#

@bold wind There's GIF support with Arduino right now for PyPortal, but we haven't sorted it in CircuitPython yet. It's on the radar though.

bold wind
#

nice, thanks for the update kattni

#

I use this thing at my desk at work but we don't have WPA wifi

#

the nearest access point without captive portal is eduroam and i have credentials but EAP isn't supported yet

#

I'm tethering via my cellphone lol

#

the gif idea is just to wow my co-workers when they visit my desk lol

prime flower
#

@bold wind You could make a text-able status display for your desk, too, if you wanted

bold wind
#

hmm?

#

for the stock ticker?

prime flower
#

As a desk-display, showing a bunch of data on it (stock ticker, some message/fortune/saying, etc)

#

for the camera, you can definitely stream images to it (if you have them stored somewhere retrievable online), and display the images on the PyPortal

bold wind
#

that would be easy 😃

manic glacierBOT
orchid basinBOT
#

As someone who made one of those it sounds fine to me. If some wants their
board up on the site and has started distributing the board it would seem
reasonable to reach out to the admins on discord to enable it building.

On Tue, Apr 2, 2019 at 1:13 PM Scott Shawcroft notifications@github.com
wrote:

I don't think we need a control for this on the website side. Either we
should get photos/info from folks or disable building the board from
CircuitPython (which will prevent it from appe...

solar whale
#

FYI -- in case this comes up again -- in #help-with-projects someone was having problems with a DHT11 on a PyPortal - using the JST connector . I tried it on mine and found that a DHT22 worked fine, but a DHT11 was very unreliable (note, I have a 10K pullup on the data line - using D3). I then tried the DHT 11 on a PyPortal with the VCC jumper for the JST connectors set to 3.3V (instead of the 5V default) and now the DHT11 works very well (as does the DHT22) .

mild oyster
#

More to come .... but a little nod to the recent release of new Twilight Zone episodes...

manic glacierBOT
#

Tried building with CIRCUITPY_BITBANGIO = 1 and got the following error.

`Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
In file included from ../../shared-bindings/bitbangio/init.c:32:0:
../../shared-bindings/bitbangio/init.c:88:50: error: 'MP_QSTR_bitbangio' undeclared here (not in a function); did you mean 'MP_QSTR_rotaryio'?
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_bitbangio) },
...

tulip sleet
slender iron
#

@tulip sleet I already did

tulip sleet
#

You did review 1735, but it needs a submodule update

#

oh, i see the review, I did not see that in email for some reason. sri

manic glacierBOT
#

I was messing around in python, for fun, and noticed that there was no error message for trying to make a bytes instance of a negative number. instead of saying 'ValueError: cannot convert negative number to bytes' it just raises 'ValueError:'.

this is copied from the repl on mu.

>>> bytes(-5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 

running: os: macos, cirpy: beta4 built on the first of april from master.

orchid basinBOT
celest zenith
manic glacierBOT
exotic pumice
#

"ddddo your duty"

#

"duty duty duty duty"

fading solstice
#

@umbral dagger I liked the idea of adafruit_circuitpython_itertools and so tried out the example simpletest.py. I placed the adafurit_itertools folder under lib folder. I got an error in repeatfunc() line 277. I changed the import statement from "import adafruit_itertools as it" to "import adafruit_itertools.adafruit_itertools as it" . Now works great. Thanks.

exotic pumice
#

how do I calculate the maximum duty value for pwm?

#

@slender iron do you remember? I guess it's been a while since you worked on this

#

I tried 65535 and it asploded

#

then I worked out something based on some math I saw in circuitpython but idk if it's right

#

my pwm code isn't dddddo'ing it's duty

manic glacierBOT
umbral dagger
#

@fading solstice That doesn't sound good. It should be in the bundle soon. I'll check it once it is.

#

@fading solstice There are some fun tool in there.

timber mango
#

Hi folks. did somebody of you already put CircuitPython onto a MKR WAN 1300? Tried to found out which pins ar connected to the LoRa Module... But i didn't found any schematic online.

manic glacierBOT
exotic pumice
#

I think I figured it out, it's just the top value

#

something's still wrong though

fading solstice
#

@umbral dagger yes, check it out. mind expanding stuff in there.

manic glacierBOT
upbeat plover
#

i started translation for CircuitPython Chinese simplified, I failed chinese in highschool so dont expect much from me, also i was only taught traditional not simplified. crowdin did most the work i just fixed a few errors when i noticed them like translating things that should be like

时间.struct_time() 需要完全 1 参数
``` to

time.struct_time() 需要完全 1 参数

#

you can find by searching CircuitPython CN on crowdin.com

tidal kiln
#

so...for TileGrid, is the idea that the resulting grid is a repetition of the same tile?

slender iron
#

@tidal kiln the idea is that it maps into a bitmap full of tiles

tidal kiln
#

like a sprite map?

slender iron
#

yup

#

good for background maps and monospace fonts

tidal kiln
#

hmmm. still might not get it.

slender iron
#

want to video or audio chat about it?

tidal kiln
#

sure. now?

slender iron
#

ya, easier than typing

tidal kiln
#

cool. give me 5. i'll get some stuff opened up...

slender iron
#

kk

manic glacierBOT
terse kayak
#

After updating firmware and demo files for pyportal
Using adafruit-circuitpython-pyportal-en_US-4.0.0-beta.6

last part of traceback is
```File "adafruit_pyportal.py", line 480, in set_text
This was executed from the adafruit quote code.py (not seeing anything wrong there)
I can see that line on Github but can't really tell how to fix or if this was already reported somwhere ... not sure to file issue under Adafruit_CircuitPython_PyPortal or circuitpython
manic glacierBOT
manic glacierBOT
#

Create a group with numerous entries. Insert a new item at N. Everything N+1:end becomes a copy of the N+1 entry.

Just happened to be chatting with @tannewt when I hit this so was able to demonstrate to him. He found the cause in 0.3 secs:
https://github.com/adafruit/circuitpython/blob/19278e0284f0339576b7fe9e0bdd6ad312da208a/shared-module/displayio/Group.c#L75-L78

Anywho, here's an example:

ress any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 4.0.0...
tidal kiln
terse kayak
#

@tidal kiln I think I did ... I will double check ... maybe I didn't move everything over or Windows cached the update... ya ... I'll delete everything.. copying again .. and eject the drive .. tomorrow 😁

tidal kiln
#

ok. sry that happened. pretty sure it's just a matter of syncing everything up, libraries + firmware.

#

if you still run into issues, let us know

manic glacierBOT
upbeat plover
#

im over halfway done with pīnyīn chinese CP translation, kinda getting burnt out been at it for like over 7 hours 😪

meager fog
#

@upbeat plover wow

#

thats amazing, 谢谢

upbeat plover
#

=] np

meager fog
#

@hard dove heya do you want to pick up a 480x128 display to try it

#

they're kinda nifty

manic glacierBOT
gilded cradle
#

Hi @meager fog, do you happen to know know which one works with the RA8875?

upbeat plover
#

11 hours later, ready for testing ugh... i think ill throw it on CPX

stuck elbow
#

@slender iron do you know how the parallelbus compares to fourwire in terms of speed in the current implementation?

manic glacierBOT
#

Fix for #1739. Just a change of direction. Checks out:

Adafruit CircuitPython 4.0.0-beta.6-22-g19278e028-dirty on 2019-04-03; Adafruit PyPortal with samd51j20
>>> import board, displayio
>>> from adafruit_display_shapes.circle import Circle
>>> group = displayio.Group(max_size=10)
>>> board.DISPLAY.show(group)
>>> circle1 = Circle(30, 30, 5, outline=0xFFFFFF) ; group.append(circle1)
>>> circle2 = Circle(50, 30, 10, outline=0xFFFFFF) ; group.append(circle2)
>>> circle3 = Cir...
slender iron
#

@stuck elbow I haven't measured it recently but would expect it to be faster

stuck elbow
#

@slender iron I see, thanks

slender iron
#

it's not really the bottleneck at the moment

stuck elbow
#

well, the 12MHz SPI is

#

but the ST7735 has fewer pixels to push

slender iron
#

right

#

computing pixels is slow

#

and updating the full screen

stuck elbow
#

would be nice to be able to schedule partial updates manually, but I suppose you want to compute dirty rectangles automatically instead

manic glacierBOT
pastel panther
#

hey @slender iron I'm seeing some strange behavior on windows where when I first plug in my feather m0 with beta 6 it complains about an unsuccessful descriptor request and then fails to do anything past that.

#

strange thing is that if I hit the reset while it's still plugged in it works as expected

#

stranger still, if I unplug the usb (nothing else was attached) and hit the reset button a few times it will go back to the "can't descriptor" error.

meager fog
pastel panther
#

if I don't hit the reset while unplugged, it will keep working like normal; I can unplug and replug and it still works

slender iron
#

@stuck elbow ya, I was planning on it being automatic

#

@pastel panther what version of windows?

pastel panther
#

windows 10

slender iron
#

hrm, please file an issue with 4.0.0 milestone

pastel panther
#

ok

gilded cradle
#

Ok @meager fog, both displays are now ordered.

meager fog
#

thankx - they're kinda cute 😃

gilded cradle
#

Yeah

meager fog
#

@gilded cradle after all the issues/PRs on the RA8875 are cleared, lets get the library travis'd

#

let me know when you're ready for that, its annoying the first time

gilded cradle
#

Ok, sounds good. Just one left.

meager fog
#

yay! displays!

umbral dagger
#

I'm stumped by the cause of a build breaking error I'm getting: ```/tmp/ccd3WjbM.ltrans26.ltrans.o: In function memset': <artificial>:(.text.memset+0x0): multiple definition of memset'
/usr/local/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m/fpv4-sp/hard/libc_nano.a(lib_a-memset.o):memset.c:(.text.memset+0x0): first defined here
collect2: error: ld returned 1 exit status
Makefile:311: recipe for target 'build-grandcentral_m4_express/firmware.elf' failed
make: *** [build-grandcentral_m4_express/firmware.elf] Error 1

#

Latest from master + what I'm working on (a new extmod)

lone sandalBOT
orchid basinBOT
manic glacierBOT
#

From my experience with what I think is the CircuitPython audience (I teach technology to designers), I don't think message queues are easier to understand than other approaches, and are probably harder in many cases. As @siddacious says, concurrency takes a while for newcomers to wrap their heads around no matter what the method.

I also think it's important to distinguish between event driven needs and parallelism. In my experience, the most common need amongst my students is doing multi...

tidal kiln
manic glacierBOT
upbeat plover
#

I'm not gana be working on chinese translation anymore, I hope it was enough of a start to get something going.

stuck elbow
#

@upbeat plover it's great, I'm sure there will be people willing to pick that up

exotic pumice
#

watching the hackchat after the fact, enjoying the hal discussion

#

some HALs are definitely higher level than others

raven canopy
#

i just started myself...

exotic pumice
#

the rust hal story is particularly interesting because there's a master set of traits (function/struct declarations without defintions) that every hal implements, and they're very high level

#

so all the drivers work across the entire embedded rust ecosystem

#

forgive the self-plug

#

I just love talking about it

manic glacierBOT
#

There are two pieces to this because I found the file system issue and thought it might be the issue.

First, a double free of the terminal's TileGrid was freeing the heap from the supervisor. The flash cache could then allocate over the heap and corrupt it.

Second, the flush is tweaked so that the cache is maintained while a VM is running. This also ensures the cache is released even when no current sector is loaded into it.

tidal kiln
#

is there any way to get the number of colors for a displayio.Palette instance?

manic glacierBOT
orchid basinBOT
manic glacierBOT
manic glacierBOT
upbeat plover
#

@slender iron i think my font issue was the font i picked in repo, cause using "dylex" displayio works so i guess that issue is resolved???

#

i just couldnt stay away from the translation, everytime i look in the zh.po i find errors i made

main meteor
#

I know what that feels like.

upbeat plover
#

if i update the file im wanting to add on my github thing i wont need to do another pull request until after merge?

upbeat plover
#

thank you everyone for the help

I got chinese to work fully, with displayio and everything, had to make custom font "/tools/Tecate-bitmap-fonts/bitmap/dylex/6x10pinyin.bdf" im not sure how to do try to merge it

#

@main meteor accomplishment is what im feeling now woot

slender iron
#

Anyone want to hack the Arturia key step to run circuitpython? Stm32f103 with 256k flash and 64k ram 😃

exotic pumice
#

cool

#

that's a really popular micro

manic glacierBOT
#

Tested on a PyPortal with:

Adafruit CircuitPython 4.0.0-beta.6 on 2019-03-30; Adafruit PyPortal with samd51j20

Test code:

import board
import displayio

COLORS = 16

palette = displayio.Palette(COLORS)
palette[0] = 0x000000
palette[1] = 0xFFFFFF

bitmap = displayio.Bitmap(320, 240, COLORS)
bitmap[(100, 100)] = 1
bitmap[(100, 101)] = 1
bitmap[(101, 100)] = 1
bitmap[(101, 101)] = 1

tile_grid = displayio.TileGrid(bitmap, pixel_shader=palette)
group = disp...
stuck elbow
#

@tidal kiln len() maybe?

zenith zenith
#

hey i have a TCS34725 and a raspberry pi i want to turn off the led how can I do that ?

manic glacierBOT
#

G'day @dhalbert interested in your thoughts on the approach in the new branch above (nickzoic/micropython@625bd0 etc) ... I've split the actual page access off as per your suggestion and allocated some address space for the NVM explicitly in the boards/*.ld configuration ... only problem is, that doesn't really work with the CIRCUITPY_INTERNAL_NVM_SIZE approach. I took the space out of the text segment instead of the FATFS segment so that an upgrade to a board with an existing FATFS woul...

manic glacierBOT
upbeat plover
#

working on zh_CN.po, that's simplified chinese

manic glacierBOT
#

Is your code equivalent to the 16-byte transitions table I used in the atmel-samd code? https://github.com/adafruit/circuitpython/blob/master/ports/atmel-samd/common-hal/rotaryio/IncrementalEncoder.c#L121.

Could we unify the two implementations? It seems like they do the equivalent thing. Common routines could be put in shared-modules/rotaryio/ -- that's the style for lower-level code that's port-independent.

I looked at a lot of encoder code when I was writing that. There's a lot o...

tidal kiln
#

@stuck elbow thanks. good idea. i didn't even think to try it. looks like it's not implemented though :(

Adafruit CircuitPython 4.0.0-beta.6 on 2019-03-30; Adafruit PyPortal with samd51j20
>>> import displayio
>>> palette = displayio.Palette(123)
>>> len(palette)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: object of type 'Palette' has no len()
>>> 
lone sandalBOT
upbeat plover
#

woot two Chinese translations done, i already had most of simplified chinese finished from doing pinyin

stuck elbow
#

@tidal kiln I think it's something we may want to add

opaque patrol
#

I am looking for help or programmer reference for displayio, but can't find any on readthedocs. Does anyone have a link they can share?

tidal kiln
opaque patrol
#

I see why I couldn't find it. RTD has some issues that are aggravating. It defaults to 3.x and I don't see any links to 'latest'

tidal kiln
#

it's probably because 4.x is still in beta

opaque patrol
#

I found it, I never noticed the dropdown menu at the very bottom of the left panel

stuck elbow
#

@tidal kiln I wonder if we could use regular lists or arrays for palette and group's item list, so that you get all the usual methods and operators for free

tidal kiln
#

maybe? seems like something in the core internals. maybe there's a reason tannewt hasn't done that already? not sure.

upbeat plover
#

omg i dont think simplified chinese will be used, the bdf fonts file sizes im finding are like 0.5mbs to 3mbs

manic glacierBOT
upbeat plover
main meteor
#

I don't know how those 23k glyphs are going to fit in some microcontrollers. Maybe it would make sense to subset the font to extract the Pinyin characters and omit the KJC radicals?

upbeat plover
#

yeah i was just wonder what they do in china lol, i guess they dont use simplified and they have a sepecial font that has been used for like 50 years its traditional chinese, font is called big-5 took 5 companies to make it 🙀

main meteor
#

Big-5 is an encoding, not a font. But yes, the whole KJC character set is larger and more complex than most phonetic alphabets, and now I find myself wondering how they supported it back when big ROMs were expensive.

slender iron
#

@stuck elbow @tidal kiln mostly out of expedience. can take a look at it later

marble hornet
#

@gilded cradle when you asked about the keyboard were you curious about the button structure?

gilded cradle
#

Yes. Particularly how you got it to invert so quickly.

marble hornet
#

ah, i should have ->ed you to the button class. as all the keys are just instances of the button class. would you like a link?

gilded cradle
#

Yes, thanks.

lone sandalBOT
marble hornet
#
#

@gilded cradle

gilded cradle
#

Thank you. I’ll take a look at this in a bit.

lone sandalBOT
upbeat plover
#

@main meteor i found this http://www.eran.io/the-dot-factory-an-lcd-font-and-image-generator/ takes characters you type from any font and makes it into c code like this

    // @22 '好' (11 pixels wide)
    0x40, 0x00, //  #         
    0x47, 0xC0, //  #   ##### 
    0xF0, 0x40, // ####     # 
    0x50, 0x80, //  # #    #  
    0x51, 0x00, //  # #   #   
    0x91, 0x00, // #  #   #   
    0x97, 0xE0, // #  # ######
    0xD1, 0x00, // ## #   #   
    0x21, 0x00, //   #    #   
    0x51, 0x00, //  # #   #   
    0x83, 0x00, // #     ##

maybe i could load each character onto my I2C FRAM and do like you said convert pinyin to the characters... i doubt i could do it without a lot of help

main meteor
#

I've been doing a faintly related task myself, but decided to roll my own in Python because I'm that kind of a bear.

#

FRAM is a good choice: I was thinking an SD card, but that could get slow when rendering a bunch of characters.

#

fontio does do some preloading/caching, but it is a big character set.

upbeat plover
#

yeah chinese is huge, i fail chinese in highschool, speaking part wasnt hard, but remembering how to write everything is crazy... you have to be dedicated and write each character over and over many times till its like muscle memory

manic glacierBOT
shy elm
#

I can't wait to get started with circuit python.I recently bought a ItstyBitsy M0 and am waiting for it to arrive. Are there online emulators to try circuit python while I wait?

manic glacierBOT
exotic pumice
#

@shy elm not that I know of.

#

but you can try regular python

#

and then all the circuitpython-specific stuff is hardware related

crimson ferry
manic glacierBOT
orchid basinBOT
manic glacierBOT
#

The previous one (in the previous PR) definitely was: this one works correctly on the whiteboard but I haven't tried it in hardware! I'll find a rotary encoder and give it a go (all it's really doing is code-golfing your state transition table down to logical operations: note that in some of the 'bad transitions' the counter is both incremented and decremented) I need to write an explanatory comment in there before it's ready to PR

I agree, we could have the common-hal code call back into...

marble hornet
#

@river quest does a folder have to have a _ infront of it for it to be a liquid variable in jekyll?

manic glacierBOT
#

Oh, great!  I'm not totally confident with the workings of common.ld so it's a bit of a wild stab ... but I thought it was clearer than having the FATFS use logic something like:

real_fatfs_length = __fatfs_flash_length - CIRCUITPY_INTERNAL_NVM_SIZE
nvm_origin = __fatfs_flash_origin + real_fatfs_length

... although that'd be okay if we want to support nvm size configurable by CIRCUITPY_INTERNAL_NVM_SIZE.

tulip sleet
#

@slender iron the second travis subjob on CPy is taking like 39 minutes; the next slowest is 33 minutes; if you're going to push another commit for your latest PR soon, maybe shuffle some boards in .travis.yml? I thought I counted them up, and they were all at 8 boards before pybadge was added, but maybe I was wrong. Some displayio boards could be mixed with non-display. The nrf builds are also much faster.

slender iron
#

ya, and the boards can vary a bit in build time too

tulip sleet
#

right, m4 vs m0 non-express, etc.

manic glacierBOT
manic glacierBOT
slender iron
#

@tulip sleet feel free to have someone else finish your review. I'm out the rest of the night (getting my parents from the airport and then hardware happy hour)

tulip sleet
#

sure, thanks; I'm trying out the new USB-disconnected code from Thach. It looks like it can detect disconnect and reconnect nicely.

slender iron
#

nice!

tulip sleet
#

i'm switching a switchable data/power cable.

#

ok, have a nice night; you have plenty to show off!

slender iron
#

yup! byeee!

manic glacierBOT
manic glacierBOT
#

This is great thank you for your work. A friend of mine is also using the feather m4 express with several encoders, we are both looking forward to being able to get the full resolution of the quadrature encoders we are using.

I was trying to compile the .u2f file with your code for the feather m4 express, but I get an error when I try to import rotaryio. I am sure I am doing something wrong. I understand that this is still in development but would it be possible to get a copy of the curr...

sly falcon
#

Just submitted a PR to the NINA firmware to support WPA2 Enterprise.

#

I'm out of time tonight, but I'm going to clean up the matching Adafruit_CircuitPython_ESP32SPI code I've got tomorrow and hopefully submit a PR for that before the end of the day

manic glacierBOT
gusty topaz
#

Guys, I just wanted to share my latest project with the community. Thanks to @solar whale and @gilded cradle for their help while I was working on the code part >

http://bit.ly/2Us6ZGo

marble hornet
#

nice project @gusty topaz

solar whale
#

@gusty topaz nice! Thanks for sharing it!

gilded cradle
#

Thanks for sharing @gusty topaz. It's always nice to see the end result.

manic glacierBOT
gusty topaz
#

Guys, I'm trying to add my project to be featured on the next CP newsletter edition. I forked the repo
and made the changes to the draft file. How so I do a PR to the main adafruit repo? (first time doing it, sorry).

raven canopy
manic glacierBOT
#

I have a feather m0 express with Beta 6 that when first plugged into my windows 10 machine will show a "USB device not recognized" popup. In the device manager under usb controllers it shows up as "Unknown USB Device (Device Descriptor Request Failed)".

If I single press the reset, it boots as normal with the mass storage drive and serial port.
Once working, if I unplug and replug right after it will show up as expected but if I wait approximately 20 seconds after unplugging before replug...

raven canopy
#

PSA: if you're going to "clone" issue text that references A LOT of other repos...don't. started working on some more adabot enhancements. I apologize for any spammage and confusing references to sommersoft/adabot-travis-test spread about the GitHubisphere. 🤦

#

repo deleted. that cleans up the GitHubisphere. :phew:

manic glacierBOT
manic glacierBOT
manic glacierBOT
manic glacierBOT
manic glacierBOT
manic glacierBOT
swift arrow
#

very cool and nice and neat @gusty topaz How do you transfer the GPS coordinates to your pics?

#

I really need a 3d printer..

#

Sorry @gusty topaz I reread the article and see you tell how. Very nice article as well.

manic glacierBOT
orchid basinBOT
#

Just to be clear, the boolean would be on the unknown.md file?

These boards are only listed in the _data/files.json from the build process and do not have their own board files to selectively toggle display on/off in the front matter.

We could also create simple placeholder board.md files each time a board is added to the build process, but it would likely need to be automated to keep ahead of it.

manic glacierBOT
idle owl
#

@slender iron I'm having a brainstorm about the "Libraries" link on circuitpython.org. If you have time to chat sometime today, I'd like to discuss it with you.

manic glacierBOT
orchid basinBOT
slender iron
#

@idle owl ya, I have time this morning

#

eating cereal now but then can chat

idle owl
#

Ok great!

manic glacierBOT
slender iron
#

@idle owl ready when you are

idle owl
#

@slender iron vid or audio?

slender iron
#

up

#

to you

idle owl
#

Ok we can vid

manic glacierBOT
upbeat plover
#

I want a PyPortal and one of those amazing lux sensors from kattni to play with, also want a tinyfpga bx to start learning verilog.

#

ugh i ran-out of flash trying to put chinese on hallowing.... says -28 bytes so close... i guesss ill have to use a different font then the huge one i made

tulip sleet
#

@upbeat plover there are squeezy things to do to make it fit; hold on

upbeat plover
#

ooooo cool id like to learn

tulip sleet
#

in ports/atmel-samd/boards/hallowing_m0_express/mpconfigboard.mk, you can turn off some features, and you can also lower CFLAGS_INLINE_LIMIT. Try about 5 at a time. Lower than 35 or 40 can be a problem. But, for instance, you could set CIRCUITPY_ROTARYIO = 0 to take that out, and make room, or CIRCUITPY_SAMD (which only has specialized uses), etc.

upbeat plover
#

oh cool yeah the first suggestion to remove would be good for me i dont use that ever

tulip sleet
#

there are lots of options

manic glacierBOT
tulip sleet
#

@slender iron tnx!

raven canopy
#

@tulip sleet I think I know the answer to this, but is there a way we could also disable any certain translation(s) per board?

tulip sleet
#

no way now, we're trying to make sure all translations work on all boards

raven canopy
#

That's what I was thinking. Agree with the desire, just wasn't sure on the technically feasible part.

tulip sleet
upbeat plover
#

im getting an error when trying to build hallowing with CIRCUITPY_ROTARYIO = 0

make BOARD=hallowing_m0_express TRANSLATION=zh
Use make V=1, make V=2 or set BUILD_VERBOSE similarly in your environment to increase build verbosity.
QSTR updated
FREEZE ../../frozen/Adafruit_CircuitPython_BusDevice ../../frozen/Adafruit_CircuitPython_LIS3DH ../../frozen/Adafruit_CircuitPython_NeoPixel
/tmp/ccEB7Gdo.ltrans18.ltrans.o: In function `EIC_Handler':
<artificial>:(.text.EIC_Handler+0x10e): undefined reference to `incrementalencoder_interrupt_handler'
collect2: error: ld returned 1 exit status
Makefile:308: recipe for target 'build-hallowing_m0_express/firmware.elf' failed
make: *** [build-hallowing_m0_express/firmware.elf] Error 1
#

is that a transaltion error?

tulip sleet
#

@upbeat plover that has been fixed in the latest master; fetch and merge, and update submodules; it wasn't possible to turn off rotaryio. If you don't want to do that now, turn off CIRCUITPY_SAMD instead.

#

or lower CFLAGS_INLINE_LIMIT

upbeat plover
#

okay ill try just the limit cause im only needing 28 bytes

tulip sleet
#

just lower it by 5 and it will probably work

manic glacierBOT
#

OK, thought you were talking about https://github.com/micropython/micropython/pull/1627 or similar. That PR is after our last merge from micropython. I see this is a build-convenience mechanism: you still need to know how to implement native modules.

Our build structure is slightly different these days, so there would need to be some changes on the original MicroPython PR. If you'd like to work on a PR, that would be fine, maybe with a sample module as well. Do you have an existing special...

frail moon
#

this is probably a super dumb question, and someone will point that out quickly 😛 but my googlefoo seems to be failing me... how does one define an interrupt in CP?

tulip sleet
#

@frail moon we don't have interrupts or something like that (yet). MicroPython does, but there are severe restrictions, and we'd like to come up with a better way. There's discussion about this if you're interested: https://github.com/adafruit/circuitpython/issues/1380

#

We DO have native modules that use interrupts behind the scenes (e.g. PulseIn)

frail moon
#

oh... well drat. 😕 (guess I should figure stuff out like that BEFORE I design an element of my project around it. 😦 )

#

thanks

slender iron
#

@frail moon what are you trying to do?

upbeat plover
#

ty @tulip sleet

frail moon
#

@slender iron I have one of the audiofx boards and when it's playing a sound the ACT pin goes low... so it was going to tell my board to keep the LEDs at full brightness until it stops playing, at which point they can go back to pulsing

#

maybe I don't need the interrupt though

slender iron
#

polling the pin should work too. it just may not be quite as responsive

frail moon
#

@slender iron yeah that;'s what I'm thinking I'll do now

#

thanks!

slender iron
#

@tulip sleet to get the auto-close from github you need the "fixes #123" in a commit message, not a pr comment.

tulip sleet
#

It works if it's in the original (top) comment. I put that in by hand anyway for xref purposes, not expecting it to work. But thanks for the definitive answer.

slender iron
#

I think that is true because the top comment is used in the merge commit

manic glacierBOT
manic glacierBOT
orchid basinBOT
stuck elbow
#

hmmm

#
File "../../tools/uf2/utils/uf2conv.py", line 32
    print "Skipping block at " + ptr + "; bad magic"
                             ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Skipping block at " + ptr + ")?
Makefile:318: recipe for target 'build-ugame10/firmware.uf2' failed
#

I guess it's for python2 not 3

tulip sleet
#

yes, it should be updated

stuck elbow
#

should I make a pull request?

manic glacierBOT
stuck elbow
#

oh, I see, I had the old submodule checked out, sorry

manic glacierBOT
orchid basinBOT