Archiv/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:

  1. ⚓︎ Installation von Programmen

  2. ⚓︎ Ein Terminal öffnen

  3. ⚓︎ Umgang mit Git

  4. ⚓︎ Root-Rechte

  5. ⚓︎ Pakete aus dem Quellcode erstellen

  6. ⚓︎ Archive entpacken

Inhaltsverzeichnis
  1. Benötigte Pakete
  2. Vorbereitung
    1. Quellcode des Programms herunterladen
  3. Kompilieren
  4. Benutzung
  5. Links

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.

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