@MinDoc(copyright="Copyright 2021 A. Weinert", author="Albrecht Weinert", version="V.41", lastModified="23.04.2021", usage="start as Java application (-? for help)", purpose="a Frame4J program to blink LEDs on a Pi via pigpioD") public class TestOnPi extends App implements PiUtil, TestOnPiMBean
A fifth program for Raspberry's GPIO pins Rev. 41 23.04.2021 Copyright (c) 2019 Albrecht Weinert
weinert-automation.de a-weinert.de It uses two/three pins as output assuming two LEDs connected to as H=on Pi 1 / Pi 3 Pin GPIO17/ 17 : red 11 GPIO21/ 27 : green 13 GPIO25 : yellow 22 (since Revision 45) This program forces application singleton and may be used as service. Its functions are the same as rdGnBlinkBlink (even sharing the lockFile) except for using the pigpioD library. Our makefiles define MCU and PLATFORM as make variables and macros. So we could make the GPIO pin and address assignment automatically in the C programmes. (End of original C comment excerpt)
ThePi
object either by a Pi3
(for Pi0, 3 and 4) or
Pi1
interface's inner class.TestOnPiMBean
PiUtil.Impl, PiUtil.LeTick
Modifier and Type | Field and Description |
---|---|
String |
argHost |
int |
argPiType |
int |
argPort |
int |
argTimeout |
int |
ledGNpin
The LEDs to blink.
|
int |
ledRDpin
The LEDs to blink.
|
int |
ledYEpin
The LEDs to blink.
|
ano, appBase, appIO, appStartTime, appStartTimeMS, args, bgColor, err, fullClassName, help, icon, log, mainThread, myClass, myFrame, name, out, outMode, packName, prop, retCode, runFlag, shortClassName, title, verbose, verbosity
ERR_ASSIGN_PIN, ERR_CLOSE_WDOG, ERR_NoGPIOLOCK, ERR_NoLOCKFILE, ERR_NoLOCKPROC, ERR_NOT_LOCKED, ERR_OPEN_W_DOG, ERR_PIGPIOD_CON, lckPiGpioPth, lckWinGpioPth
GPIO_INP, GPIO_OUT, GPIOmax, GPIOmin, GPIOutM, H1, HI, L0, LO, PI_PUD_DOWN, PI_PUD_DT, PI_PUD_KP, PI_PUD_OFF, PI_PUD_UP, PIN0, PIN00, PIN01, PIN02, PIN04, PIN06, PIN09, PIN0V, PIN1, PIN14, PIN17, PIN2, PIN20, PIN25, PIN3V, PIN4, PIN5V, PIN6, PIN9, PINig, PINix, PIO_ALT0, PIO_ALT1, PIO_ALT2, PIO_ALT3, PIO_ALT4, PIO_ALT5
AUTHOR, BLANK_STRING, cons, CONSOL_ENCODING, COPYRIGHT, D, D_NaN, D_NegInf, D_PosInf, EMPTY_INT_A, EMPTY_STRING, FILE_ENCODING, FRW_CLLD, FS, FSS, H, hasCons, HOST_IP, HOST_IPv4, HOST_NAME, INIT_ERROR, JAR_ENCODING, JH, JOB_DONE_OK, JRL, LOG_OUT_ERROR, M, MAIN_THREAD_EXC, NO_BYTES, NO_CLASSES, NO_DOUBLES, NO_OBJECTS, NO_PARS_ERROR, NO_STRINGS, NOT_WINDOWS, ON_PI, ONE_DAY, ONE_HOUR, ONE_LEAP_YEAR, ONE_MINUTE, ONE_SECOND, ONE_WEEK, ONE_YEAR, OS, PROG_NAME, PROG_SHORT, PS, RUNTIME, S, UD, UL, UL_UR_da, UR, WEB_START_VERS
ILLEGAL_TYPE, ILLEGAL_VALUE, NO_ATTRIBUTE, NO_KNOWN_ATTRIBUTE, NO_VALUE, OK, retVtext
Constructor and Description |
---|
TestOnPi() |
Modifier and Type | Method and Description |
---|---|
int |
doIt()
The application's work.
|
Integer |
getCycCount()
See the number of cycles.
|
Boolean |
getLEDgn()
The state of the green LED(s).
|
Boolean |
getLEDrd()
The state of the red LED(s).
|
Boolean |
getLEDye()
The state of the yellow LED(s).
|
Integer |
getPiType()
Get the Pi type.
|
static void |
main(String[] args)
The application start.
|
boolean |
parsePartial()
Partial evaluation of start parameters by Prop.
|
void |
resetCycCount()
Reset the number of cycles counter.
|
void |
setCycCount(Integer cycCount)
Set the number of cycles.
|
actionPerformed, allowNoPropertiesFile, clientOrder, condHelpLog, connect, errMeld, errMeld, errorExit, errorExit, errorText, formMessage, formMessage, formMessage, getAbout, getAboutText, getActTime, getAppLogger, getAppStartTime, getArgs, getAuthor, getCopyright, getDbLogger, getExecTimeMs, getExecTimeMsL, getExecTimeString, getHelp, getHelpText, getIcon, getLanguage, getLogHandler, getMessageComponent, getMessageComponentsLength, getMyFrame, getName, getNameWithVersDate, getOutMode, getProp, getPurpose, getStartTime, getStateString, getTheCloser, getTitle, getUsage, getVerbose, getVerbosity, getVersDate, getXMLinput, go, go, go, haveIcon, isDebug, isHelp, isHelpLog, isNormal, isRunFlag, isSilent, isTest, isVerbose, logVerbose, logVerbose, makeStatusTextEnd, makeStatusTextStart, messageFormat, normalExit, performeAction, queueAction, regAsStdMBean, repExc, setAboutText, setAttribute, setAttribute, setAuthor, setBgColor, setCodePages, setCopyright, setHelp, setLogOut2, setName, setOutMode, setOutMode, setPurpose, setTitle, setUsage, setVerbose, setVerbose, setVerbosity, setVerbosity, setVersDate, stop, threeLineEndMsg, toString, twoLineEndMsg, twoLineStartMsg, valueLang, valueLang, wakeMainThread
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
closeLock, closeWatchdog, eightDigitHex, errorText, getCycCnt, getLastExcept, getLastExcMess, getLastLockFN, getOut, getOvrCnt, getUseLock, openLock, openLockPi, openWatchdog, regAsStdMBean, repExc, setUseLock, systemExit, thrDelay, triggerWatchdog, twoDigitDec
isWebStart
getActTime, getArgs, getCopyright, getExecTimeMsL, getLanguage, getName, getPurpose, getStartTime, getVerbose, getVersDate, stop
retVtext
public int ledRDpin
public int ledYEpin
public int ledGNpin
public int argPiType
public int argPort
public int argTimeout
public String argHost
public final boolean parsePartial()
App
Prop
object shall
evaluate and check the start parameters (see App.args
) only
partially. For the meaning of "partial evaluation" please see
Prop#parse(String[],CharSequence,boolean)
Prop.parse(String[], CharSequence, boolean)
.Prop
is a
fixed property of an application classes extending App must override this
method finally this methods default behaviour is not wanted.parsePartial
in class App
App.App(String[])
public Integer getCycCount()
BlinkOnPiMBean
getCycCount
in interface BlinkOnPiMBean
BlinkOnPiMBean.resetCycCount()
public void setCycCount(Integer cycCount)
BlinkOnPiMBean
setCycCount
in interface BlinkOnPiMBean
public void resetCycCount()
BlinkOnPiMBean
resetCycCount
in interface BlinkOnPiMBean
BlinkOnPiMBean.getCycCount()
public Boolean getLEDye()
BlinkOnPiMBean
getLEDye
in interface BlinkOnPiMBean
public Boolean getLEDgn()
BlinkOnPiMBean
getLEDgn
in interface BlinkOnPiMBean
public Boolean getLEDrd()
BlinkOnPiMBean
getLEDrd
in interface BlinkOnPiMBean
public Integer getPiType()
BlinkOnPiMBean
getPiType
in interface BlinkOnPiMBean
public static void main(String[] args)
doIt()
).
Can be stopped by signal (cntlC), kill command and the like, as well as
by an MBean client, like e.g. JConsole, by operation App.stop()
.
Run by java TestOnPi [host [port]] [-option [-option ....-north 29 31 33; -east 36 38 40; -south 11 13 15; -west 16 18 22;
-LEDefault 11 22 13
-pi0 -pi1 -pi3 -pi4
(0, 1, 3 and 4 map to 3, the default)args
- start parameters.public int doIt()
doIt
in class App
Prop
,
App.go(String[])
,
App.go(String[], String, CharSequence)
,
App.mainThread