The PR should have triggered a build, though; we're not sure why it didn't happen. Neither Travis nor GitHub are reporting problems currently.
#circuitpython-dev
1 messages ยท Page 229 of 1
@slender iron thanks -- Travis works in mysterious ways...
ya, probably just a bug
some of my repos got migrated, some have not
@slender iron So, I'm downloading CP 4 b0, and I'm just thinking - If it would be possible to sort the downloads, that would be amazing. Currently, there's... 8 languages and 36 boards (3 of which have both bin and uf2 downloads). 312 files is a lot to sort through, even if they are in a logical order.
ya, we want to have a download site to make it easy
they are easier to grab from s3 actually
That is so much nicer
you'll want a newer one anyway. there are some good fixes checked in
Any way you could have it so the 'Assets' is default 'closed' instead of showing everything? Or put at the bottom? It's a little intimidating, which is fine for an alpha/beta, but for standard releases not so much
Oh? Cool!
I can't control the way github shows it.
for the stable release I want to have the website basics up
Hmm, the S3 doesn't seem to have the latest files. from the 14th
Aha, the /ID folder, there we go
thats the language
There's a ton of "loose" files, then, in the main folder.
(Regardless, I've got the correct one)
Good to know you've got plans
ya, always have lots to do
I'm sure! I'm going to go poke at the new display stuff and get out of your hair
great! thanks. sorry for the grumpiness been working hard on displays and know there is still lots to do
Don't worry, I didn't feel like you were being grumpy, more busy
ok, cool ๐
Guys, I'm having issues with the Featherwing RFM95 lora. I have it on a tripler, at the top I have the M0 Express and the radio featherwing is in one of the open slots. When running the RFM95 example code that comes with the TinyLora library, I got the following:
code.py output: Traceback (most recent call last): File "code.py", line 32, in <module> File "adafruit_tinylora/adafruit_tinylora.py", line 150, in __init__ TypeError: Can not detect LoRa Module. Please check wiring!
I get the same error even if I put the featherwing in the other available slot on the Tripler. I can reset the M0 using the reset button on the featherwing and all the solder points seem to be well made. Any suggestions?
This is the featherwing I'm using > https://www.adafruit.com/product/3231
Crap... forgot to solder the IRQ and Cs wires....
Building master with the compiler from developer.arm.com I see:
CC ../../lib/tinyusb/src/class/msc/msc_device.c
../../lib/tinyusb/src/class/msc/msc_device.c: In function 'proc_builtin_scsi':
../../lib/tinyusb/src/class/msc/msc_device.c:273:7: error: 'strncpy' output truncated before terminating nul copying 8 bytes from a string of the same length [-Werror=stringop-truncation]
strncpy((char*) inquiry_rsp.vendor_id , CFG_TUD_MSC_VENDOR , sizeof(inquiry_rsp.vendor_id));
...
This is an issue in the tinyusb library; I filed an issue there a few days ago: https://github.com/hathach/tinyusb/issues/33. For now just use the 7-2018-q2 release of the arm gcc toolchain.
is there anything firmware-wise I have to do to run a samd51 below 2.8V?
that awesome! can't wait to work with the portable console.
and I'll report back when/if I figure out why this thing is upset
Guys, I'm looking to install CircuitPython on a Particle Xenon. Is this one the most updated guide? : https://learn.adafruit.com/circuitpython-on-the-nrf52/build-flash-particle
@gusty topaz that looks like it should work for you. Do you have a Jlink?
No, that was going to be my other question. Do I need one if I go through Option 2?
Yes but you wont have a get out of jail free card if you get yourself stuck anywhere along the line
also, make sure you grab the latest Alpha 4.X build of circuitpython (per the adafruit page you linked)
Sorry, you said that I still need a Jlink for "Option 2" in the description on how to install it on Particle Xenon?
Oops sorry I meant that yes you'll be able to program it via option 2 without a Jlink
great, thanks!. I don't consider myself an expert, but I've dealt with Arduino, installing MicroPython on ESP8266 and I'm not afraid of the CLI. I think I'll give it a try (although I'm pretty sure I'll have questions).
give it a shot and feel free to ping me with questions ๐
Thanks!
but once loaded it works great ๐
Well... since I already had the Particle Xenon, I was willing to install CP 4 on it. But since the JLink costs pretty much the same as the new feather nrf52840, I might as well just buy it if it comes ready to install CP on it (it's out of stock, though).
Is a Jlink required @solar whale ? or just a something monitoring SWDIO SWCLK as a debugger?
I've only used a JLink -- and nrfjprog is expecting one as far as I know. There may be workarounds or other tools I am not aware of.
So, ther eis no way of installing the UF2 bootloader only by using the mini-usb port on the Xenon?
I don't know of one. That does not mean it can't be done.
The guide makes reference to a debugger
Make sure your Particle is plugged into a debugger, and that both the debugger and the Particle are connected to the PC.
What exactly is that?
Never mind, I think it's referring to the Jlink.
https://docs.particle.io/tutorials/device-os/led/xenon/ there is a DFU mode on the XENON and there "might" be a way to use it ...
but I don't think it is for loading a bootloader.
I think that the bootloader that comes with the particle boards may require a signed update for the bootloader if you use DFU mode, for security reasons (I thought the Nordic bootloader was like that).
that's too bad, I thought I was going to be able to play with the Xenon and CP4.
The JLink has gotten me out of a lot of mistakes with bootloaders!
And CP4 support for the bluefruit nRF52832 was recently dropped, right?
yes
(I have one of those laying around, still in its plastic bag).
It does not support the uf2 bootlaoder at all
but it was possible to program via the DFU bootlaoder.
hmm ๐ฆ
even than -- it had no CIRCUITPY drive
it worked, but the new bleio module is not avaialble for it..
got it.
@gusty topaz I carry around a segger JLink EDU mini ($18) since it's so small. and yeah they're great at saving your butt
shop-us.segger.com
@lime trellis does it come with all the needed cables?
it comes with the tiny swd cable, but I use that with this adapter: https://www.adafruit.com/product/2094 so I can plug standard jumper cables in
does Segger provide the 2x10 cable -- now Adafruit does -- originaly , you had to get it separately
@solar whale I just noticed that, looks like Adafruit provides all what's needed to connect the Xenon. I'm now considering buying it (I'm about to place an order soon).
oops wait -- you need the 2x5 cable --
One key question: Is the Xenon planned to be formally supported by CP down the road or installing CP in it is just a cool experiment?.
included ```This kit comes with a 20-pin (2x10) 0.05" cable and a 10-pin (2x5) 0.05" cable.
@solar whale the description of the product makes reference to that cable:
"This kit comes with a 20-pin (2x10) 0.05" cable and a 10-pin (2x5) 0.05" cable." are we talking a different cable?.
Got it.
As to ongoing support, I have no idea. Good question though.
@tulip sleet do you know anything about the Particle Xenon/Argon having official CP support down the road?
Bed time here -- good night all ๐ค
night @solar whale
ah!!! found it! @slender iron
PSA: if trying to run CP on a samd51 <2.8V, you need to adjust the brownout detection
Good night, thanks @solar whale
@gusty topaz We make our own Feather nRF52840 board that's "official" (and there will be more such boards. We're happy to include builds for other boards (and we do) in the CircuitPython source tree. But the main point of the Particle boards is to use their IoT service and software.
@tulip sleet thanks, that makes sense. I was just wondering if builds were going to continue to be offered for Particle products.
I'm working on a pinewood derby car using the Hallowing and circuit python to control sounds and lights. I'm using the adafruit_lis3dh library to "feel" for different types of movement. The current triggers that set of different lights and sound are shake and when the car is tilted at a specific downward angle (meaning it's on the track and ready to race). I'd like to add the ability to know when the car is in forward motion and that is where I'm stumped. Anyone willing to point me in the right direction to recognize constant acceleration using the lis3dh library?
@valid falcon off the top of my head, you'll want to watch a combination of the z & y axis. while it descends the ramp, z should be positive and y should be negative. i would have to trial-and-error my way through the thresholds though...
Thanks @raven canopy . I'm good with trial and error. I'm thinking of trying lis3dh_free_fall too.
note: i swapped z & y. forgot that z was the vertical plane on the LIS.
@valid falcon if I am thinking correctly, when you let the car go, it will "sense" a drop in acceleration in the direction "down the ramp" -- the extreme case is free fall.
so basically you are looking for a change in the acceleration being measured when it is let go.
@umbral dagger hihi i have a bbspi q
@solar whale yep that's the goal. I think I'm close. Thank you.
BBSPI? Bit-bang SPI?
0aef3c4 updates to social - /r/circuitpython/ and more - ptorrone
5858b98 updated hardware adafruit boards - ptorrone
@umbral dagger p0ke ๐
@meager fog Sorry... wasn't paying attention to this screen.
@umbral dagger all good im writing esp32 code
so for the bitbang spi thing - i think we can do something simpler, we just make ab object with same interface as busio.SPI
but it uses digitalio underneeth
Rather than base it on pigpio?
I.e. handroll the bitbanging on top of, say, gpiozero?
@umbral dagger you can use digitalio like normal
blinka will automatically use libgpiod to do the digialio
hacking on esp32 in background
@meager fog Ah. Ok.
@umbral dagger then it'll work on other chips like OrangePi or onion io or whatnot
@idle owl thanks for takin' care of the PR from discord for the open source listing
@river quest You're welcome!
Finished the first part of my MU redesign. Going to make it a pull request soon enough.
Well, that is a fraction of the code size, works with non-analogue-capable pins, gets better touch sensing results than my fancy-pants math version and still works fine with a single pin rather than a separate drive pin!
Not quite done yet but will make it into a PR this weekend ...
A much-simplified approach to touch sensing!
This is a capacitive touch sensing routine using a single digital
pin. The pin should be connected to the sensing pad, and to ground
via a 1Mohm or thereabout drain resistor. When a reading is taken,
the pin's capacitance is charged by setting it to a digital output
'high' for a few microseconds, and then it is changed to a high
impedance input. We measure how long it takes to discharge through
the resistor (around 50us), using a busy-w...
Manually tested on Feather NRF52832 and Feather NRF52840 Express boards, with code like:
import board
import touchio
import time
def auto_set_threshold(t):
t.threshold = int(sum(t.raw_value for _ in range(0,100)) / 95))
t0 = touchio.TouchIn(board.A0)
t1 = touchio.TouchIn(board.A1)
auto_set_threshold(t0)
auto_set_threshold(t1)
while True:
print("%4d %d %4d %d" % (t0.raw_value, t0.value, t1.raw_value, t1.value))
I'm using an Ethernet Shield for Arduino - W5500 Chipset with an Adafruit Grand Central M4 Express
However I'm getting an error. Yesterday it always failed when sending, today it fails when receiving:
Adafruit CircuitPython patchbase-dirty on 2019-01-27; Adafruit Grand Central M4 Express with samd51p20
>>>
>>>
>>> import board
>>> import busio
>>> import wiznet
>>> import socket
>>> import time
...
hi everyone, i'm starting with micropython on esp32 devkit board, and I would like to know what IDE is better to use, I tried with PyCharm but not support for esp32. What can you advise me ?
Try uPyCraft (Windows) or simply adafruit-ampy, its still the best tool. Another great tool for Micropython is mpfshell. I like both ampy and mpfshell
yes I figured this out with ampy the first time I tried it I got an error. Now with the last firmware it's ok
thx for the help
I am porting a friend's version of 2014 to cp and the code can't seem to use the __int__method:
here is a smaller but identical use case of what the problem is:
>>>
>>> class x():
... def __init__(self, value):
... self.val = value
... print(self.val)
...
... def __int__(self):
... return self.val
...
...
...
>>> x
<class 'x'>
>>> g = x(7)
7
>>> g.val
7
>>> g
<x object at 20002fd0>
>>> int(g)
Traceback (mo...
it looks correct on github w/out discord adjusting
yeah, just an artifact of supporting Markdown... ๐
isn't tech so cool!
thanks @haughty bobcat did a post and added to newsletter https://blog.adafruit.com/2019/01/27/ideas-for-new-mu-graphics-madewithmu/ & (preview in draft) https://github.com/adafruit/circuitpython-weekly-newsletter/blob/gh-pages/_drafts/2019-01-29-draft.md
@river quest Wow that's great! I'm in contact with Nicholas and we're going to add a design section to the docs so everyone in the MU development community can help out.
great idea, keep me posted, i'll keep updating/posting so folks know about that and can help/contribute
Ok, hope we can get the real program matching the splash screen. Changing the icons should do it but someone could go above and beyond and change the CSS.
I'll keep ya posted
__int__ isn't supported.
This implements it:
diff --git a/py/obj.c b/py/obj.c
index fb59eec82..8646f2d9d 100644
--- a/py/obj.c
+++ b/py/obj.c
@@ -242,7 +242,7 @@ bool mp_obj_equal(mp_obj_t o1, mp_obj_t o2) {
return false;
}
-mp_int_t mp_obj_get_int(mp_const_obj_t arg) {
+mp_int_t mp_obj_get_int(mp_obj_t arg) {
// This function essentially performs implicit type conversion to int
// Note that Python does NOT provide implicit type conversion from
...
@river quest
Hey if you have any nicer images of Blinka I'd love to see them. Specifically vectors.
@haughty bobcat I think they are in vector here: https://github.com/adafruit/circuitpython/tree/master/logo
@haughty bobcat there is also the giant art folder here: https://www.dropbox.com/sh/l6tp9ym5nf8h5v9/AABGu_q2pcdUQdx1avr8Xvvda?dl=0
๐จ enjoy ๐
I soldered wires for swd to my cpx and now I can't use the bootloader, is that normal?
I get the green leds but no drive or ttyACM0
I don't have my swd device on me either ๐ฆ
do you think I overwrote part of the bootloader?
The only time I've used the swd pins (on my itsybitsy m4) was to reinstall the bootloader because I had somehow erased it. I'm not familiar with how the cpx behaves without a bootloader, but it sounds like there's a possibility of that. Perhaps somebody with more familiarity can chime in?
the bootloader is at least partially there because I can get red and green neopixels out of the reset button
but something's funky
Yeah, mine had nothing light up except a short blip when plugged in.
d10fa4a Updated samd readme with SparkFun SAMD21 Dev pi... - ShawnHymel
d79615f Revert "Updated samd readme with SparkFun SAMD2... - ShawnHymel
65dc8d0 Updated .travis.yml and samd README with SparkF... - ShawnHymel
dd5165c Added support for SparkFun SAMD21 Dev - ShawnHymel
b16f489 Merge pull request #1496 from ShawnHymel/master - tannewt
thanks ๐
[adafruit/circuitpython] New branch created: tannewt\-patch\-7
2bb89c6 Remove draft because is unpublishes releases - tannewt
anyone around to review โ ?
thanks @pastel panther ! will merge once travis is happy
How about auto setting a threshold on object creation? That's what the SAMD does already. That way folks don't need to set it themselves before using it.
I was going to report something similiar but I am running Trinket M0 and just uploaded 4.0 Beta and associated libraries. This obvious wasn't fixed in Alpha. So, with a newly purchased Trinket M0 and the main.py that it comes loaded with I get this same error at the same point in Main. I back loaded it to 3.xx and that works. Now if I comment out that line. This is the same line as mentioned in original bug. I get another error.
main.py output:
Traceback (most recent call last):
F...
Sure, we can totally do that. I'll add it in.
Threshold is now automatically set: I've adjusted the example code accordingly.
452a622 Set up structure for touchio adafruit/circuitpy... - nickzoic
901db47 progress on NRF touchio.TouchIn #1048 - nickzoic
1dc4c47 touchio.TouchIn sensing working on a single pin... - nickzoic
4a09329 hugely simplified version of the touchio.TouchI... - nickzoic
539aaf0 speed up measurement loop - nickzoic
Done in #1499. Thanks!
Hiya Dan, You're not wrong, and either is gcc :-)
There's a broken logic there, if the packet received is not from DHCP_SERVER_PORT it skips the whole block which sets type. I think your setting of type=0 as a default is not incorrect ... if the packet received is not a DHCP packet it should return an invalid type which will prevent the DHCP_run state machine from continuing on.
The code is a bit of a mess around there ... I'm happy to say this is the WizNet sample code imported in...
Hmmm, okay, I don't have a Grand Central but I've got a Metro M4 Express which is hopefully similar enough to have the same problem, and a W5500 Feather Wing on an adaptor shield. I'll have a look and check it's working for me ...
So would this be built over the NVMC peripheral to write to flash?
Yes, see ports/atmel-samd/common-hal/nvm/ByteArray.* as a model to use for an analogous functionality on nrf.
General question on CP: Would the M0 Express running CP be able to handle a GPS Featherwing, OLED Featherwing and a Featherwing datalogger (microSD breakout)?
@gusty topaz I serioulsy doubt it -- the SDCard module uses quite a bit of RAM as does the OLED.. I recommend upgrading to an M4.
too bad, I already placed my order over the weekend ๐คฆ๐ป
hmmm but now that I think about it, I have a Paticle Xenon and I'm waiting on the Jlink to arrive to flash it with CP4.0. That, in theory should work. Right?
yes -- it should work well.
awe-some!
<@&356864093652516868> Here is the notes doc for today's meeting. Feel free to add your hug reports and status updates regardless of whether you'll be attending! https://docs.google.com/document/d/1gSekMOW9dtDyOcx0xS97OxaP_9KDN4fSYjgRENB2gQM/edit?usp=sharing
@tulip sleet your BLE CRICKIT Demo was easy to adapt to control my 4servo arm! ๐
GREAT!
exactly what I wanted to do be able to do with it!
Anyone around have a moment and a mic to help me test audio for the meeting later?
@idle owl sure
@stuck elbow Thanks! Jump in the channel when you get a chance
<@&356864093652516868> Weekly meeting in about 10 minutes!
Lurking in the studio today...
๐
lurking
lurkin'
shmerkin'
gherkin
Gotta run! ๐
- @jerryn for ID'ing, & @Maker Melissa for fixing the FRAM address issues.
- @ShawnHymel for continuing to add the SparkFun boards.
- Group Hug to cover all the things I'm forgetting!
I am lurking today
Yeah, some of the pins were different between MKRZero and SparkFun's SAMD21 Dev ๐
@meager fog any hug reports and status updates?
im on voice
great!
๐
๐ ๐ฆ
jinx
ohh i forgot one other thing, i wrote a USB Midi library wrapper
try it out!
Last Week:
- adabot:
- Tabulated core download stats; reduces section length by 16 lines
- Started work to mitigate intermittent Travis cron failures with the library report.
- FrequencyIn:
- Still fighting both accurate event counting and associated logic/math. Apologies for the incoherent status update on this last week. ๐
This Week:
- FrequencyIn
- adabot:
- Finish cron failures mitigation
- Work on newline issue for Google Docs transcription
@meager fog would be interested in seeing it for my electronic ocirna
!!yes please
ingyes interest
I'd totally hang out for that!
interesting definitely
count me in!
2048 !
๐ ๐ @marble hornet!!! 2 year projects take serious focus!
Last Week:
- LoRa Bonnet Released
- Other bonnet Released
- omg they're circuitpython-powered!
guide for using it on lora and lorawan: https://learn.adafruit.com/lora-and-lorawan-radio-for-raspberry-pi
"wait i cant afford a $200+ Lorawan gateway"..circuitpython to the rescue (https://learn.adafruit.com/raspberry-pi-single-channel-lorawan-gateway)
"buildin my own blinka board, or i bricked my circuitpython board" wrote up a guide on flashing bootloaders for samd51, 21, using atmel studio (https://learn.adafruit.com/how-to-program-samd-bootloaders)
this week
- starting up second semester of grad school midweek
- another! circuitpython lora/lorawan guide - multiple feather nodes transmitting to the new radio bonnet which is running
circuitpython rfm9x, and Adafruit IO IO Python to send data to adafruit io...and TTN!
@solar whale whoo radio projects
I want to make it to PyCon...but too merch dollars. ๐
bye all
Bye
๐
have a great week
Thanks everyone! Have a great day/week!
Bye! Thanks from lurk-land.
by the way, if anybody is coming to FOSDEM next week, I'm there
byyyyyye
well, actually this week (weekend)
@slender iron https://github.com/adafruit/adafruit-circuitpython-weekly-meeting/blob/master/2019/2019-01-28.md
63 & sunny here...
David s pumpkins?
53 here
๐
@meager fog I hope your meeting went well
@slender iron should I use beta or compile from master ?
Oh Nm
master always I think ๐
@umbral dagger heya for the CP/M do you need a grandcentral or can you use a metro m4
(or feather m4)
@meager fog Any M4 will work but you need an SD card shield/wing
ok can you add a note for that
@slender iron in send(command, data) for FourWire what is command? not the pin?
@umbral dagger also you have a a fork of the CPM repo? that way they dont have to make the changes
I've just been fiddling local. Forking and sending in a PR is the next step.
Iโve also gotta submit a PR, but for MU. Some time this week. Will be my first. :)
@umbral dagger ok please do and add to guide, so epople don't bug ya for code help ๐
"epople" is my new favorite word
Iโve been making spelling mistakes like that all day.
Switching the first and second letter.
I was working overnight on a project, and kept typing "make" as "amke", so I set an alias to it. The project was called "label", but as the night wore on, I started typing "lable", so I added that to the Makefile as an alternate build target. The next morning, my cow-orker came in to see me typing garbage like "amke lable" and the computer dutifully doing the right thing anyway.
cow-orker?
My new favorite word
It seems we are all making spelling mistakes today.
I believe some engineer at Sun had a similar issue once upon a time, because I was porting some code to another computer and it refused to compile, as a switch statement had a "defualt" case. The Sun C compiler accepted this variant, but the Masscomp one didn't.
@meager fog Done.
@marble hornet what are you trying to do? I don't think its hooked up yet
how do i put the Shape on the display?
~doing same~
splash = displayio.Group(max_size=len(fonts) * len(demos)+1)
p = displayio.Palette(2)
p.make_transparent(0)
p[1] = 0xffffff
c = circle.Circle(20)
splash.append(c)```
from displayio import Shape
class Circle(Shape):
def __init__(self, radius, *, filled=False):
super().__init__(radius, radius, mirror_x=True, mirror_y=True)
self.set_boundary(0, 4, radius // 2 - 1)
self.set_boundary(1, 2, radius // 2 - 1)
self.set_boundary(2, 4, radius // 2 - 1)
something like that
๐
is it not dark where you are?
so got some new boards back in
uf2 bootloader comes up fine
I had swapped out the NOR flash on board
now have the part mentioned in the mpconfigboard.h for the Feather M4 express, the board that I'm trying to emulate
but now I'm back to not having CIRCUITPY show up
GD25Q16C on the 3.x branch
(I had previously gotten the wrong part and the good folks here walked me through recompiling for the W25Q16JV part I had on board)
oops
think I found it
will need to test with a soldering iron
but it looks like I may have put a cap to ground on to the power pin...but no actual power
yeeeep
that was it
found it without even needing a soldering iron
appreciate it though, @exotic pumice !
off a-bodging I go!
glad you found it
Bodging you say? ๐
I was wondering if you'd turn up
great @digital slate ! glad you got it working
โฌ neat
for a second there I thought this was boolean or not bitwise or and I was really confused as to what this code did
static uint32_t read_word(uint16_t* bmp_header, uint16_t index) {
return bmp_header[index] | bmp_header[index + 1] << 16;
}
yup, slow but scalable
I'm trying to install CircuitPython on Raspberry Pi per https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi, but when I ran "sudo pip3 install --upgrade setuptools" I got "Not uninstalling setuptools at /usr/lib/python3/dist-packages, owned by OS". I'm not optimistic that there's a way to make the OS disown the setup-related packets without uninstalling python packages then compiling & installing it myself. (which I am loath to do).
I am, and I have. I will report back if there are any further gotchas. Thanks!
does the python repl have a vi mode?
I keep trying to jump to the start and end of what I'm typing
I don't think so, but you can use home/end on pc or fn+left/right on a mac.
At least with the one in mu
so far I got the gif header and palette parsed
@haughty bobcat
I think that's pretty good for today
nice job @exotic pumice !
thanks
@dhalbert this PR may not fix all the scenario, since I don't know how to make them. But it will fix the test in your tinyusb-sd-work branch. Here is the finding I come to
- Tinyusb need tusb_hal_nrf_power_event() to be called when usb bus power : detect, ready, removed
- When sd is not enabled (or not present): nrfx_power_usbevt_init() is called to set tusb_hal_ as event handler https://github.com/adafruit/circuitpython/blob/master/ports/nrf/supervisor/usb.c#L69
- However when SD is enab...
@exotic pumice So great! :)
Iโll be happy to test anything you have
ST7735 and ST7789 is what I have
And SSD1306...but those are just monchrome.
ST7735 is used on the hallowing...and probably other upcoming Adafruit things like the Gizmo. Iโd focus on that.
@exotic pumice have you seen this? https://github.com/lecram/gifdec
GitHub
LightAppliance application for SmartMartix LED array - jasoncoon/LightAppliance
I'm just working my way through the w3 spec for now.
Things are looking great on the XBox controller front - thank you all ๐
Does anyone have an easy pointer to code that detects "jerks" on the CPX using CP?
If you're not calling usb_enabled() here, maybe we can get rid of that routine completely. Or call usb_enabled() here and it will call tusb_inited() itself.
That could be true physics Jerks (the derivative of acceleration) or just "sudden movement in any direction"
The shake code uses a series of samples and then detects if it exceeds a threshold... Would that help?
beat me to it
@tough flax https://github.com/adafruit/Adafruit_CircuitPython_LIS3DH/blob/a03f9011279f9e630549432589463912831fcee1/adafruit_lis3dh.py#L174 Is the actual code.
The CPX lib calls it from LIS3DH lib, so the CPX lib doesn't have any of the raw code in it.
Thanks @idle owl
@tidal kiln I'm regretting jumping into https://forums.adafruit.com/viewtopic.php?f=58&t=146839&p=726044#p726044 -- sorry if I added confusion.
I'll leave it to you ... good luck!
@tulip sleet I approved and merged your Learn code.
tnx! still working on the guide
That's how it goes with "quick" guides ๐
this is like the "one minute of video requires one hour of editing" kind of ratio.
Looks like Mu is getting a a package manager for Raspberry Pi users
@tidal kiln just a though ton that i2c forum issue -- the user is doing lots of it as sudo, that should not be necessary and may be confusing things.
maybe. it's looking like a module name conflict at this point.
and what i posted this morning over in...general? (not sure) doesn't actually work
it imports the board package, not module
pi@raspberrypi:~ $ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from adafruit_blinka import board
>>> dir(board)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__']
>>>
he said he did a pip3 install board which installs the "dojo board" package I think.. same issue as you referred to earlier -- he started over with a new SDCard and it worked!
yep
i thought they actually were wanting that other module also? for whatever they're working on.
yeas they did -- but at least blinka was working -- not sure how to solve the dojo board confict,, not sure what both are needed for -- a virtual env may make it easier to jump back and forth,
but what if you wanted to use whatever that other one is and also use blinka in same program?
yep. i've tried a few things, but can't find anything that works in a non-hackish and simple way.
ahh -- the user just updated the forum -- clean install worked!
same person?
right. just weird to see same generally odd issue twice in one day.
meh. matrix glitch.
โก
Any comments on this?
analog_out.value = i```
Shouldn't it be
``` for i in range(0, 1024):
analog_out.value = i```
or even for i in range(1024)
Yes. Specifically the use of the analog output. Is it expecting valid values in the upper 10 bits and ignoreing the lower 6? That seems unlikely to me.
I don't know the hardware well enough to answer that one
The guide talks about it getting divided down in the DAC, 'll have to dig into the datasheet... still seems odd.
@umbral dagger that was fast https://learn.adafruit.com/z80-cpm-emulator-for-the-samd51-grand-central
@exotic pumice Fast? How so?
Speaking of fast I want to run some benchmarks on it to see how much faster than the original hardware is is.
Built my CP/M machine in 1984
It doesn't seem that long ago when ladyada first suggested that project. And weren't you working on a bunch of other stuff in between?
I generally have several projects on to go. If one stalls I can work on something else while the first precolates in my subconcious.
I've done assembler on a 6800 and a few other machines, but not that one.
typo on page 4
I thought I got all those ๐ฆ
there's 3 of them
@exotic pumice Thanks.. I don't see anymore (or rather page search doesn't ๐ )
nice
@main meteor My assembly time was 6502 and Z80. A tiny bit of 6800.
I did a bunch of work on the Apple ][ line as well as lots of custom hardware. My Z80 work was pretty much all custom hardware.
cool
@umbral dagger did you get your answer from above?
I started out doing hardware; all my coding was in assembly other than the initial learnign using Basic.
@raven canopy That just seems to be how it is.
from the AnalogOut docs:
value
The value on the analog pin between 0 and 65535 inclusive (16-bit). (write-only)
Even if the underlying digital to analog converter (DAC) is lower resolution, the value is 16-bit.
Ok, that makes sense for a family of MCUs.
Each one scales based on the hardware resolution.
yeah. i'm not exactly sure why you'd be stepping by 64, but i'm sure the full context would explain that.
just did the math. makes sense now. ๐
Yeah. I took that out of my example; the SAMD21 is a 10-bit converter, the '51 has a 12=bit.
open question: as a user, is 10ms an acceptable interval to get a new reading for frequency capture? values are much smoother & accurate at that rate, vs 1 & 5 ms....
what does that make the max input frequency?
I would love to talk to a display or parallel chips without (i haven't yet but will need to) bit banging the protocol. for example, the portal now is configured in parallel but I would love to have a more traditional library to talk to it in addition to displayio
haven't gotten there yet. avoiding interrupts has been a challenge. ๐ with interrupts, i got up to 64kHz iirc.
it wouldn't have helped me where I wanted frequencyin, but I found out pretty quick I needed a logic analyzer
correction..512kHz. 64 was with pulsein i think.
yeah, i haven't even started to compare again with the salaea. figuring out any adjustment is later.
I got a $10 aliexpress jobby.
https://www.aliexpress.com/item/USB-Logic-Analyzer-24M-8CH-Microcontroller-ARM-FPGA-Debug-Tool-24MHz-16MHz-12MHz-8MHz-4MHz-2MHz/32955962512.html
Does the business.
aliexpress.com
Smarter Shopping, Better Living! Aliexpress.com
CTRLB.READSYNC is killing me. forces overflow before the count is updated. factor in the 4+ periods of latency between EIC->EVSYS...i've got math to google. hehe.
syncbusy is the one that always gets me
oddly enough, i could never get the wait loop to trigger on it. though, it is still part of the condition.
oops
I kinda wanna go to pycascades just to sit down with scott and get stuff figured out
hehe. figuring "stuff" out is good. ๐
I'm only 3 hours from Seattle
math is off...but i'm feeding 4MHz so far with no affect on CP. "One small step..."
you got 4MHz read in correctly?
well, its reading as 3.651063 MHz, but that is probably due to my mangling of the math.
now that's useful
not locking up CP is my fav part.
hmm. PWMOut doesn't like anything above 6MHz. will probably need to use AudioOut for something of that magnitude. probably a good idea to compare square and sine anyway.
use gclkio
it puts a gclk onto gpio
I can toss you a bin if you like, I already have it set up
or an elf
whichever is easier
bin works just as well. is it a static frequency, or can i change it?
and, 6MHz is reading out as 5.48...
I'd have to recompile to change the clock speed
k. i won't turn down free testware at any rate. ๐
what speed you want?
and 21 or 51?
51 is pretty broken atm
but I got 6mhz out of it
- 10MHz if you can. not sure anything in CP can get that high.
is 12 ok? just easier math
12 it is!
metro m0 or?
currently a feather m0.
@exotic pumice AliExpress is amazing
Adafruit is great too but I usually only get made in NYC dev boards because they are always so well designed. Everything else is AliExpress for me
hmm. just thought about "max". using a 16 bit TC, i can only count 65535 events per 10ms. need to find out if EVACT.COUNT triggers the overflow. that'll get me at least another 65535 events.
just making a few changes for '21
should be 12mhz on d13
haven't checked myself yet
that...is spooky coincidence. i'm already using D13. ๐
and, thanks @exotic pumice! that'll come in handy as i tighten this up.
not working for me unfortunately
@exotic pumice don't spend too much time fiddling. if you had 6mhz working, that one will do fine too. still a good alternative for testing. now, time to sit down with my brain-math-cells and new, steady data.
I had 6 mhz on metro m4 but dan tried the same bin and got like 1.5 so I don't think that one is helpful
alright. i'll give the 12MHz one a go soon, and see what i get.
i mean, as long as i can get the actual output with the salaea, i can bounce results against it.
oh, I know what it is!
I forgot I had to change something elsewhere to get this to work on m4
bit vs vec? i have so many #ifdefs for that. ๐
this is rust, no, I have to enable io on the clock
inside the hardware abstraction library
now if only the docs would stop crashing my browser
tested working at 12mhz
bossac -e -w -v -b -R -o 0x2000 clock_out.bin
you guys should think about adding gclk_io support for circuitpython, all you have to do is set up a specific gclk depending which pin you're using, and then put the pin in function h on 21 or function m on 51
and have oe enabled on the gclk
want me to rewrite pulse_out?
not sure about the duty cycle bit
alternatively, FrequencyOut
maybe not a great idea considering how many gclks you guys end up using for other stuff
it's super freaking useful though
i'd talk to Scott or Dan about that. there may be room GCLK wise; just need to handle checking for availability.
i mean, the framework is there in samd-peripherals. with this new setup, i may even be able to abandon spinning up DPLL1 on the M4.
Another atsamd-rs dev and I were wondering what you guys were using DPLL1 for
it isn't used at the moment on master. DPLL0 is, but i forget what its latched to. I grabbed it to fix accuracy when i was using the TC's "internal" capture; open DFLL was drifting the numbers badly.
might be...yep, main clock.
didn't want to boldly state it, since i couldn't remember for sure. ๐
this is the stuff I've been working on for a while so I know it well
I even know that the ldr is 59 to make it 2.5x
i took such a long break from this, i forgot most of what i learned going though that. which was also the only time i've dug into setting clocks, so no other retention there.
I think it's harder on atsamd than other vendors
if i could go back in time, i would force younger me to dig closer to the metal and not rely on all the high-level magic. โฒ
alright, brain shutdown time. ๐
3-4x smaller binary cuz I was bored
come to the rust side, we have small binaries.
I will call usb_enabled() here, seem like it is use by common_hal_storage_remount() as well. So we need to keep it
@dhalbert That is weird, I will do more testing with pca10056 later on. Anyway I have added re-init usb hardware after sd is disabled/enabled. This will help usb to detect vbus while disable/enable bleio dynamically. I do a bit of testing, but you should test it there to be sure.
I put together a wrap up video showing the #xac controllers Iโve made with CP https://youtu.be/K0qsG68z3BUp
At ATMakers, we've been hard at work making customized controllers for the new Microsoft XBox Adaptive Controller. This video (while a bit long!) goes throug...
Thank you @tulip sleet and @split ocean for your help with this
Need Help \ Explanation with my code...
@sacred edge you can post your code. The #help-with-circuitpython channel is slightly more appropriate and might have more eyes open right now.
FYI - I just put pr 1503 on my feather_nrf52840 attached to a crickit and it is working with USB disconnected -- power via 5V wall wart on crickit. I have not been able tot reproduce Dan's crashes.
ok.. Thanks
@tulip sleet trying to reproduce the crash on the nrf52840 w/o USB -- so far it seems to work well
It was really odd. I wasn't intentionally trying to do that. I just touched the USB plug to the socket when I was about to plug it in and it crashed. But it was hard to reproduce. This may not be related to the tinyusb code at all.
are you tryin to connect to USB while it is running?
yes, I wanted to see if it behaved ok in that situation
admittedly not something that would happen a lot in real life
I had to do the tapping a dozen times to make it happen.
it might be static or something, though this room is not very staticky.
I have added re-init usb hardware after sd is disabled/enabled. This will help usb to detect vbus while disable/enable bleio dynamically. I do a bit of testing, but you should test it there to be sure.
@hathach Will the re-init cause a USB disconnect/reconnect/re-enumeration from the host's point of view? This is OK but I just want to know, so we do an SD disable/enable only when necessary.
Since @jerryneedell's testing is working out, we can merge this for now unless you have further ...
The non-nrf builds are failing because there's nrfx-specific code now in supervisor/shared/usb.c. That code needs to be refactored into ports/nrf/supervisor/usb.c.
FYI - I just put pr 1503 on my feather_nrf52840 attached to a crickit and it is working with USB disconnected -- power via 5V wall wart on crickit. I have not been able to reproduce Dan's crashes.
Thanks @jerryneedell for testing it out :+1: :+1:
@hathach Will the re-init cause a USB disconnect/reconnect/re-enumeration from the host's point of view? This is OK but I just want to know, so we do an SD disable/enable only when necessary.
Since @jerryneedell's testing is working...
CPX A0 appears to be dead..
Since @jerryneedell's testing is working out, we can merge this for now unless you have further things you want to change or test.
Push the fixed that refactor nrfx, once is OK, please merge !! :) I am back to Arduino :D
How do I fix "fatal: no tag exactly matches 'xxx'" I assume it is an out of date submodule but I can't seem to find the right git incantation.
@celest zenith try ```git submodule update --init --recursive
git submodule foreach --recursive 'git fetch --tags'
git submodule sync
or some combination of those incantations ๐
latest commit seems to work OK -- not sure why travis failed...
I find standing on my left foot helps too ๐
@slender iron is the usb-midi included in version 4 yet?
it is
latest commit seems to work OK -- not sure why travis failed...
I restart the build, it seems to be fixed now :)
What other chips are parallel? Could you give an example of the code you'd like to write?
I some how caused my Metro Express M0 CPU to start smoking. I unplugged it right away and removed all the wires I had plugged in. It has cooled down now, but every time I plug it back into my computer, the CPU starts heating up and the board doesn't show up in my file management window on my computer even when I put into BootLoader mode.
Any help?
The neopixel light is also red.
I think it might have been plugged into a bad 9V battery
Does anyone know of a way to save the board?
It could be a power supply issue (like the voltage regulator), but I suspect that CPU chip is ruined, and the only way to fix the board would be to replace the CPU. If you have hot air rework facilities and a source of SAMD21 chips, it should be doable but somewhat fiddly.
that is way over my head. bummer.
@slender iron should I add FrequencyOut to my list?
That was a nice thing about the original DIP Arduinos: it was easy to unplug the CPU chip and replace it.
The DC jack doesn't work anymore, but the board still powers from my computer. Does that mean that the problem was through the DC jack?
aka the battery?
Hmm. When you said "every time I plug it back into my computer, the CPU starts heating up", I figured it didn't work from the computer.
It may be the DC power circuitry then.
The board turns on with the USB, but i cannot get it to do anything and the CPU starts getting really hot.
Do you still think it is a lost cause?
This LCD (https://www.adafruit.com/product/250) is supposed to work fine with 3V logic, so I think it should work fine with CircuitPython. After looking at the Arduino code for this LCD, it looks like it should probably have its own CP library as it's quite different than how most of the other LCDs work.
Sadly, that seems the most probable to me. ๐ฆ Perhaps someone else here more familiar with the board may have a better idea.
yah it can use the adafruit_framebuf for sure, look at the nokia LCD library for the light wrapper
okay. Thanks anyway.
Presuming you were referring to Adafruit_CircuitPython_PCD8544. Yeah, that would probably be a good strategy.
we now have in_waiting just like pyserial!
see in use here https://github.com/adafruit/Adafruit_CircuitPython_ESP_ATcontrol/blob/master/adafruit_espatcontrol/adafruit_espatcontrol.py#L205
There's two commits here. The first one adds config files to the atmel-samd boards file for the SparkFun LumiDrive and Redboard Turbo. The other commit adds the hardware profile of the flash chip used on these boards to devices.h. Let me know if you want me to split these commits and/or whatever else you need for a smooth merge.
Thanks!
These are definitely poorly named. They ensure some pins are not automatically reset. We're moving to a different way of doing it so if your board works as expected then this should be fine.
Need this comment still since it's moved files?
Derp, also forgot to remove this extraneous stuff. Great catch! Resolved in latest commit.
End of day here for me, didn't mean to resolve without comment. Sorry about the extraneous comments. I removed them in latest commit.
Added our boards to the travis.yml and removed the extraneous comments.
I have a micropython driver for this (well, very similar, anyways) display: https://bitbucket.org/thesheep/micropython-oled/src/default/uc1701x_spi.py
stable again! now time to work out the delta. :phew:
my main interest in the ili9341 and other parallel displays
@exotic pumice I don't think we need a frequencyout. pwmout should be able to do it
ok, just thought maybe for higher frequencies
gclk_io can do any speed the gclks can, like 120+ MHz
and it's super easy to set up, but if you don't think it'd be useful I understand
ya, I usually just do it in the C when I need
notro did some clock python classes already too: https://circuitpython.readthedocs.io/en/latest/ports/atmel-samd/bindings/samd/Clock.html
I think I am #921 ๐
the code below returns this error:
Traceback (most recent call last):
File "main.py", line 39, in <module>
File "/file_location", line ###, in val
AttributeError: 'super' object has no attribute 'val'
class parent():
def __init__(self, initval):
self._val = initval
@property
def val(self):
return self._val
@val.setter
def val(self, valin):
self._val = valin
print('in parent')
def child(parent):
@prope...
This doesn't work in CPython either.
Maybe this can give some insight: https://stackoverflow.com/questions/13595607/using-super-in-a-propertys-setter-method-when-using-the-property-decorator-r
I tested Example 2 and it works in CircuitPython.
Merge build failed due to sparkfun board def bugs that are being fixed by #1508. No issue with this PR.
Merge build failed due to sparkfun board def bugs that are being fixed by #1508. No issue with this PR.
Thanks for the info, I was just claiming Travis for a whole day :D
So, I am trying to add a custom port for an atmel-samd based board (SAMD21), and a lot of work for that has already been done - great!
The problem I am facing is that, due to my larger bootloader (0x4000 instead of 0x2000) the compiled code doesn't fit. I also want to try to add in some other features which would also need up more flash.
So.....what better idea than to reduce the size of the flash filesystem! And...on we go down the rabbit hole. As it turns out, the flash filesystem...
Thank you for the quick reply! Unfortunately it is already finalized, however it also has an SD card connected via SPI. Is it possible to use that as external flash (without breaking its FAT32 file system)? Thank you for answers!
Can you interact with the file system from the REPL? That's always my first step in debugging. After that I usually use a USB sniffer (a Beagle 12) to see how far MSD is getting. You can manage some of that from GDB as well.
I'm not sure what you asking about CIRCUITPY_INTERNAL_NVM_SIZE.
Can you interact with the file system from the REPL?
It appears to be blank, just nothing there. while mkdir and chdir don't error, os.getcwd() still just "/", so probably borken
I'm not sure what you asking about CIRCUITPY_INTERNAL_NVM_SIZE.
The name of that #define kinda implies to have to do something with the flash. Looking more into it, on non-express-boards it seems to be set to 0, and on [express-boards](https://github...
Ya, it sounds like the FS code itself is a problem. Once that works the USB usually does. I usually use GDB to see the output code of mkfs for insight.
The CIRCUITPY_INTERNAL_NVM_SIZE dictates how much memory is available via the nvm module for byte oriented storage rather that within the filesystem. We added it but don't know if it's used by anyone.
@deshipu and @dhalbert How did you solve it? Could you please give an example? Having the same issue now and want to control an ESC with a pulse width between 1000 and 2000 ยตs
While it's for Servos you should be able to use this for ESCs as well: https://github.com/adafruit/Adafruit_CircuitPython_Motor/blob/master/adafruit_motor/servo.py
This will show error messages as long as the display is initialized. Under the hood, this replaces Sprite with TileGrid which stores indices into a bitmap. This saves Sprite and Bitmap object overhead for grids of images. This also means that the terminal can only be one color and monospaced.
It appears that FatFs can only format a file system if it has at least 50 blocks. Thank you for the help!
It also means that "marching armies" or something like that in a game could be represented as a single TileGrid rather than a bunch of sprites.
The MAX7219 LED-Matrix-Controller-Lib requires framebuf.
It doesn't work anymore on nrf52840 builds.
Anyone want to test out a bit-bang SPI library for RaspPi & the like (I.e. using blinka) ? https://github.com/dastels/adafruit_python_bbspi
Bundled in that repo is example code for the BME280 but it'd be good to see it working with other sensors, especially using modes 1 & 2. (The BME280 can use 0 & 3, which it's bee tested with)
That's awesome, thank you sir
<@&356864093652516868> My plan is to stream debugging tomorrow afternoon starting around 2pm Pacific.
Hi there, it seems the Discord link in the Readme (https://discord.gg/nBQh6q) has expired, as I get this when I click it:
<img width="579" alt="image" src="https://user-images.githubusercontent.com/282113/52097507-32cf5180-2580-11e9-9a07-24aa3c3515d0.png">
Iโve tried this both while logged in and logged out of Discord!
@slender iron I don't know how many HS students are in here but we often get our right at 2:00. I'll be able to come but that is a very popular dismiss time in and around mass
Just to put it out there: I don't think too big of a concern
I'm thinking it'll be 2-3 hours so you should be fine
Ah, ya. We deleted a bunch because we had some spammers come in. Our redirect still works: https://adafru.it/discord
Thanks for the heads up. I'll fix it now.
[adafruit/circuitpython] New branch created: tannewt\-patch\-9
Thanks to @ticky for the heads up.
Fixes #1511
@slender iron where will the stream be -- any special tools/acoounts needed to access?
ohh -- just realized its at 2PM PST -- may not work, but I'll see. No worries...
@umbral dagger will try to find time to try the bbspi tomorrow or over the weekend.
Nice
I'll try to watch -- now that my work certifications are completed (passed them today), I can come out of hibernation.
Congrats! That had to be frustrating.
Thank you -- they push recerts on each person every few years. It's a memorization test....and a test of the english language.
Choose the "best" answer of four options -- 1 is totally wrong, 3 are correct. Which one is technically the "most" correct?
I shouldn't have even been on here the last few weeks, but I had to get my nose out of the PDFs.
so -- you are now certifiable ๐
Oh @solar whale, been that way for far too long! ๐
Oof, I hate tests that are basically mindreading tests.
I've taken enough of them to know exactly what I was getting into. And this is one of the more comprehensive ones we have.
Normally a 40 hour class + tons of study. All on one's own.
But it is DONE. ๐๐
tested, works well - thanks!
Ok, I've added the ability to have display bus (FourWire or ParallelBus) send a command. This is likely all you need. PR incoming with it.
I tried adafruit-circuitpython-hallowing_m0_express-en_US-20190131-7c443fb.uf2 and the Hallowing does not boot
adafruit-circuitpython-hallowing_m0_express-en_US-20190131-63d4561.uf2 boots fine.
Just clarify doc for this: are the values 0,1,2,3 or 0,90,180,270?, and clockwise or counterclockwise?
@umbral dagger I'm a bit confused. does using the bbspi require a modified version of each sensor library? I see you have one for the bme280.
That's TBD
The thought at the moment is that the module will be adafruit_bitbangio
latest build also does not boot ;
https://adafruit-circuit-python.s3.amazonaws.com/bin/hallowing_m0_express/en_US/adafruit-circuitpython-hallowing_m0_express-en_US-20190201-7d039a5.uf2
same dmesg report
i
I know I'm kinda necroposting here, but I'm trying to use the CPX IR, getting the same error. Tried deleting files in /lib. When I REPL the modules though, adafruit_IRremote isn't showing up as frozen. So no IR functions work. What can I do?
@KaleidoscopeSci adafruit_irremote is only frozen on the PirKey (which isn't for sale at the moment), so on the CPX you need your lib directory back (or at least that library). Also, as of CircuitPython 3.1.1, frozen modules will be imported first, so you don't need to delete the lib directory to save RAM anymore for frozen modules.
Sadly with the lib directory installed on CPX, I'm still getting the memory allocation error. Anything else I can try? I've tried changing maxlenth, setting different time. sleep amounts, still keep getting the same error. This is the only documentation I've been able to find that describes anything similar to what I'm experiencing.
OK, then, there's nothing really to be done, unfortunately. This issue is partly why the pirKey is not available right now - we haven't figured out an easy fix. Making the library frozen saves RAM, but there are still issues.
I think I've fixed this in #1513
Ok, clarified. Thanks for the review!
awesome! when working I'll post some code and close, sound good?
yes you did ```
Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 4.0.0-beta.1-38-g845783a45 on 2019-02-01; HalloWing M0 Express with samd21g18
@slender iron on Hallowing with PR_1513 should anything be seen on the screen at boot?
ya, I think so
hmm -- I did not see anything -- what should I expect?
ok -- no rush -- just curious -- displayio is kind of mysterious to me ....
ya, I realize I haven't taught it well
ya, I see what its missing
in code.py you can do board.DISPLAY.show(None)
yup, it's built in display handles it now
so you don't need to pass it into slideshow
you'll want the latest slideshow lib too https://github.com/adafruit/Adafruit_CircuitPython_Slideshow/
ok -- I'll do some updates - BTW using code.py with just ```
import board
board.DISPLAY.show(None)
hrm, it should at least show the blinka. lemme brush my teeth and then I'll try it
ok -- sorry for all the intteruptions -- no rush
ok -- will try in about 5 min
kk
hmm -- sorry - still don't see anything - should I have code.py or no with this build?
Text is supported through Bitmap Font and Display_Text libraries. We now also have a built in font that we should make available to the user.
- [ ] Cookiecutter and bundle the above libraries.
- [ ] Expose the built in font bitmap.
I haven't run into stack sizing issues. We now check to see if the stack overran the heap and enter safe mode if that is the case. (Throwing an exception is impossible because the Python code itself could have been overwritten.)
@slender iron not having much luck I also do not se anythin on screen when I run this ```import board
from adafruit_slideshow import PlayBackOrder, SlideShow
import pulseio
Create the slideshow object that plays through once alphabetically.
slideshow = SlideShow(board.DISPLAY, None, folder="/",
loop=False, order=PlayBackOrder.ALPHABETICAL)
while slideshow.update():
pass
weird
@notro Thanks, this is a complicated issue. Let close it as not an issue specific to CircuitPython.
What it does for me
great song!
haha, ๐
do I need anythin on the board besides slideshow.mpy
it shouldn't need anything
and my .pngs
just erased filesytem and rebooted -- nada
ooohh -- it works on battery!!
not on USB!
hrm, that's weird
now it is working on USB --- very odd -- just had to unplug
possible the display got unhappy
looks to see if we software reset the display
yup, looks like we try to
ok -- slideshow works now too ...
was your build from pr 1513 as is or did you have to fix something?
nevermind -- just pulled/built master -- works fine!
ya, I think its stock
thanks for the help -- guess it just needed a power cycle
All working for me now, thanks for the quick fix! ๐
@tulip sleet do you have a simple example of what the new BUTTON_x definitions are used for -- I'm just not seeing it ... the pythonic side of my brain is not working.
@solar whale I think like this, though I haven't tested it: ```from adafruit_ble.uart import UARTServer
from adafruit_bluefruit_connect.packet import Packet
from adafruit_bluefruit_connect.button_packet import ButtonPacket
uart_server = UARTServer()
while True:
uart_server.start_advertising()
while not uart_server.connected:
pass
# Now we're connected
while uart_server.connected:
if uart_server.in_waiting:
packet = Packet.from_stream(uart_server)
if isinstance(packet, ButtonPacket):
if packet.pressed:
if packet.BUTTON_1:
# The Up button was pressed.
print("1 button pressed!")
elif packet.BUTTON_2:
# The Down button was pressed.
print("2 button pressed!")
# If we got here, we lost the connection. Go up to the top and start
# advertising again and waiting for a connection.
or it might even eliminate the packet.pressed, I haven't checked
ah OK -- but the old way of packet.button == '1' still works -- just add the new .BUTTON_1 is an option
I believe so yes.
thanks -- now I'll go back and look at the code to see if I understand it better ...
hmm tried a quick test and all presses act like BUTTON_1 -- I may be doing it wrong ...
no, should be packet.button == ButtonPacket.BUTTON_1. It's just a name for the string "1"
maybe I messed up the example?
there is no example, is there?
uh, no, sorry
np
ok --long winded way to type '1'
right, because nobody knows that "5" is UP
๐
Ah.
without looking at the Bluefruit LE Connect guide
now I get it!!
could do a from ButtonPacket import *, but I don't think it's worth it
OK -- now it works ๐
What causes a "Reload Exception" I often get one after reboot -- just once then no more
the os writing to the disk
oh -- not waiting long enough after copying new file I guess
just using that instead of a keyboard interrupt you don't trigger
ok - but I copy a new code.py -- it reboots -- I connect my bluetooh app then it does the reload trap and reboots - and disconnects
does it always reboot twice?
usually not connected to see it.
it depends on the os
<@&356864093652516868> gonna start streaming in the next few minutes
@slender iron on twitch?
@slender iron I'll just be on for the first bit -- sorry I can't stay
thanks for the heads up
will be in the voice channel but won't record it
You're live
Thanks - great stuff! sorry I can't stay -- good luck!
turning into a ๐ , ttyl ๐
I've been paying half attention -- got pulled for some stuff and focused on that. But I'm mostly mentally here now (if I ever was to begin with).
i tried to math during this. reading code has much more gravity.. ๐
I'm weak on memory allocation -- did it once a few years ago. I understood like 40%-50% of what was being discussed today.
The other 50-60%? -scratches head in confusion-
Great job! I didn't get a chance to watch the stream.
Branch-in-progress: https://github.com/nickzoic/micropython/tree/circuitpython-nickzoic-1046-nrf-rtc
(very little progress yet)
I got to the hard part of the gif loader, decompressing the image data
and I can't even temporarily skip it to see what else I can work on because I don't know the size of the image data
@slender iron very nice! Trying displayio on 2.4 inch TFT w/feather m4... lots to learn but off to a good start!
I think it is slowly starting to make sense to me.
for the initial startup -- based on an old example from Scott -- may not be fully up to date - but it works
for the text writing demo - I had to modify adafruit_display_text.py to change Sprites to TileGrid then I ran this to print some text, make a box, move the text, change colors. again based on a possibly outdated example - your mileage may vary ๐
I ran display.py as my code.py
supervisor.set_rgb_status_brightness(0) doesnโt take effect till after a ^c, preventing it from ever turning off the status led on a stand-alone device. Tested on an ltsyBitsy M4 with CP 3.1.2
hey @slender iron I'm going to start on the cp32/wrover
@pastel panther awesome! I haven't gotten to it. I've been working on keyboard support
almost done with the new footprint; making some updates so I can get a decent stencil
nice!
@gilded cradle Regarding CharLCD, I think something changed in pulseio because this isn't the first time this has popped up. Please make a note in that PR that the failure is unrelated and go ahead and merge. Then file an issue on the lib about it and we can look into it more deeply next week.
@gilded cradle Nevermind, Ladyada already submitted a fix for it.
Thanks, I was afk. Just got back though.
No worries!
Thanks jerryn
Can't wait to try this rotaryio on my nrf52840 Express.
@Tasm-Devil you can help @nickzoic beta test :)
OK
if i wanted to make a custom build of circuitpython ?
i think i need to expose this https://github.com/hathach/tinyusb/blob/29b49199beb8e9b5fead83e5cd36105f8746f1d7/src/class/custom/custom_device.h
@carmine kestrel If I understand you question, when you clone the repostory and then run git submodule update --init --recursive that repository will be downloaded as well in https://github.com/adafruit/circuitpython/tree/master/lib
i mean i need to make a full image of the cirtuitpython afaik
like compile it
@carmine kestrel see this guide for mre information
๐
I hope that helps - I may have misunderstood your question.
