Xtronical Space Invaders improvements

I like the concept of this guy’s classics game version, but it could be coded better 😉
With some small modifications i was able to run it on SPI oled with Adafruit ssd1306 drivers with very nice performance. As first i took the version from part 10 because it doesn’t use modified interrupt based ToneAC library which would make (almost) impossible to compile for other arch/boards like Blue Pill or esp8266 based devices…

First i loaded SPI version into my DIY small oscilloscope called device 😀
I did like the game so i made it look overall better, slightly 😉


In future i would like to have code usable as standalone or as addition to other oled based projects where is some spare flash space left. The highest goal would be the ws2812 led panels/strips based arcade gaming machine.

TODO: provide code

Python & MoviePy vector graphics test

Author’s blog post about using MoviePy to animate vector graphics here
MoviePy PyPi page here
Gizeh GitHub page here

Installation

..at PyPi page they state to install MoviePy simply by: pip install moviepy
..not that fast bro, MoviePy 1.0 runs only on python 3, so i had to use older version for my rusty old python 2.7.. sudo pip install moviepy==0.2.3.5
Successfully installed moviepy decorator imageio tqdm enum34 futures
Cleaning up...

well..that worked, but package itself uses lots of other packages to work..
..on Linux Mint 17.3 i went into dependency hell, have a good luck trying..

..to run examples i had to install gizeh..
sudo pip install gizeh

RuntimeError: cairocffi does not support Python 2.x anymore. Please use Python 3 or install an older version of cairocffi.

solved by using older version: sudo pip install cairocffi==0.9.0

trying to run examples from authors blog:
from moviepy.editor import *
File "/usr/local/lib/python2.7/dist-packages/moviepy/editor.py", line 26, in
imageio.plugins.ffmpeg.download()
File "/usr/local/lib/python2.7/dist-packages/imageio/plugins/ffmpeg.py", line 40, in download
"imageio.ffmpeg.download() has been deprecated. "
RuntimeError: imageio.ffmpeg.download() has been deprecated. Use 'pip install imageio-ffmpeg' instead.'

solution found here
sudo pip install imageio==2.4.1

problems with pillow setup:
had to manually install package „libjpeg-dev“ via sudo apt-get install libjpeg-dev or installation failed

another problem right on:
ImportError: Imageio Pillow requires Pillow, not PIL!

so i tried:
sudo pip install pillow
Requirement already satisfied (use --upgrade to upgrade): pillow in /usr/lib/python2.7/dist-packages
Cleaning up...

lol?

found issue: https://github.com/Zulko/moviepy/issues/748
being rather issue of imageio: https://github.com/imageio/imageio/issues/322

– yes, there is no pillow there 😀
oh really?

sudo pip install --target=/usr/local/lib/python2.7/dist-packages/ --upgrade pillow
...
--------------------------------------------------------------------
PIL SETUP SUMMARY
--------------------------------------------------------------------
version Pillow 6.0.0
platform linux2 2.7.6 (default, Nov 23 2017, 15:49:48)
[GCC 4.8.4]
--------------------------------------------------------------------
...
Successfully installed pillow
Cleaning up..
.

would the example from author’s blog post work after all this? of course NOT 😀

