bmgen.targets.bm package#

Subpackages#

Submodules#

bmgen.targets.bm.ast module#

class bmgen.targets.bm.ast.BMAction#

Bases: BMNode

toText()#
class bmgen.targets.bm.ast.BMArray(name: str, arraynum: int, arraysize: int)#

Bases: BMVariable

arraynum: int#
arraysize: int#
class bmgen.targets.bm.ast.BMAssignment(numvalue: bmgen.targets.bm.ast.BMNumValue, variable: bmgen.targets.bm.ast.compare.<locals>.c2)#

Bases: BMValue

numvalue: BMNumValue#
toText()#
variable: c2#
class bmgen.targets.bm.ast.BMChannel(name: str)#

Bases: c2

class bmgen.targets.bm.ast.BMChannelDynamic(f: Callable[[], str])#

Bases: c2

f: Callable[[], str]#
property name: str#
class bmgen.targets.bm.ast.BMComment(text: str)#

Bases: BMLine

text: str#
toSql(programID, stepnumber)#
toTable()#
toText()#
class bmgen.targets.bm.ast.BMCycleCount(numvalue: bmgen.targets.bm.ast.BMNumValue)#

Bases: BMValue

numvalue: BMNumValue#
toText()#
class bmgen.targets.bm.ast.BMError(errnum: int)#

Bases: BMAction

errnum: int#
toText()#
class bmgen.targets.bm.ast.BMGoto(label: str)#

Bases: BMAction

label: str#
toText()#
class bmgen.targets.bm.ast.BMLabel(label: str)#

Bases: BMValue

label: str#
toText()#
class bmgen.targets.bm.ast.BMLimit(condition: bmgen.targets.bm.ast.BMLimitCondition, action: bmgen.targets.bm.ast.BMAction | None = None)#

Bases: BMNode

action: BMAction | None = None#
condition: BMLimitCondition#
toReadable()#
toSql()#
toTable()#
toText()#
class bmgen.targets.bm.ast.BMLimitAnd(lhs: bmgen.targets.bm.ast.BMLimitCondition, rhs: bmgen.targets.bm.ast.BMLimitCondition)#

Bases: BMLimitCondition

lhs: BMLimitCondition#
rhs: BMLimitCondition#
toReadable()#
toSql()#
toTable()#
toText()#
class bmgen.targets.bm.ast.BMLimitCompare(lhs: bmgen.targets.bm.ast.BMNumValue, rhs: bmgen.targets.bm.ast.BMNumValue, operator: str)#

Bases: BMLimitCondition

lhs: BMNumValue#
operator: str#
rhs: BMNumValue#
toText()#
class bmgen.targets.bm.ast.BMLimitCondition#

Bases: BMNode

toSql()#
toText()#
class bmgen.targets.bm.ast.BMLimitTime(time: bmgen.targets.bm.ast.BMTime)#

Bases: BMLimitCondition

time: BMTime#
toText()#
class bmgen.targets.bm.ast.BMLine#

Bases: BMNode

class bmgen.targets.bm.ast.BMMessage(errnum: int)#

Bases: BMAction

errnum: int#
toText()#
class bmgen.targets.bm.ast.BMMultiplication(numvalue: bmgen.targets.bm.ast.BMNumValue, channel: bmgen.targets.bm.ast.compare.<locals>.c2)#

Bases: BMValue

channel: c2#
numvalue: BMNumValue#
toText()#
class bmgen.targets.bm.ast.BMNamedValue(name: str)#

Bases: BMNamedValue

class bmgen.targets.bm.ast.BMNode#

Bases: object

toSql()#
toTable()#
toText()#
class bmgen.targets.bm.ast.BMNumValue#

Bases: BMValue

toText()#
class bmgen.targets.bm.ast.BMNumber(value: float)#

Bases: BMNumValue

toText()#
value: float#
class bmgen.targets.bm.ast.BMProgram(lines: List[bmgen.targets.bm.ast.BMLine] = <factory>)#

Bases: BMNode

lines: List[BMLine]#
toSql(programName)#
toTable()#
toText()#
class bmgen.targets.bm.ast.BMRegCondition(value: bmgen.targets.bm.ast.BMNumber, channel: bmgen.targets.bm.ast.compare.<locals>.c2)#

Bases: BMRegistration

channel: c2#
toText()#
value: BMNumber#
class bmgen.targets.bm.ast.BMRegFormat(name: str)#

Bases: BMRegistration

name: str#
toText()#
class bmgen.targets.bm.ast.BMRegistration#

Bases: BMNode

class bmgen.targets.bm.ast.BMStatement(operator: str, values: List[bmgen.targets.bm.ast.BMValue] = <factory>, limits: List[bmgen.targets.bm.ast.BMLimit] = <factory>, registrations: List[bmgen.targets.bm.ast.BMRegistration] = <factory>, label: str | None = None)#

