Component: MIAC AllCode (MIAC: PC Peripheral): Difference between revisions
Appearance
m Text replacement - "class="wikitable" style="width:60%; background-color:#FFFFFF;"" to "class="mtx-class-macrotable wikitable"" |
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;" align="center"" to "width="10%" align="center" class="mtx-class-macrohead"" |
||
| Line 107: | Line 107: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardCreate''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardCreate''' | ||
|- | |- | ||
| Line 126: | Line 126: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardDelete''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardDelete''' | ||
|- | |- | ||
| Line 145: | Line 145: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardInserted''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardInserted''' | ||
|- | |- | ||
| Line 159: | Line 159: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardOpen''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardOpen''' | ||
|- | |- | ||
| Line 178: | Line 178: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardReadByte''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardReadByte''' | ||
|- | |- | ||
| Line 192: | Line 192: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardWriteByte''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CardWriteByte''' | ||
|- | |- | ||
| Line 211: | Line 211: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CommsBaud''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CommsBaud''' | ||
|- | |- | ||
| Line 230: | Line 230: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CommsRead''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CommsRead''' | ||
|- | |- | ||
| Line 249: | Line 249: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CommsWrite''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CommsWrite''' | ||
|- | |- | ||
| Line 268: | Line 268: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetAPIVersion''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetAPIVersion''' | ||
|- | |- | ||
| Line 282: | Line 282: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDBacklight''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDBacklight''' | ||
|- | |- | ||
| Line 301: | Line 301: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDBitmap''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDBitmap''' | ||
|- | |- | ||
| Line 330: | Line 330: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDClear''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDClear''' | ||
|- | |- | ||
| Line 344: | Line 344: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDCursor''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDCursor''' | ||
|- | |- | ||
| Line 368: | Line 368: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDLine''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDLine''' | ||
|- | |- | ||
| Line 402: | Line 402: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDNumber''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDNumber''' | ||
|- | |- | ||
| Line 421: | Line 421: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDOptions''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDOptions''' | ||
|- | |- | ||
| Line 450: | Line 450: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPixel''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPixel''' | ||
|- | |- | ||
| Line 479: | Line 479: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPrint''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDPrint''' | ||
|- | |- | ||
| Line 498: | Line 498: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDRect''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDRect''' | ||
|- | |- | ||
| Line 532: | Line 532: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDVerbose''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''LCDVerbose''' | ||
|- | |- | ||
| Line 551: | Line 551: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PWMConfig''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PWMConfig''' | ||
|- | |- | ||
| Line 580: | Line 580: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PWMDuty''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PWMDuty''' | ||
|- | |- | ||
| Line 604: | Line 604: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PWMEnable''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''PWMEnable''' | ||
|- | |- | ||
| Line 623: | Line 623: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadAnalogInput''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadAnalogInput''' | ||
|- | |- | ||
| Line 642: | Line 642: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadDigitalInput''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadDigitalInput''' | ||
|- | |- | ||
| Line 661: | Line 661: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadInputs''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadInputs''' | ||
|- | |- | ||
| Line 675: | Line 675: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadKey''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadKey''' | ||
|- | |- | ||
| Line 689: | Line 689: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadRTC''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ReadRTC''' | ||
|- | |- | ||
| Line 708: | Line 708: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRTC''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRTC''' | ||
|- | |- | ||
| Line 732: | Line 732: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRelay''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRelay''' | ||
|- | |- | ||
| Line 756: | Line 756: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRelays''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteRelays''' | ||
|- | |- | ||
| Line 775: | Line 775: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteTran''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteTran''' | ||
|- | |- | ||
| Line 799: | Line 799: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteTrans''' | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''WriteTrans''' | ||
|- | |- | ||
Revision as of 14:17, 13 July 2026
| Author | Matrix TSL |
| Version | 1.0 |
| Category | MIAC: PC Peripheral |
MIAC AllCode component
MIAC AllCode. dsPIC version of the MIAC loaded with the AllCode firmware. Usefull for SCADA, Control or Test applications. Allows you to control the MIAC using the programming language of choice. Compatible with simulation / Bluetooth / Wifi / RS232 and RS485
Component Source Code
Please click here to download the component source project: FC_Comp_Source_MIAC_AllCode_Firmware.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_MIAC_AllCode_Firmware.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Bluetooth based examples.
WIFI based examples.
USB Driver
Macro reference
CardCreate
| CardCreate | |
| Attempts to create a specific file on the card. Returns 0 for success, 255 for no card or error. | |
| Filename | |
| Return | |
CardDelete
| CardDelete | |
| Attempts to delete a specific file on the card. Returns 0 for success, 255 for no card or error. | |
| Filename | |
| Return | |
CardInserted
| CardInserted | |
| Checks to see if a card is present. Returns 0 for no card or 1 for card detected | |
| Return | |
CardOpen
| CardOpen | |
| Attempts to open a specific file from the card. Returns 0 for file found and opened, 239 for file not found and 255 for no card. | |
| Filename | |
| Return | |
CardReadByte
| CardReadByte | |
| Reads a byte from the open file. | |
| Return | |
CardWriteByte
| CardWriteByte | |
| Appends a byte to the end of the open file. Returns 0 for success. | |
| data | |
| Return | |
CommsBaud
| CommsBaud | |
| Sets the Baud rate of the alt communications channel | |
| Baud | |
| Range: 0-7 : 0=1200 / 7=115200 | |
| Return | |
CommsRead
| CommsRead | |
| Reads a byte from the alt communications channel | |
| Timeout | |
| Range: 0-255 : 0 = Don't wait / 1-255 = ms | |
| Return | |
CommsWrite
| CommsWrite | |
| Writes a byte to the alt communications channel | |
| Data | |
| Range: 0-255 | |
| Return | |
GetAPIVersion
| GetAPIVersion | |
| Gets the API version of the Robot ARM Firmware | |
| Return | |
LCDBacklight
| LCDBacklight | |
| Controls the brightness of the LCD backlight. | |
| Brightness | |
| Range: 0-100 | |
| Return | |
LCDBitmap
| LCDBitmap | |
| Draws a bitmap file from the SD card onto the MIAC display | |
| X | |
| Range: 0-119 | |
| Y | |
| Range: 0-49 | |
| Filename | |
| Range: 0-1 | |
| Return | |
LCDClear
| LCDClear | |
| Clears the MIAC display | |
| Return | |
LCDCursor
| LCDCursor | |
| Sets the cursor position for the MIAC display | |
| X | |
| Range: 0-21 | |
| Y | |
| Range: 0-4 | |
| Return | |
LCDLine
| LCDLine | |
| Draws a single pixel width line on the MIAC display | |
| X1 | |
| Range: 0-119 | |
| Y1 | |
| Range: 0-49 | |
| X2 | |
| Range: 0-119 | |
| Y2 | |
| Range: 0-49 | |
| Return | |
LCDNumber
| LCDNumber | |
| Prints a number to the MIAC display starting from the current cursor position. | |
| Value | |
| Range: -32678 - 32767 | |
| Return | |
LCDOptions
| LCDOptions | |
| Controls some of the LCD options | |
| Foreground | |
| Range: 0-1 | |
| Background | |
| Range: 0-1 | |
| Transparent | |
| Range: 0-1 | |
| Return | |
LCDPixel
| LCDPixel | |
| Controls a single pixel on the MIAC display | |
| X | |
| Range: 0-119 | |
| Y | |
| Range: 0-49 | |
| State | |
| Range: 0-1 | |
| Return | |
LCDPrint
| LCDPrint | |
| Prints a string to the MIAC display starting from the current cursor position. | |
| data | |
| Range: 0-21 | |
| Return | |
LCDRect
| LCDRect | |
| Draws a single pixel rectangle on the MIAC display | |
| X1 | |
| Range: 0-119 | |
| Y1 | |
| Range: 0-49 | |
| X2 | |
| Range: 0-119 | |
| Y2 | |
| Range: 0-49 | |
| Return | |
LCDVerbose
PWMConfig
PWMDuty
| PWMDuty | |
| Sets a single PWM channel duty. Channel = 0 - 5 : 0=EN_AB, 1=A, 2=B, 3=C, 4=D, 5=EN_CD Duty = 0 - 65535 | |
| Channel | |
| Range 0-5 | |
| Duty | |
| Return | |
PWMEnable
ReadAnalogInput
| ReadAnalogInput | |
| Reads a single digital input. | |
| Channel | |
| Return | |
ReadDigitalInput
| ReadDigitalInput | |
| Reads a single digital input. | |
| Channel | |
| Return | |
ReadInputs
| ReadInputs | |
| Reads all digital inputs at once and returns as a binary value. Input 1 = Bit 0 Input 8 = Bit 7 | |
| Return | |
ReadKey
| ReadKey | |
| Reads a keypress from the keypad. | |
| Return | |
ReadRTC
| ReadRTC | |
| Reads a value from the real time clock module. Used for getting the time or date. | |
| Unit | |
| 0=Second 1=Minute 2=Hour 3=Day 4=Month 5=Year | |
| Return | |
WriteRTC
| WriteRTC | |
| Writes a value to the real time clock module. Used for setting the time or date. | |
| Unit | |
| 0=Second 1=Minute 2=Hour 3=Day 4=Month 5=Year | |
| Value | |
| Return | |
WriteRelay
| WriteRelay | |
| Allows a single relay to be switched on or off. | |
| Channel | |
| Range 1-4 | |
| Value | |
| 0 = Off, 1 = On | |
| Return | |
WriteRelays
| WriteRelays | |
| Allows all relays to be switched on or off in a single command. | |
| Value | |
| Range: 0-15 or 0b0000 to 0b1111 | |
| Return | |
WriteTran
| WriteTran | |
| Allows a single transistor output to be switched on or off. | |
| Channel | |
| Range 1-4 | |
| Value | |
| 0 = Off, 1 = On | |
| Return | |
WriteTrans
| WriteTrans | |
| Allows all transistor outputs to be switched on or off in a single command. | |
| Value | |
| Range: 0-15 or 0b0000 to 0b1111 | |
| Return | |