[MoviePy] Building file circle.gif with imageio
0%| | 0/31 [00:00
Traceback (most recent call last):
File "/home/k/Plocha/PYTHON/MOVIEPY_TESTS/moviepy_test_1.py", line 18, in
clip.write_gif("circle.gif",fps=15, opt="OptimizePlus", fuzz=10)
File "</usr/local/lib/python2.7/dist-packages/decorator.pyc:decorator-gen-56>", line 2, in write_gif
File "/usr/local/lib/python2.7/dist-packages/moviepy/decorators.py", line 54, in requires_duration
return f(clip, *a, **k)
File "</usr/local/lib/python2.7/dist-packages/decorator.pyc:decorator-gen-55>", line 2, in write_gif
File "/usr/local/lib/python2.7/dist-packages/moviepy/decorators.py", line 22, in convert_masks_to_RGB
return f(clip, *a, **k)
File "/usr/local/lib/python2.7/dist-packages/moviepy/video/VideoClip.py", line 456, in write_gif
progress_bar=progress_bar)
File "/usr/local/lib/python2.7/dist-packages/moviepy/video/io/gif_writers.py", line 293, in write_gif_with_image_io
writer.append_data(frame)
File "/usr/local/lib/python2.7/dist-packages/imageio/core/format.py", line 500, in append_data
return self._append_data(im, total_meta)
File "/usr/local/lib/python2.7/dist-packages/imageio/plugins/pillowmulti.py", line 113, in _append_data
self._writer.add_image(im, duration, dispose)
File "/usr/local/lib/python2.7/dist-packages/imageio/plugins/pillowmulti.py", line 165, in add_image
im_pil = self.converToPIL(im_rect, self.opt_quantizer, self.opt_palette_size)
File "/usr/local/lib/python2.7/dist-packages/imageio/plugins/pillowmulti.py", line 353, in converToPIL
im_pil = ndarray_to_pil(im, "gif")
File "/usr/local/lib/python2.7/dist-packages/imageio/plugins/pillow.py", line 645, in ndarray_to_pil
array_buffer = arr.tobytes()
AttributeError: 'numpy.ndarray' object has no attribute 'tobytes'

..being issue: https://github.com/Zulko/moviepy/issues/499
..so sudo pip install numpy --upgrade

Successfully installed numpy
Cleaning up...

YAY IT WOIRX NOW !!!

MP3 module with 3W amplifier USER REVIEW

Main features

– plays mp3 files
– support for 32GB USB and 16GB microSD storage
– 3W/4Ω amplifier

The sound and…

– overall sound is not flat, it is probably intended to use with a speaker, low frequencies are dimmed and heights are boosted
– sound using KOSS porta Pro is clear, the underneath noise is very low, heights are very crispy, super fine
– USBs are okay, microSD card slot has push to eject mechanism
– the 3.5mm plug goes okay after few cycles, new has very tight contacts, not soldered well, not straight

Conclusion

++ sound quality
++ USB slot
— click in headphones when plugged in
— does not play wav files

~UNDER CONSTRUCTION~

EDM Machine

status: initial version done and working, making 2nd version


SPT32 Code generator

status: first version done and been used for >year, making new version which will generate strategy as well, with animated simulation, all from scratch


LCD Assistant

status: display image done and feature almost complete(add invert), font creator needs new gui(but is working nicely), convert image has problems with bmp files due to widely used nonstandard headers -> needs work


TNR Calculator

status: initial version done and being used, making 2nd version with better graphics showing the workpiece angle and tool nose


RFID Access system – Door lock

-esp8266 based control for electric door lock, with advanced(js!) and polished(css, anims) web interface for mid-secure RFID administration
status: initial version done and shiny, but overwriting storage of data


RFID Access system – Software control

-esp8266 based server/client sends UDP packets to LOGIN/ACCESS certain software, secured with handshake, no web interface, config in EEPROM
status: done and being applied on more computers at the time, making esp8266 (Arduino IDE due to multiplatform), Python2 and Autoit3 examples to share


 

Neoficiální podpora přenosu dat do řídících systémů Sinumerik a Heidenhain pro Linux

Co je podporováno:

  • řídící systémy: Heidenhain, Sinumerik, případně další
  • operační systémy: Ubuntu, Linux Mint, Debian a další

Jak to funguje?

  • do systému se přidá MIME typ (není vyžadováno)
  • do prohlížeče souborů přidáme „akci“ (není vyžadováno)
  • pro odesílání dat slouží program napsaný v jazyce Python 2 s využitím QT4, nebo jeho variace integrovaná do prohlížeče souborů(Nemo), kdy lze odesílat dvěma kliky, nebo jednodušší varianta bez gui (bash skript), také vyžadující pouze pravý klik > odeslat , hotovo
  • pro příjem dat slouží dvouvláknový program napsaný v jazyce Python 2 s využitím QT4

Licence?

