m4api
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
m4api 🇬🇧 ist ein Programm (CLI und API) für die Überwachung und die Konfiguration des Mini-Box M4-ATX-Netzteils 🇬🇧. Dieses 250W DC-DC Breiteingangsbereichs-(6-30V)-ATX-Netzteil besitzt einen Mikrocontroller, der über USB mit dem Computer verbunden werden kann. Damit können die Temperatur und einige Spannungswerte ausgelesen werden. Außerdem können über die USB-Verbindung einzelne Einstellungen des Mikrocontrollers im Netzteil auf das Einsatzgebiet (z.B.Car-PC, Tischnetzteil, verschiedene Batterietypen) angepasst werden.
Hinweis!
Fremdsoftware kann das System gefährden.
Anmerkung: Dieses Programm ist nur für Originalgerätehersteller oder fortgeschrittene Benutzer gedacht. Mini-Box.com und der Autor dieses Programms haftet nicht für etwaige Schäden an dem Netzteil oder weiteren Computerteilen, die durch die Benutzung dieses Programms entstehen. (M4-ATX-Einstellungen können verändert werden)
Benötigte Pakete¶
m4api benötigt einen C-Compiler und die libusb-dev 0.1.x zum Kompilieren. Außerdem kann noch das git-core-Paket installiert[1] werden, wenn der Quellcode darüber bezogen wird.
build-essential
git-core (main)
libusb-dev ()
Befehl zum Installieren der Pakete:
sudo apt-get install build-essential git-core libusb-dev
Oder mit apturl installieren, Link: apt://build-essential,git-core,libusb-dev
Vorbereitung¶
Quellcode des Programms herunterladen¶
Der aktuelle Quellcode wird mittels git
[3] im Terminal[2] heruntergeladen:
git clone git://ram.umd.edu/bits/m4api.git ~/m4api
Alternativ kann der Quellcode von m4api bei mini-box ⮷ bzw. ram.umd.edu ⮷ heruntergeladen werden und dann ins Verzeichnis ~/m4api entpackt[6] werden.
Kompilieren¶
Man startet ein Terminal[2] und wechselt in das Verzeichnis, in dem der Quellcode gespeichert ist und startet make
[5] mit dem gewünschtem Argument:
cd ~/m4api make all
Zur Auswahl stehen all
, m4
, example
und zum Entfernen der kompilierten Programme clean
.
Benutzung¶
Die Initialisierung des Gerätes benötigt Root-Rechte.
Überwachen der Temperatur und Spannungswerte mit m4
:
sudo ./m4 -diag sudo ./m4 -diag loop
Die Ausgabe beinhaltet folgende Werte:
VIN: 13.70 IGN: 0.00 33V: 3.28 5V: 4.94 12V: 12.05 TEMP: +30
VIN
= Eingangsspannung, IGN
= Zündspannung, 33V/5V/12V
= 3,3V/5V/12V Leitungen, TEMP
= Temperatur des Netzteils
Die Ausgabe von m4
mit dem Parameter -diag loop
gibt die fortlaufenden Werte mit einem Zeitstempel aus.
Anzeige aller Einstellungen des Netzteils:
sudo ./m4 -config
M4-ATX-Einstellungen | |||
m4 Argument | Einheit | Option | Erklärung |
IGN_HIGH | V | Ignition HIGH limit | Above this voltage IGN is considered ON |
IGN_LOW | V | Ignition LOW limit | Below this voltage IGN is considered OFF |
IGN_DBC | ms | Ignition debounce | Ignition filter de-bouncing at PSU startup |
PSU_DELAY | sec | Delay before PSU startup | Initial startup delay to avoid re-cranking problems |
VIN_MIN_START | V | Min. VIN voltage at PSU startup | Input voltage STARTUP ZONE threshold [11.24V] |
VIN_MIN_ON | V | Min. VIN voltage while all rails are on | Input voltage RUNNING ZONE threshold [7.02V] |
VIN_MIN_5V | V | Min. VIN voltage while 5VSB is on | Input voltage STOPPING ZONE threshold [11.24V] |
VIN_MAX | V | Max. allowed VIN voltage | Input voltage HIGH SHUTDOWN threshold [29.86V] |
12V_MAX | V | Max. limit for 12V | 12V Rail MAX voltage threshold |
12V_MIN | V | Min. limit for 12V | 12V Rail MIN voltage threshold |
5V_MAX | V | Max. limit for 5V | 5V Rail MAX voltage treshold |
5V_MIN | V | Min. limit for 5V | 5V Rail MIN voltage threshold |
33V_MAX | V | Max. limit for 3.3V | 3.3V Rail MAX voltage threshold |
33V_MIN | V | Min. limit for 3.3V | 3.3V Rail MIN voltage threshold |
12V_TIME | ms | 12V rail startup time | 12V Rail STARTUP time |
33V_TIME | ms | 3.3V rail startup time | 3.3V Rail STARTUP time |
PWRSW | ms | PWRSW 'push-down' time | How long the ON/OFF button is pressed down |
PSU_ON_TIME | tries | Try to turn ON the PSU for N time | Startup RETRY number (try n time to startup the motherboard) |
ON_DELAY | sec | Delay between ON tries | Interval between two adjacent startup retry |
PSU_OFF_TIME | tries | Try to turn OFF the PSU for N time | Shutdown RETRY number (try n time to shutdown the motherboard) |
OFF_DELAY | sec | Delay between OFF tries | Interval between two consecutive shutdown retries |
EMG_TIME_5VSB | sec | Emergency shutdown timer for 5VSB | 5VSB OFF timer (EMERGENCY) in case ON/OFF pulse not detected by motherboard |
EMG_TIMER | sec | Emergency shutdown timer | Rails OFF timer (EMERGENCY) in case ON/OFF pulse not detected by motherboard |
PS_ON_0 | ms | PS ON 0 threshold | PSON 0 stage threshold value |
PS_ON_1 | ms | PS ON 1 threshold | PSON 1 stage threshold value |
THUMP | ms | Thump timeout | THUMP timeout, switching off the audio amplifier during motherboard startup/shutdown |
TEMP_MAX | °C | Max. temperature | Maximum temperature |
TEMP_MIN | °C | Min. temperature | Minimum temperature |
EMG_OFF_MODE | mode | Emergency OFF mode selector | Emergency OFF mode (0 = immediate turn OFF the motherboard, 1 = keep sending ON/OFF pulses to M/B) |
5V_SBY_DLY | ms | 5V standby PSW-on delay | Delay between 5v Standby startup and Power Switch On Pulse |
OFF_DELAY_0 | hh:mm:ss | Off-delay MODE 0 | Rails OFF timer value in MODE 0 (max. 17:59:59 or Never) |
OFF_HARD_0 | hh:mm:ss | Hard-off MODE 0 | 5VSB OFF timer value in MODE 0 (max. 17:59:59 or Never) |
OFF_DELAY_1 | hh:mm:ss | Off-delay MODE 1 | Rails OFF timer value in MODE 1 (max. 17:59:59 or Never) |
OFF_HARD_1 | hh:mm:ss | Hard-off MODE 1 | 5VSB OFF timer value in MODE 1 (max. 17:59:59 or Never) |
OFF_DELAY_2 | hh:mm:ss | Off-delay MODE 2 | Rails OFF timer value in MODE 2 (max. 17:59:59 or Never) |
OFF_HARD_2 | hh:mm:ss | Hard-off MODE 2 | 5VSB OFF timer value in MODE 2 (max. 17:59:59 or Never) |
OFF_DELAY_3 | hh:mm:ss | Off-delay MODE 3 | Rails OFF timer value in MODE 3 (max. 17:59:59 or Never) |
OFF_HARD_3 | hh:mm:ss | Hard-off MODE 3 | 5VSB OFF timer value in MODE 3 (max. 17:59:59 or Never) |
OFF_DELAY_4 | hh:mm:ss | Off-delay MODE 4 | Rails OFF timer value in MODE 4 (max. 17:59:59 or Never) |
OFF_HARD_4 | hh:mm:ss | Hard-off MODE 4 | 5VSB OFF timer value in MODE 4 (max. 17:59:59 or Never) |
OFF_DELAY_5 | hh:mm:ss | Off-delay MODE 5 | Rails OFF timer value in MODE 5 (max. 17:59:59 or Never) |
OFF_HARD_5 | hh:mm:ss | Hard-off MODE 5 | 5VSB OFF timer value in MODE 5 (max. 17:59:59 or Never) |
OFF_DELAY_6 | hh:mm:ss | Off-delay MODE 6 | Rails OFF timer value in MODE 6 (max. 17:59:59 or Never) |
OFF_HARD_6 | hh:mm:ss | Hard-off MODE 6 | 5VSB OFF timer value in MODE 6 (max. 17:59:59 or Never) |
OFF_DELAY_7 | hh:mm:ss | Off-delay MODE 7 | Rails OFF timer value in MODE 7 (max. 17:59:59 or Never) |
OFF_HARD_7 | hh:mm:ss | Hard-off MODE 7 | 5VSB OFF timer value in MODE 7 (max. 17:59:59 or Never) |
RESET | Reset to factory defaults | Reset all settings to factory defaults (results visible only on next restart of the M4Atx) |
Zum Überprüfen bzw. Setzen einzelner Argumente (auf eigene Gefahr):
sudo ./m4 -config VIN_MIN_ON sudo ./m4 -config VIN_MIN_ON 9.55
Bei der Kompilierung mittels make all
wird im Verzeichnis ~/m4api das Skript example
erstellt.
Bitte beachten: Bei der Ausführung des Beispiels werden die Werte VIN_MIN_ON auf 10 gesetzt und IGN_DBC um 10 erhöht (Werte aus example.c).
Links¶