Bases: BMLine

label: str | None = None#
limits: List[BMLimit]#
operator: str#
registrations: List[BMRegistration]#
toSql(programID, stepnumber)#
toTable(linenumber)#
toText(linenumber)#
values: List[BMValue]#
class bmgen.targets.bm.ast.BMTime(value: bmgen.targets.bm.ast.BMNumValue, unit: str, operator: str | None = None)#

Bases: object

operator: str | None = None#
toText()#
unit: str#
value: BMNumValue#
class bmgen.targets.bm.ast.BMTwoValues(first: bmgen.targets.bm.ast.BMNumValue, second: bmgen.targets.bm.ast.BMNumValue)#

Bases: BMValue

first: BMNumValue#
second: BMNumValue#
toText()#
class bmgen.targets.bm.ast.BMValue#

Bases: BMNode

toText()#
class bmgen.targets.bm.ast.BMVariable(name: str)#

Bases: c2

bmgen.targets.bm.battery module#

bmgen.targets.bm.channel module#

bmgen.targets.bm.channel.channel(name: str) BMChannel#

bmgen.targets.bm.ctrl module#

class bmgen.targets.bm.ctrl.ctrl_else#

Bases: object

bmgen.targets.bm.ctrl.ctrl_for(iterable, body, var, g, l)#
class bmgen.targets.bm.ctrl.ctrl_if(condition: BMLimitCondition, hasElse: bool = False)#

Bases: object

bmgen.targets.bm.function module#

class bmgen.targets.bm.function.BMRange(start: bmgen.targets.bm.ast.BMNumValue | int, stop: bmgen.targets.bm.ast.BMNumValue | int, step: bmgen.targets.bm.ast.BMNumValue | int)#

Bases: object

start: BMNumValue | int#
step: BMNumValue | int#
stop: BMNumValue | int#
to_python_range() range#
bmgen.targets.bm.function.charge(current: BMNumValue | BMMultiplication, voltage: BMNumValue | None = None, limits: List[BMLimit] | None = None, registrations: List[BMRegistration] | None = None) BMStepInfo#
bmgen.targets.bm.function.discharge(current: BMNumValue | BMMultiplication, voltage: BMNumValue | None = None, limits: List[BMLimit] | None = None, registrations: List[BMRegistration] | None = None) BMStepInfo#
bmgen.targets.bm.function.error(errnum: int)#
bmgen.targets.bm.function.hours(value: BMNumValue) time#
bmgen.targets.bm.function.limit(condition: BMLimitCondition, action: BMAction | None = None)#
bmgen.targets.bm.function.limit_global(condition: BMLimitCondition, action: BMAction | None = None)#
bmgen.targets.bm.function.message(errnum: int)#
bmgen.targets.bm.function.minutes(value: BMNumValue) time#
bmgen.targets.bm.function.pause(limits: List[BMLimit] | None = None, hours: BMNumValue | None = None, minutes: BMNumValue | None = None, seconds: BMNumValue | None = None, registrations: List[BMRegistration] | None = None) BMStepInfo#
bmgen.targets.bm.function.range(start, stop=None, step=1)#
bmgen.targets.bm.function.register(time: time | None = None, voltage: float | None = None, current: float | None = None, format: List | None = None)#
bmgen.targets.bm.function.register_global(time: time | None = None, voltage: float | None = None, current: float | None = None, format: List | None = None)#
bmgen.targets.bm.function.seconds(value: BMNumValue) time#
bmgen.targets.bm.function.time(hours: BMNumValue | None = None, minutes: BMNumValue | None = None, seconds: BMNumValue | None = None) time#

bmgen.targets.bm.program module#

bmgen.targets.bm.program.variable(name: str, value: BMNumValue | List[BMNumValue] | None = None)#

bmgen.targets.bm.stepinfo module#

class bmgen.targets.bm.stepinfo.BMStepInfo(step: bmgen.targets.bm.ast.BMStatement, varname: str, chargeVar: bmgen.targets.bm.ast.BMVariable | None = None)#

Bases: object

property charge#
chargeVar: BMVariable | None = None#
step: BMStatement#
varname: str#

bmgen.targets.bm.time module#

class bmgen.targets.bm.time.time(hours: ForwardRef('ast.BMNumValue') | None = None, minutes: ForwardRef('ast.BMNumValue') | None = None, seconds: ForwardRef('ast.BMNumValue') | None = None)#

Bases: object

hours: BMNumValue | None = None#
minutes: BMNumValue | None = None#
seconds: BMNumValue | None = None#
toBMTime() BMTime#
toLimit() BMLimit#

bmgen.targets.bm.transformer module#

class bmgen.targets.bm.transformer.Transformer(*args, **kwargs)#

Bases: Transformer

visit_For(node)#
visit_If(node)#

Module contents#

bmgen.targets.bm.generator: BMGenerator#