Kde to je?

  • zájemcům zašlu požadovanou variantu výměnou za pár fotek jejich stroje (nejlépe se souhlasem ke zveřejnění) a třeba krátkou historii mašiny, pokud je zajímavá, nebo nějaký ten servisní manuál, nebo nějaké poznámky k datovým přenosům 📸+📝 > 📧 = 💿

Proč to dělám?

  • proto
  • po republice je spousta strojů
  • počítače z 90’s dosluhují
  • potřeba nahradit (software pro) FreeDos a Win

TODO:  👨‍🔧

ESP8266 PacketMonitor mod to Adafruit library

https://github.com/KiLLAAA/PacketMonitor

Yay, another nice port to have..
Adafruit lib is better for number of reasons..at least for me 😁
– notes: check esp8266 i2c speed setting in your version of the Adafruit library

if there is no setting in your version, like in my old ones, insert these lines into Adafruit_SSD1306.cpp file, into the fuction which does display init ->
void Adafruit_SSD1306::display(void), pick some line above the „// I2C“ comment, or if u dont know..just leave it or google it..
#ifdef ESP8266 // set speed for ESP devices
Wire.setClock(400000L);
#endif

STM32 port of IRremote Arduino Library

I am using IRremote Arduino library for some time and have found that it did not compile  on STM32F103 board because of different timers. I was looking for some port for STM32F1xx and found only one guy who tried to port it, but it was not working for him..
..tried to fix his code with no success..
..so i forked IRremote Arduino library repo and ported it myself 😎

..fork ->  https://github.com/KiLLAAA/Arduino-IRremote

..port thread here -> https://github.com/z3t0/Arduino-IRremote/issues/390

enjoy! 🕶

Omnitronic turntable transformer replacement

Friend brought his turntable not working.. It was old Omnitronic DD-2250 poor thing, no reasonable spare parts available, of course..🎉 Problem was broken wire of primary coil in mains transformer..♻🆗🚮
So i replaced the old double secondary transformer with single secondary toroidal one(~10€), plus DC-DC supply with LM2596(<2€).. 🆒
The switching-mode power supply is adjusted @ 15V DC and connected just where the original AC wires were plugged, counting with voltage drops on rectifying diodes and stabilizer LM7812.. Reason was to modify as little as possible to keep things simple..
I was shocked by tremendous 400mA current when i stopped the motor with two fingers..😂😂😂😂😂🤣
Normal spinning took only 80mA, its so greeeeenNNN!!!✅♿ 🤣
(measures were done DC powered @ 29.5V and 15V)
Update: Its still working after half of year..💪🎶🔊

Arduino SPI RAM II

Hello there!

KiLLA’s got some new stuff to share 😉

I have plans to use most of these ICs @ 12MHz SPI so i made proper shield instead of breadboard because some guy found it too noisy to work properly that way(link at bottom).
The shield is drilled a bit off axis as i did make it fast with 550W handheld drill 😛

First tests with built in libraries reach sort of low speeds, probably due to latency growing with bus speed, getting ~20kB/s with byte transfer for both writing and reading @ 12MHz and ~50kB/s for 4MHz SPI 🙄

SRAM ICs:
23LCV512-I/P 64kx8bit SRAM 20MHz SPI – TESTED WORKING up to 12MHz
IP12B256I-TU 32kx8bit SRAM 20MHz SPI
IP12B512C-TU 64kx8bit SRAM 20MHz SPI

todo:
# do some more tests..speed!!!
# find fastest library or make own, this guy juiced off ~120kB/s

usefull info:

the noisy guy:
https://dave.cheney.net/2014/01/25/avr11-building-an-spi-sram-shield-for-an-arduino-mega

microchip 23xx spi pinout:
Serial NVSRAM Circuit Diagram

Simplest SRAM library i found:
https://github.com/panStamp/sram

SRAM library:
https://github.com/SV-Zanshin/MicrochipSRAM/blob/master/MicrochipSRAM.cpp

This library example compiles, but throws errors on serial monitor running on Arduino:
https://github.com/MattairTech/SRAM_23LC