{"version":3,"sources":["uni_modules/shmily-rs232-serial/utssdk/app-android/index.uts","uni_modules/shmily-rs232-serial/utssdk/interface.uts"],"sourcesContent":["\r\nimport SerialPortFinder from 'android_serialport_api.SerialPortFinder';\r\nimport SerialHelper from 'com.shmily.serialport.SerialHelper';\r\nimport ComBean from 'com.shmily.serialport.bean.ComBean';\r\nimport ByteUtil from 'com.shmily.serialport.utils.ByteUtil';\r\nimport StandardCharsets from 'java.nio.charset.StandardCharsets';\r\nimport { IConnectOptions, IDataType } from '../interface';\r\nimport Toast from 'android.widget.Toast';\r\n\r\n\r\nclass MySerialHelper extends SerialHelper {\r\n private outerSerial : RS232Serial;\r\n constructor(opt : IConnectOptions, outerSerial : RS232Serial) {\r\n super(opt.port, opt.baudRate.toInt());\r\n this.setBaudRate(opt.baudRate.toInt());\r\n this.setDataBits(opt.dataBits.toInt());\r\n this.setStopBits(opt.stopBits.toInt());\r\n this.setParity(opt.parity.toInt());\r\n this.setFlowCon(opt.flowCon.toInt());\r\n this.outerSerial = outerSerial;\r\n }\r\n override onDataReceived(comBean : ComBean) : void {\r\n if (this.outerSerial.globalMsgCallback != null) {\r\n if (this.outerSerial.mDataType == 'ASCII') {\r\n this.outerSerial.globalMsgCallback?.invoke(new String(comBean.bRec, StandardCharsets.UTF_8));\r\n } else {\r\n this.outerSerial.globalMsgCallback?.invoke(ByteUtil.Bytes2Hex(comBean.bRec));\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function checkHasIntegration() : boolean {\r\n try {\r\n Class.forName(\"com.shmily.serialport.SerialHelper\");\r\n return true;\r\n } catch (e : Exception) {\r\n return false;\r\n }\r\n}\r\n\r\nexport class RS232Serial {\r\n serialHelper : MySerialHelper | null = null;\r\n mDataType : IDataType = 'ASCII';\r\n globalMsgCallback : ((data : string) => void) | null = null;\r\n constructor() { }\r\n getDeviceList(): string[] {\r\n const serialPortFinder = new SerialPortFinder();\r\n try {\r\n const ports = serialPortFinder.getAllDevicesPath();\r\n if (ports.size > 0) {\r\n return Array.fromNative(ports);\r\n }\r\n return [];\r\n } catch (e) {\r\n Toast.makeText(UTSAndroid.getUniActivity(), e.message, Toast.LENGTH_LONG).show();\r\n return [];\r\n }\r\n }\r\n isOpen() : boolean {\r\n if (this.serialHelper == null) {\r\n return false;\r\n }\r\n return this.serialHelper!.isOpen();\r\n }\r\n open(opt : IConnectOptions) : boolean {\r\n try {\r\n this.serialHelper = new MySerialHelper(opt, this);\r\n this.serialHelper!.open();\r\n return true;\r\n } catch (e) {\r\n console.error(e)\r\n return false;\r\n }\r\n }\r\n sendHex(hexStr : string) : void {\r\n if (this.serialHelper == null) {\r\n console.error('Serial port is not open');\r\n return;\r\n }\r\n if (this.isOpen()) {\r\n const hexPure = hexStr.trim().replace(/\\s/g, '');\r\n if (hexPure != '') {\r\n this.serialHelper!.sendHex(hexPure);\r\n } else {\r\n console.error('Hex is empty or null');\r\n }\r\n } else {\r\n console.error('Serial port is not open');\r\n }\r\n }\r\n sendText(text : string) : void {\r\n if (this.serialHelper == null) {\r\n console.error('Serial port is not open');\r\n return;\r\n }\r\n if (this.isOpen()) {\r\n if (text.trim() != '') {\r\n this.serialHelper!.sendTxt(text);\r\n } else {\r\n console.error('Text is empty or null');\r\n }\r\n } else {\r\n console.error('Serial port is not open');\r\n }\r\n }\r\n @UTSJS.keepAlive\r\n subscribe(dataType : IDataType, callback : (data : string) => void) : void {\r\n this.mDataType = dataType;\r\n this.globalMsgCallback = callback;\r\n }\r\n unsubscribe() : void {\r\n this.globalMsgCallback = null;\r\n }\r\n close(): boolean {\r\n if (!this.isOpen()) {\r\n console.error('Serial port is not open');\r\n return false;\r\n }\r\n this.serialHelper!.close();\r\n return true;\r\n }\r\n}","export type IConnectOptions = {\r\n port : string, // 端口,比如 /dev/ttyS1\r\n baudRate : number, // 波特率\r\n dataBits : number, // 数据位\r\n stopBits : number, // 停止位\r\n parity : number, // 校验位, 0 - none, 1 - odd, 2 - even, 3 - mark, 4 - space\r\n flowCon: number // 流控, 0 - none, 1 - RTS/CTS, 2 - \"XON/XOFF\"\r\n}\r\n\r\nexport type IDataType = 'HEX' | 'ASCII';"],"names":[],"mappings":"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"}
|