Search found 420 matches

by SpotlightKid
Thu Sep 24, 2020 7:53 pm
Forum: General Discussion and Questions
Topic: Show me: a library for easy WiFi setup for non-dev end-users
Replies: 4
Views: 1131

Re: Show me: a library for easy WiFi setup for non-dev end-users

I tested this just now on my ESP32 and it worked nicely. So thanks for your work and sharing it! My phone didn't pop up the "Sign-in to .." message, but my tablet did. It may be that the Android version on my phone is too old. I could still access the login page by opening it manually in the browser...
by SpotlightKid
Tue Aug 18, 2020 8:32 pm
Forum: WiPy and CC3200 boards
Topic: Sending email
Replies: 36
Views: 24493

Re: Sending email

The RFC prescribes that all lines in a message must end with CR + LF (i.e. '\r\n') not only a single line-feed. Most mail clients and server tolerate line-feed-only line endings, though, but...
by SpotlightKid
Tue Aug 18, 2020 5:40 pm
Forum: Programs, Libraries and Tools
Topic: uMail - A lightweight SMTP client for MicroPython
Replies: 29
Views: 8381

Re: uMail - A lightweight SMTP client for MicroPython

@davef: uMail does not format the email for you. It is equivalent to the "smtplib" module in the CPython standard library. If you want a subject or any other header, you need to format an RFC5322-compliant message string. On CPython your would do this with the "email" module, but that is much too bi...
by SpotlightKid
Thu Jul 16, 2020 1:46 pm
Forum: Drivers for External Components
Topic: VS1053b audio drivers: play music, speech or sound FX
Replies: 15
Views: 1713

Re: VS1053b audio drivers: play music, speech or sound FX

You would need to mix the different samples when they are played into a continuous (stereo) audio stream and send that to the audio card. So you'd need <time polyphony> waveform oscillators and at least <times polyphony> amplitude envelope generators (plus optionally as many filters, LFOs etc.). Bas...
by SpotlightKid
Sat Jun 27, 2020 6:06 am
Forum: Other Boards
Topic: WeAct STM32F411CEU6 black pill
Replies: 29
Views: 8675

Re: WeAct STM32F411CEU6 black pill

Yes, I read that. I was looking though to make the most of the existing flash or extending it without having to order extra parts.
by SpotlightKid
Thu Jun 25, 2020 9:44 pm
Forum: Other Boards
Topic: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards
Replies: 162
Views: 70785

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

MCUDev DevEBox STM32F407VGT6 [...] @mcauser 's board definition works perfectly. I spoke too son. I get strange behaviour with this board (firmware compiled from git as of today): * On every power up or after every reset (even soft reset) I see the following LED blinking pattern 1-2-3. This repeats...
by SpotlightKid
Thu Jun 25, 2020 9:04 pm
Forum: Other Boards
Topic: WeAct STM32F411CEU6 black pill
Replies: 29
Views: 8675

Re: WeAct STM32F411CEU6 black pill

I just got three of these today from China and successfully flashed MP onto the first one. Having only ~45 kB left on the flash FS is a bit of a bummer, though. * If I add frozen modules to my firmware build, will they further decrease the flash FS size? * If I disable some builtin modules I don't u...
by SpotlightKid
Wed Jun 24, 2020 11:41 am
Forum: Other Boards
Topic: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards
Replies: 162
Views: 70785

Re: MCUDev Black STM32F407VET6 + STM32F407ZET6 dev boards

I just received an MCUDev DevEBox STM32F407VGT6 board from AliExpress (only ~$9 € inlc. shippng). This is now marked: VER:V3.0 SN:1904 The only visible changes I can see are an additional diode to the left of C1 and two new resistors (R1,R4) above R34. @mcauser 's board definition works perfectly. T...
by SpotlightKid
Mon Jun 22, 2020 9:33 pm
Forum: General Discussion and Questions
Topic: "Empty" TypeError
Replies: 5
Views: 324

Re: "Empty" TypeError

You can always delegate instead of inheriting: class Cfg: def __init__(self, default={}): self._dict = {} self._dict.update(default) def __getattr__(self, name): return getattr(self._dict, name) def __getitem__(self, name): return self._dict[name] def __repr__(self): return repr(self._dict) # plus a...