Category Archives: Uncategorized

Arduino/AVR Atomic Instruction / Mutex / Semaphore

Arduino\hardware\arduino\avr\cores\arduino\Arduino.h
sei()  ==> interrupts()
cli()  ==> noInterrupts()

oder über das Macro:

ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
{
  // Do some atomic operation inside here
}

avr-libc

avr/interrupt.h: Interrupts
util/atomic.h: Atomically and Non-Atomically Executed Code Blocks

Arduino

attachInterrupt()
noInterrupts()
interrupts()
ow to “Multithread” an Arduino (Protothreading Tutorial)

Portable

github.com/wizard97/SimplyAtomic: Simple Arduino portable atomic macros (Portable: AVR, ARM, ESP8266, ESP32)

learn.adafruit.com

Multi-tasking the Arduino – Part 1
Multi-tasking the Arduino – Part 2
Multi-tasking the Arduino – Part 3

Questions

Do interrupts interrupt other interrupts on Arduino?

occam-pi

occam-pi in a nutshell
occam (programming language), concurrent programming language that builds on the communicating sequential processes (CSP) process algebra
concurrency.cc – Parallel programming for the rest of us

KiCAD Python Console

cd /c/Users/bachman0/Documents/ZHAW_Module/PA/kicad/python/svg2mod
python svg2mod.py -i ../../images/PA17_bmat_6_V1.svg -o test1 --format pretty
Parsing SVG...
No handler for element {http://www.w3.org/2000/svg}defs
No handler for element {http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd}namedview
No handler for element {http://www.w3.org/2000/svg}metadata
transform: translate [0.0, -295.7]
transform: translate [-2.0552455, 280.43471]
Writing module file: test1.kicad_mod

sys.path.append('');
os.chdir('');

sys.argv = ['arg1', 'arg2']
execfile('');

subprocess.call(['./abc.py', arg1, arg2])

# 
execfile('C:\Users\bachman0\Documents\ZHAW_Module\PA\kicad\python\test1.py')
# Traceback (most recent call last):
#   File "<input>", line 1, in <module>
# IOError: [Errno 2] No such file or directory: 'C:\\Users\x08achman0\\Documents\\ZHAW_Module\\PA\\kicad\\python\test1.py'

execfile('C:Users/bachman0/Documents/ZHAW_Module/PA/kicad/python/test1.py')
# Traceback (most recent call last):
#   File "<input>", line 1, in <module>
# IOError: [Errno 2] No such file or directory: 'C:Users/bachman0/Documents/ZHAW_Module/PA/kicad/python/test1.py'

print sys.path
# ['C:\\Program Files\\KiCad\\lib\\python27.zip', 'C:\\Program Files\\KiCad\\lib\\python2.7', 'C:\\Program Files\\KiCad\\lib\\python2.7\\plat-win32', 'C:\\Program
# Files\\KiCad\\lib\\python2.7\\lib-tk', 'C:\\Program Files\\KiCad\\lib\\python2.7\\lib-old', 'C:\\Program Files\\KiCad\\lib\\python2.7\\lib-dynload', 'C:\\building
# \\msys64\\mingw64', 'C:\\Program Files\\KiCad\\lib\\python2.7\\site-packages', 'C:\\Program Files\\KiCad\\lib\\python2.7\\site-packages\\wx-3.0-msw', '.', 
# 'C:/Program Files/KiCad/bin/../share/kicad/scripting/plugins']

execfile('C:/Users/bachman0/Documents/ZHAW_Module/PA/kicad/python/test1.py')
# 0 F.Cu
# [...]

# ex.

import sys
sys.path.append("/home/user/path/to/kicad-python/")
execfile("/home/user/path/to/kicad-python/examples/pcbannotate.py")

os.chdir('C:/Users/bachman0/Documents/ZHAW_Module/PA/kicad/python/svg2mod/')
execfile('svg2mod.py')

subprocess.call(['svg2mod.py', '-h'])
# Traceback (most recent call last):
#   File "<input>", line 1, in <module>
#   File "C:\Program Files\KiCad\lib\python2.7/subprocess.py", line 169, in call
#     return Popen(*popenargs, **kwargs).wait()
#   File "C:\Program Files\KiCad\lib\python2.7/subprocess.py", line 321, in __init__
#     errread, errwrite)
#   File "C:\Program Files\KiCad\lib\python2.7/subprocess.py", line 571, in _execute_child
#     startupinfo)
# WindowsError: [Error 193] %1 ist keine zulässige Win32-Anwendung

print sys.executable
# C:/Program Files/KiCad/bin/kicad.exe

subprocess.call([sys.executable, 'svg2mod.py', '-h'])
# not a good idea

subprocess.call(['python', 'svg2mod.py', '-h'])
# not a good idea

KiCad PCB EDA Suite – Python Plugin Development for Pcbnew

Welcome to KiCad Python API’s documentation!

KiCAD on OS X – How to use python scripts? [solved]

Kicad Scripting Table of Contents
The basics of scripting in pcbnew
modifying pcbnew layout from python

Scripts

github.com/KiCad/kicad-library-utils: KiCad utilities
PCB back annotation in KiCAD with Python

802.1X Authentifizierung in Rechnernetzen

Wikipedia: IEEE 802.1X

Windows

802.1x Authentifizierung am kabelgebundenen Netz

Linux

802.1X Port-Based Authentication HOWTO
Mit IEEE 802.1X und Zertifikaten Network Access Control implementieren
How can I quickly set up a lab with 802.1x wired authentication? (without a switch)

Console

Network802.1xAuthentication

Network Manager

How to configure wired 802.1X for Linux with Network Manager

Raspberry PI

802.1x Authentication on Wired Ethernet on Raspbian
connecting to 802.1x network

DSV1

Basisband
Grenzfrequenz
Unterabtastung
Frequenzspektrum
Gleichwert, Gleichanteil, DC-Wert, DC-Komponente

Fourierreihe
Fourier-Analysis (Weitergeleitet von Fourierspektrum)
Fourier-Transformation
Diskrete Fourier-Transformation (DFT)
Fouriertransformation für zeitdiskrete Signale (DTFT)
Fast Fourier transform (FFT)

Gruppenlaufzeit
Filter mit endlicher Impulsantwort
Filter mit unendlicher Impulsantwort

Downloading the System Workbench for STM32 installer

Zeitdiskretes Signal
Abtastrate fs in [Samples / s], oder Abtastfrequenz [Hz]

Impulsantwort
Übertragungsfunktion
Digitale Signalverarbeitung

Regelung

  • Steuerung
  • Strecke
  • Anregungsfunktion => Sprung, Rampe, Rechteckimpuls, Dirac-Impuls
  • Systemantwort

YouTube

Christian Münker

DSP auf FPGAs: Kap. 1-1 Grundelemente von zeitdiskreten Systemen

Jörg J. Buchholz

1.3 Spezielle Anregungsfunktionen und Systemantworten