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.
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.
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)
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
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.
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
.
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).