opbt Device
Module structure
class device:
def SetOutputMode(self,mode: int) -> int: ...
def GetOutputMode(self) -> int: ...
def UartConfig(self, baudrate: int, parity: str, DataBit: int, StopBit: int): ...
def TransparentModeOn(self): ...
def TransparentModeOff(self): ...
def IecAutoOn(self): ...
def IecAutoOff(self): ...
def UartSendByte(self, ch: int): ...
def UartGetByte(self) -> int: ...
def UartSendString(self, buf: str, len: int): ...
def UartSendStringNoWait(self, buf: str, len: int): ...
def LedSet(self, leds: int, mode: int): ...
def LedBlink(self, leds: int, cnt: int, duty: int, time:int): ...
def GetKeyStatus(self) -> int: ...
def TmosSystemProcess(self): ...
def LcdClear(self): ...
def LcdTextColor(self,fc: int,bc: int): ...
def LcdTextXY(self, x: int,y:int): ...
def LcdPrint(self,str_p: str): ...
def LcdFill(self, xsta: int,ysta: int,xend: int,yend: int,color: int): ...
More functions are being updated continuously…
opbt.device.SetOutputMode()
Overview
Sets the output device for script display. The output method must be set before running the program, similar to how the print function outputs.
Syntax
opbt.device.SetOutputMode(mode)
Parameters
- mode : Integer, between 0 and 3 that indicates the output device for information in the script.
- 0 : Automatically select the default output device
- 1 : Bluetooth device
- 2 : Optical head device
- 3 : Lcd Screen
Return
Returns the current set value (0-3).
Sample
Display “Hello World!” on the LCD screen.
>>> opbt.device.SetOutputMode(3)
>>> print("Hello World!")
opbt.device.GetOutputMode()
Overview
Gets the current output device for display.
Syntax
opbt.device.GetOutputMode()
Parameters
None
Return
- Return integer, between 0 and 3 that indicates the output device for information in the script.
- 0 : Automatically select the default output device
- 1 : Bluetooth device
- 2 : Optical head device
- 3 : Lcd Screen
Sample
>>> a=opbt.device.GetOutputMode()
>>> print("OutputDevice=",a)
OutputDevice= 0
opbt.device.TransparentModeOn()
Overview
Sets the OPBT device to enter transparent transmission mode.
Syntax
opbt.device.TransparentModeOn()
Parameters
None
Return
No return value.
Sample
>>> opbt.device.TransparentModeOn()
opbt.device.TransparentModeOff()
Overview
Set the OPBT device to exit transparent transmission mode.
Syntax
opbt.device.TransparentModeOff()
Parameters
None
Return
No return value.
Sample
>>> opbt.device.TransparentModeOff()
opbt.device.IecAutoOn()
Overview
Set the OPBT device to enter the IEC automatic baud rate switching mode, supporting modes C and E of IEC65026-21.
Syntax
opbt.device.IecAutoOn()
Parameters
None
Return
No return value.
Sample
>>> opbt.device.IecAutoOn()
opbt.device.IecAutoOff()
Overview
Set the OPBT device to exit the IEC automatic baud rate switching mode.
Syntax
opbt.device.IecAutoOff()
Parameters
None
Return
No return value.
Sample
>>> opbt.device.IecAutoOff()
opbt.device.UartConfig()
Overview
Set the serial communication parameters for the optical head.
Syntax
UartConfig(baudrate,parity,databit,stopbit)
Parameters
- baudrate : intger, Baud rate value from 300 to 57600. -Typical values��300,600,1200,2400,4800,9600,19200,38400,57600 etc.
- parity : string, Parity value.
- “N” : None (no parity)
- “E” : Even (even parity)
- “O” : Odd (odd parity)
- Defaults to no parity.
- databit : intger, Data bit length (5-8).
- 5 : 5 data bits
- 6 : 6 data bits
- 7 : 7 data bits
- 8 : 8 data bits
- Defaults to 8 data bits.
- stopbit : intger,Stop bits (1-2).
- 1 : 1 stop bit
- 2 : 2 stop bits
- Defaults to 1 stop bit.
Return
No return value.
Sample
Set the serial port baud rate to 9600 bps, no parity, data bit length to 8, and stop bit to 1.
>>> opbt.device.UartConfig(9600,"N",8,1)
opbt.device.UartSendByte()
Overview
Sends a single byte of data using the configured serial parameters.
Syntax
opbt.device.UartSendByte(ch)
Parameters
- ch : intger�� the byte code of the data to be sent.
Return
No return value.
Sample
Send the data “123” .
>>> opbt.device.UartConfig(9600,"N",8,1)
>>> opbt.device.UartSendByte(49)
>>> opbt.device.UartSendByte(50)
>>> opbt.device.UartSendByte(51)
opbt.device.UartGetByte()
Overview
Retrieves a single byte of data from the serial port.
Syntax
opbt.device.UartGetByte()
Parameters
None
Return
- Returns an integer value:
- -1 : No data received
- Other values: Byte code
Sample
>>> opbt.device.UartConfig(9600,"N",8,1)
>>> ch=opbt.device.UartGetByte()
>>> print(ch)
-1
opbt.device.UartSendString()
Overview
Sends a specified length of string data using the configured serial parameters and waits until the last data is sent before returning.
Syntax
opbt.device.UartSendString(string,length)
Parameters
- string : String, the data to be sent.
- length : Integer, the length of the data to be sent.
Return
No return value.
Sample
Send the data “123”:
>>> opbt.device.UartConfig(9600,"N",8,1)
>>> opbt.device.UartSendString("123",3)
opbt.device.UartSendStringNoWait()
Overview
Sends a specified length of string data using the configured serial parameters, returning immediately after the data is sent. If the serial parameters are changed at this time, it may corrupt the previously buffered data that has not yet been sent.
Syntax
opbt.device.UartSendStringNoWait(string,length)
Parameters
- string : String, the data to be sent.
- length : Integer, the length of the data to be sent.
Return
No return value.
Sample
Send the data “123”:
>>> opbt.device.UartConfig(9600,"N",8,1)
>>> opbt.device.UartSendStringNoWait("123",3)
opbt.device.LedSet()
Overview
Turn ON/OFF/TOGGLE given LEDs
Syntax
opbt.device.LedSet(leds,mode)
Parameters
- leds : intger, bit mask value of leds to be turned ON/OFF/TOGGLE
- 0x01 : Green indicator light on the left side of the screen
- 0x02 : Red indicator light on the left side of the screen
- 0x04 : Blue indicator light on the left side of the screen
- 0x08 : Green indicator light on the right side of the screen
- 0x10 : Red indicator light on the right side of the screen
- 0x20 : Blue indicator light on the right side of the screen
- 0x40 : Flashlight
- mode : integer ,TOGGLE, ON, OFF
- 0 : Off
- 1 : On
- 2 : blink equivalent to ledBlink(leds,1,5,1000)
- 4 : flash equivalent to ledBlink(leds,50,5,1000)
- 8 : toggle
Return
No return value.
Sample
Turn on the red indicator light on the left and the blue indicator light on the right.
>>> opbt.device.LedSet(0xff,0) # First, turn off all indicator lights
>>> opbt.device.LedSet(0x02|0x20,1)
opbt.device.LedBlink()
Overview
Blinks the LEDs, requires support from SystemProcess().
Syntax
opbt.device.LedBlink(leds,cnt,duty,time)
Parameters
- leds : intger, bit mask value of leds to be turned ON/OFF/TOGGLE
- 0x01 : Green indicator light on the left side of the screen
- 0x02 : Red indicator light on the left side of the screen
- 0x04 : Blue indicator light on the left side of the screen
- 0x08 : Green indicator light on the right side of the screen
- 0x10 : Red indicator light on the right side of the screen
- 0x20 : Blue indicator light on the right side of the screen
- 0x40 : Flashlight
- cnt : Integer, number of blinks
- duty : Integer, the percentage in each period where the led will be on
- time : Integer, length of each cycle in milliseconds
Return
No return value.
Sample
Make the red light on the left blink.
opbt.device.LedSet(0xff,0)
opbt.device.LedBlink(0x02,10,50,300)
for i in range(500):
opbt.device.SystemProcess()
opbt.device.LedSet(0xff,0)
opbt.device.GetKeyStatus()
Overview
Read the current value of a key
Syntax
opbt.device.GetKeyStatus()
Parameters
��
Return
- current keys status
- bit 1 : =1 if the right key is pressed.
- bit 2 : =1 if the left key is pressed.
Sample
>>> k=opbt.device.GetKeyStatus()
>>> print(k)
0
opbt.device.SystemProcess()
Overview
OPBT system processing function that needs to be continuously run in the main function.
Syntax
opbt.device.SystemProcess()
Parameters
None
Return
No return value.
Sample
opbt.device.LedSet(0xff,0)
opbt.device.LedBlink(0x02,10,50,300)
for i in range(500):
opbt.device.SystemProcess()
opbt.device.LedSet(0xff,0)
opbt.device.LcdClear()
Overview
Clears the LCD screen.
Syntax
opbt.device.LcdClear()
Parameters
None
Return
No return value.
Sample
opbt.device.LcdClear()
opbt.device.LcdTextColor()
Overview
Sets the text display color on the LCD screen.
Syntax
opbt.device.LcdTextColor(fc,bc)
Parameters
- fc : Integer, foreground color.
- bc : Integer, background color.
- Color values
- 0xFFFF : White
- 0x0000 : Black
- 0x001F : Blue
- 0xF800 : Red
- 0x07E0 : Green
- 0xFFE0 : Yellow
- 0xFD20 : Orange
- 0xBC40 : Brown
- 0x8430 : Gray
- 0xF81F : BRED
- 0xFFE0 : GRED
- 0x07FF : GBLUE
- 0xF81F : MAGENTA
- 0x7FFF : CYAN
- 0xFC07 : BRRED
- 0x01CF : Dark Blue
- 0x7D7C : Light Blue
- 0x5458 : Gray Blue
- 0x841F : Light Green
- 0xC618 : Light Gray
- 0xA651 : Light Gray Blue
- 0x2B12 : Light Blue
Return
No return value.
Sample
Set the text color to red and the background to black.
opbt.device.LcdClear()
opbt.device.LcdTextColor(0xf800,0x0000)
opbt.device.LcdPrint("Hello World!")
opbt.device.LcdTextXY()
Overview
Sets the coordinates for displaying text on the LCD screen.
Syntax
opbt.device.LcdTextXY(x,y)
Parameters
- x : Integer, range is 0-19.
- y : Integer, range is 0-4.
Return
No return value.
Sample
opbt.device.LcdClear()
opbt.device.LcdTextColor(0xf800,0x0000)
opbt.device.LcdTextXY(5,2)
opbt.device.LcdPrint("Hello World!")
opbt.device.LcdPrint()
Overview
Displays a string on the LCD screen.
Syntax
opbt.device.LcdPrint(strp)
Parameters
- strp : String, the string to be displayed.
Return
No return value.
Sample
opbt.device.LcdClear()
opbt.device.LcdTextColor(0xf800,0x0000)
opbt.device.LcdTextXY(5,2)
opbt.device.LcdPrint("Hello World!")
opbt.device.LcdFill()
Overview
Fills a specified color within a rectangular area.
Syntax
opbt.device.LcdFill(xsta,ysta,xend,yend,color)
Parameters
- xsta : Integer, the x-coordinate of the top-left corner, range is 0-159.
- ysta : Integer, the y-coordinate of the top-left corner, range is 0-79.
- xend : Integer, the x-coordinate of the bottom-right corner, range is 0-159.
- yend : Integer, the y-coordinate of the bottom-right corner, range is 0-79.
- color : Integer, color value (refer to LcdTextColor() for options).
Return
No return value.
Sample
opbt.device.LcdClear()
opbt.device.LcdFill(10,20,50,60,0xffff)