From d027eb9f48ff9fe1a01ce0d23c5b5a9b5720ddbd Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Tue, 23 May 2023 21:40:43 +0200 Subject: [PATCH 001/138] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 549fee3..0517f17 100644 --- a/README.md +++ b/README.md @@ -77,17 +77,17 @@ Send data to a serial device. For exampe to an [Arduino](https://www.arduino.cc/ `main.ts` ```typescript -import { Serial } from "./mod.ts"; +import { Serial, baudrate } from "./mod.ts"; // create new instance of a serial object const serial = new Serial(); // open the connection -serial.open(); +serial.open('COM1', baudrate.B9600); // encode the message to a Uint8Array -const textToSend = 'Hello from TypeScript!' -const encodedTextToSend = new TextEncoder().encode(textToSend) +const textToSend = 'Hello from TypeScript!'; +const encodedTextToSend = new TextEncoder().encode(textToSend); // send the message serial.send(encodedTextToSend, encodedTextToSend.length); @@ -113,13 +113,13 @@ void loop() { `main.ts` ```typescript -import { Serial } from "./mod.ts"; +import { Serial, baudrate } from "./mod.ts"; // create new instance of a serial object const serial = new Serial(); // open the connection -serial.open(); +serial.open('COM1', baudrate.B9600); // create a new buffer to store incoming bytes, // in this example we want to read a maximum of 100 bytes From ed93b3baad520cff22d1548911eccfbe527cf957 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Tue, 23 May 2023 21:41:40 +0200 Subject: [PATCH 002/138] ci --- .github/workflows/build.yml | 83 ++++++++++++++++++++++++++++ .github/workflows/build_linux.yml | 48 ---------------- .github/workflows/build_windows.yml | 40 -------------- .github/workflows/release.yml | 15 ++--- .gitignore | 1 - lib/dls/linux.so | Bin 0 -> 17208 bytes lib/dls/windows.dll | Bin 39936 -> 19456 bytes src/serial.cpp | 4 +- 8 files changed, 90 insertions(+), 101 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 .github/workflows/build_linux.yml delete mode 100644 .github/workflows/build_windows.yml create mode 100644 lib/dls/linux.so diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..a81d9b3 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,83 @@ +name: Build Binarys + +on: + push: + paths: + - 'include/**' + - 'src/**' + - '.github/workflows/build.yml' + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Release + +jobs: + build_linux: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Configure CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + + - name: Archive artifact + uses: actions/upload-artifact@v3 + with: + name: linux-binary + path: ${{github.workspace}}/build/libserialport.so + + build_windows: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + + - name: Configure CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + + - name: Archive artifact + uses: actions/upload-artifact@v3 + with: + name: windows-binary + path: ${{github.workspace}}\build\Release\serialport.dll + + commit: + needs: [build_windows, build_linux] + name: commit binarys + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal access token. + fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository. + + - name: Download artifacts + uses: actions/download-artifact@v3 + with: + path: ${{github.workspace}}/tmp + + - name: Rename linux Binary + run: mv ${{github.workspace}}/tmp/linux-binary/libserialport.so ${{github.workspace}}/lib/dls/linux.so + + - name: Rename windows Binary + run: mv ${{github.workspace}}/tmp/windows-binary/serialport.dll ${{github.workspace}}/lib/dls/windows.dll + - name: Commit files + run: | + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local user.name "GitHub Actions [Bot]" + git add ${{github.workspace}}/lib/dls/* + git diff-index --quiet HEAD || git commit -m "compiled binarys" + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.RELEASE_TOKEN }} + branch: ${{ github.ref }} + diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml deleted file mode 100644 index d6245a4..0000000 --- a/.github/workflows/build_linux.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Build Linux SO - -on: - push: - branches: [ "main" ] - paths: - - 'include/**' - - 'src/**' - - '.github/workflows/build_linux.yml' - pull_request: - branches: [ "main" ] - paths: - - 'include/**' - - 'src/**' - -env: - # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - BUILD_TYPE: Release - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - - name: Configure CMake - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - - - name: Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - - - name: Move compiled file - run: mv ${{github.workspace}}/build/libserialport.so ${{github.workspace}}/lib/dls/ - - # - name: Commit artifact changes - # run: | - # git config --local user.email "action@github.com" - # git config --local user.name "GitHub Action" - # git add lib/dls/* - # git commit -m "Add artifact" - # git push - - - name: Archive artifact - uses: actions/upload-artifact@v3 - with: - name: Compiled-Binary - path: ${{github.workspace}}/lib/dls/ diff --git a/.github/workflows/build_windows.yml b/.github/workflows/build_windows.yml deleted file mode 100644 index 8b837a4..0000000 --- a/.github/workflows/build_windows.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Build Win32 DLL - -on: - push: - branches: [ "main" ] - paths: - - 'include/**' - - 'src/**' - - '.github/workflows/build_windows.yml' - pull_request: - branches: [ "main" ] - paths: - - 'include/**' - - 'src/**' - -env: - # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - BUILD_TYPE: Release - -jobs: - build: - runs-on: windows-latest - - steps: - - uses: actions/checkout@v3 - - - name: Configure CMake - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - - - name: Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - - - name: Move compiled file - run: move ${{github.workspace}}\build\Release\serialport.dll ${{github.workspace}}\lib\dls\ - - - name: Archive artifact - uses: actions/upload-artifact@v3 - with: - name: Compiled-Binary - path: ${{github.workspace}}/lib/dls/ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 43ae51f..9ce839c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,17 +2,12 @@ name: "Pre-Release" on: - push: - branches: [ "main" ] - paths: - - 'include/**' - - 'src/**' - - '.github/workflows/release.yml' pull_request: branches: [ "main" ] paths: - 'include/**' - 'src/**' + - '.github/workflows/release.yml' env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) @@ -77,10 +72,10 @@ jobs: - run: cd ${{github.workspace}} - name: make .tar.gz file - run: tar -czvf lib.tar.gz ./lib + run: tar -czvf SerialLink-lib.tar.gz ./lib - name: make .zip - run: zip -r lib.zip ./lib + run: zip -r SerialLink-lib.zip ./lib - uses: "marvinpinto/action-automatic-releases@latest" with: @@ -89,5 +84,5 @@ jobs: prerelease: true title: "Development Build" files: | - lib.tar.gz - lib.zip + SerialLink-lib.tar.gz + SerialLink-lib.zip diff --git a/.gitignore b/.gitignore index dc7956b..22d9298 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ #directories .vscode/ .cache/ -.github/ build/ test/ diff --git a/lib/dls/linux.so b/lib/dls/linux.so new file mode 100644 index 0000000000000000000000000000000000000000..f65dbc1c1b98ee5ac022161b2b0a4085f6b42af5 GIT binary patch literal 17208 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 RO#hSk0teD+i-Lt^{|Umqp|1b{ literal 0 HcmV?d00001 diff --git a/lib/dls/windows.dll b/lib/dls/windows.dll index b0d598b669c51e014141d5e425913eef4e2d82e2..48432642b3113e537abd674e3c41738c10d2b520 100644 GIT binary patch literal 19456 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 literal 39936 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 NSN5-;|MM;IzX7R!K+*sJ diff --git a/src/serial.cpp b/src/serial.cpp index 19f7224..d3e362d 100644 --- a/src/serial.cpp +++ b/src/serial.cpp @@ -1,5 +1,5 @@ #include "serial.h" - +// test for ci auto serialOpen( void* port, const int baudrate, @@ -48,4 +48,4 @@ auto serialGetAvailablePorts( void* separator ) -> int { return systemGetAvailablePorts(buffer, bufferSize, separator); -} \ No newline at end of file +} From 9cd158f12b77aac2aaaec186e5cd23756216774f Mon Sep 17 00:00:00 2001 From: "GitHub Actions [Bot]" Date: Wed, 24 May 2023 18:44:33 +0000 Subject: [PATCH 003/138] compiled binarys --- lib/dls/windows.dll | Bin 19456 -> 19456 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/dls/windows.dll b/lib/dls/windows.dll index 48432642b3113e537abd674e3c41738c10d2b520..38a20bca70c4bf060eac77127b5068e852f6f532 100644 GIT binary patch delta 25 ecmZpe!Pqc^af1LO6HD}FA;utm5S?Z)OBw)PEC%}k delta 25 ecmZpe!Pqc^af1LOlbP~nA;utm5S?Z)OBw)P7zXbE From 21dbf2e55dcdd7365eaf9b0a8e93aa829edcaf16 Mon Sep 17 00:00:00 2001 From: "GitHub Actions [Bot]" Date: Wed, 24 May 2023 18:52:25 +0000 Subject: [PATCH 004/138] compiled binarys --- lib/dls/windows.dll | Bin 19456 -> 19456 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/dls/windows.dll b/lib/dls/windows.dll index 38a20bca70c4bf060eac77127b5068e852f6f532..1c231e3aa17f485a9b33f4d26f403d373a42d9ea 100644 GIT binary patch delta 25 ecmZpe!Pqc^af1LO)7_ZOLX1KBAUe%pmNWox<_NC< delta 25 ecmZpe!Pqc^af1LO6HD}FA;utm5S?Z)OBw)PEC%}k From ef59ff59d5098c6414a7545a2010eb058be67b1c Mon Sep 17 00:00:00 2001 From: Katze719 Date: Wed, 24 May 2023 20:56:30 +0200 Subject: [PATCH 005/138] rename 'dls' to 'bin' --- .github/workflows/build.yml | 6 +++--- .github/workflows/release.yml | 4 ++-- lib/dls/linux.so | Bin 17208 -> 0 bytes lib/dls/windows.dll | Bin 19456 -> 0 bytes 4 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 lib/dls/linux.so delete mode 100644 lib/dls/windows.dll diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a81d9b3..3858ef8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -65,15 +65,15 @@ jobs: path: ${{github.workspace}}/tmp - name: Rename linux Binary - run: mv ${{github.workspace}}/tmp/linux-binary/libserialport.so ${{github.workspace}}/lib/dls/linux.so + run: mv ${{github.workspace}}/tmp/linux-binary/libserialport.so ${{github.workspace}}/lib/bin/linux.so - name: Rename windows Binary - run: mv ${{github.workspace}}/tmp/windows-binary/serialport.dll ${{github.workspace}}/lib/dls/windows.dll + run: mv ${{github.workspace}}/tmp/windows-binary/serialport.dll ${{github.workspace}}/lib/bin/windows.dll - name: Commit files run: | git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "GitHub Actions [Bot]" - git add ${{github.workspace}}/lib/dls/* + git add ${{github.workspace}}/lib/bin/* git diff-index --quiet HEAD || git commit -m "compiled binarys" - name: Push changes uses: ad-m/github-push-action@master diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9ce839c..f11e11c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -64,10 +64,10 @@ jobs: path: ${{github.workspace}}/tmp - name: Rename linux Binary - run: mv ${{github.workspace}}/tmp/linux-binary/libserialport.so ${{github.workspace}}/lib/dls/linux.so + run: mv ${{github.workspace}}/tmp/linux-binary/libserialport.so ${{github.workspace}}/lib/bin/linux.so - name: Rename windows Binary - run: mv ${{github.workspace}}/tmp/windows-binary/serialport.dll ${{github.workspace}}/lib/dls/windows.dll + run: mv ${{github.workspace}}/tmp/windows-binary/serialport.dll ${{github.workspace}}/lib/bin/windows.dll - run: cd ${{github.workspace}} diff --git a/lib/dls/linux.so b/lib/dls/linux.so deleted file mode 100644 index f65dbc1c1b98ee5ac022161b2b0a4085f6b42af5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17208 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 RO#hSk0teD+i-Lt^{|Umqp|1b{ diff --git a/lib/dls/windows.dll b/lib/dls/windows.dll deleted file mode 100644 index 1c231e3aa17f485a9b33f4d26f403d373a42d9ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19456 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 m{?go+oG9t$V{ From 3d429d7e3ed07d171e028e52168da8a4a1fd2b5c Mon Sep 17 00:00:00 2001 From: Katze719 Date: Wed, 24 May 2023 21:02:25 +0200 Subject: [PATCH 006/138] fix missing bin folder --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3858ef8..fca8d34 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,6 +64,9 @@ jobs: with: path: ${{github.workspace}}/tmp + - name: Create bin folder if it does not exist + run: mkdir -p ${{github.workspace}}/lib/bin + - name: Rename linux Binary run: mv ${{github.workspace}}/tmp/linux-binary/libserialport.so ${{github.workspace}}/lib/bin/linux.so From e7a189ec71db98ef3ea1fe685660010db3eb27de Mon Sep 17 00:00:00 2001 From: "GitHub Actions [Bot]" Date: Wed, 24 May 2023 19:04:26 +0000 Subject: [PATCH 007/138] compiled binarys --- lib/bin/linux.so | Bin 0 -> 17208 bytes lib/bin/windows.dll | Bin 0 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/bin/linux.so create mode 100644 lib/bin/windows.dll diff --git a/lib/bin/linux.so b/lib/bin/linux.so new file mode 100644 index 0000000000000000000000000000000000000000..f65dbc1c1b98ee5ac022161b2b0a4085f6b42af5 GIT binary patch literal 17208 zcmeHO4RBP~b-ue=f%w}ME)W%Lv!=oo2-XsYSYT7X6%sth0@g?h*a1IQyDMqO`{&)a zLSj-!t`K1>%a+@?L-W&7QnyWKl3JN|YEP%3!eB!h(#Ul~Nb@JtB(pmvMwT59jsx3s z?!D*f?PHf|JJab*XYbDLx#zp*oO|!N@80+B+jBqD+P2efvoT5)?DyCl$Cx4u`tK(R z#G2S5_+8EJiKRSO>LsKl(~t@H=;gd9;SM?GGjTa+^k{e@lNM9q3= za%!U}pW0qXXQZA|A#l<|81<&5-n7&sIwPG$v`VUD8}a*9Y1c~KQjVxq@4VEr(psrU z6zjm${&PL}KdH|r^?Yt_hFR$`0W+dh-y@(Whe%4?n$R%sll7GvhX&biqSC$GmuLg8 znO%E28Hi0{TWGj2zfAI2?n}7NL|2{t(a6-u!mdrLZq)x}`#n(15=t zX0_)^$nPnEpD2Ob0>{3(%^j8b1u(G1{0wG_%5NxvhfCD^ z7a)Hdb28s@QQ=*Juy0Cy;y?y?01pDoaC-oHA-gMub z?VHL$8ES}Qmvw!B^|o^tpehT;1A2r7cu$kqog=aZ!HBOf3Wj4xqAVJU1`-3nwCjyq zHBIkL#*b)`cuzQ>g_6m5()Vyc6y8ULUH+ivk3`~uJ{Ut7zQ7Y&p!W%_8(PgJH#LxC zBoyn>drfweku(z^dSDgFOD0{`@YiJ+vIgfBJ8&zNvp%dq&G33r?1Ur_{u%aYTC*GL@KH@ufqaw{T-xLnFOP-nuW z%Q)U(!s*!u3z|$gK9f*V6p=&w=I0~TgwvXfl0FkozDE3j3BLmYnGP!=gEr_MgGjG} zzv7u@p~&*zgd!M}hYQR|{ffvUey4#lHfX|En(z}QTt3qC(lHYb7o?F+nsD=T$+!u} zXDv!!RYVTkBQHTJD$}wD${zS%^1yqpJAbVXU8zz>Dt`bQBz1UFx96wSp|e$Ic#Zij zmjRy5ul)}ouGI|Xd$D9T_f|fiALBeOq_ep<4BpQ9(*}<>irL&Z3?3KK+1!^69v9Hr z-17#H3+HU^X@kc_VK(=q!Q(|Q44Ra|B$7;)57nz@U0epyM^Ck;Wt|NwHE#k3%}gLFCktXd7!p! z>s8&UjKR zMuVM^6y(3f<+r?wWZexlGozk<=Rx)KwF=ety86ZqeHj?|9_+8sKvjOan~xjmQ6H_xk*B7fJ+aCu!y8y;L8-&KaUU>+3+ab_3>PP+D5h#@H;d~Eh znEAi5@ZY!aFJCW|x9Wetu-v=9ak4dY&ihGk=7Uo>H@%(S%=f$xsCSX!~Ghlq^x=rsLx^CAW82+Vxf9r5wSG+@cd%9}qyut-W?uSO5s_)pK zK+B$irsHbWIQgkV-hcrC1%^IyxjuVB376$1P<2qP7Y#|L!RJjanQ7tlGbR`OeJeWw zGZkundlbfD_=EmEYUZcv&^cTGz1e5cQsy8uJ>#fVGw0OIzpI&dvio@jj@sM-a52o# z9$3(`YXIyX%f9_XDzyn?W6ukOR>B(@cXWKSyw-$)UfJ+B-cPt%=xMOkM-3Kr4 zgY0HW_>%$t;Sg!r<$N9<$nv&T75C$lEN+>nuIBUOK&#))=g$Lm1Dyuyo6YAB!ak(o zy?h@3Us8ZBhIa@)pl+atfo=wx0IC8V1bPtY7|;aJ>G$*be+0^YmCsKBZ2+1DssOzm z_cxH}-JpT##=urC5uXTc@_tF>VGMDMm> zmjJungsH$^fo~09{6D*$&g$pvyPP%8R(!(g9(A-j>z=9fIvbA9+u>{)n&0A7>}MA` zn|3%Gyw192r@Pr%)9kEnc2>14;_YpMKHUy}##b1au)l49)d6-F0;;q6fU}Cr1_8&h z!`CyI=smmbsIQHCef}37g?G!V$oCI`4EI0i;Qxq@b^xHgqjqS;GZkK^`?#aUSvOR< z%X!#-a-p-X#p(7^`yO7z?FT{S3XI)qpbl)1^YBpRamO%B5~hGJ-ZGS~?JY{K*D30CQfCf37|INhg%TmO>ohHg{cTS30Jr-Hi|i=xNy4 znC5KbQ=2w<8aA(!aG{=+!^^|L-i3dW3KLdqhgmT$H^jK_#B>jQi^*>T9OWlz1C7Fv zaPN!wj0N8-ahk6viwWPW*dX3_QbBHR-ag6m%NfllUI;%Y;fwZZ{uBNpWNfgDr};@Z zMt2lz|G$*LOZE3HZvQrRVGUWHqs8oB<;6>la|R@BhXJs`YGNH2V*#B_}`D=g|i-Z4-v}27^Uk(d#vH1A)9Oo`6_<5iNzPkh-mG;Lh z?H>T#U0_)-FO;zJHECziV&`RvThAMOw}kzll)$e6j()So{L+`P2O@5RWDzAw3j?0Pms_cmyD<`IAZifEJ4B$pO}#^hZNlFddCTaJy#WG?3H_ zL`4sH<7H;W&xYp~B1>vYd%YIKX z)a`-84Mif|v5}0|&$O0D_jq?dv;(x^r~?__)wZ|U+otW^xwE~sL+kK1x3xl*w?16J zgZdR7-VPz{7`@J8`HO_>3n3W;uN9n}D9{&9;3IeIfc`>*|CMtJw>oA}U=0s66f{bl zQ!pS1*cZ*j!xreG;)gx>8HWPH+GG6mgEDtc01gKTQ#YNhfWav|-(Xa~nIE<&b*W=} zZa!DSk7F1XaG>x|MgdUlvN5$(wo{&6xz&N0f-@BgosAIPEOI;sohVMB6g!nu^yH2C zpvl}wh~qH)$VoxRm?t$5)%{&S^`xM^l!JeiLY|&j+LK7as3+kNi^qVv(&0#OBmCLK z1$zCdUgil7#K4%KdQz11!I_e9JXXMHP?iiu{HP#viHOcTIRBXkvYwu}%%nmA=Fvm_ z!16ijNydYI-OoIsUb%Gi2EiI}Pz{_(3H1j;30;HUz`W;H#i}A~P#!AxN5fzqD#J>l z-Q03lD#c()j7DL(Dzd8nw;|kT;a&x9dpwmoUn+}@{TT5OUs<4E>YORb!|k9Td4c-? z_A*pI?cazVmeQn0&uwJnVaVX#jr3`MN3;g+SD0`=2#-ES`)S|R4j77%KJ6EY(*6)c zctRWI^eJF)uSWW`KO@>Kg{l1{N3<8paqmYw?f;05OMPrVw$s}GBY>f8(x?3<(HSVi zMD>$C_5W#E*36~g{Eghd5~ckv>Z6WTe*`e}3GJ_qhe-J_N&9#Z;fdNo{Bg*b_1#jB zsA6$AJ);tR-lBh4?(c|_9MwlW(a&4-6H=e3`M+7TL3%|0+@e1&AC`%(w{)2F&=#h@ zhOfE*v=1Rl?@72Y{8-Gfm!v+8KXXe-Nqv$fLgPpL%aFnPN#ExdB}9)2*7&v7{~DB- z^)I=FDA8+JXiC=lzYAq%{i!uVn5cX`WLU76V{btTzH5@x+}NMexo~TJ#1s7`=((0%5!aYVPH=NP;U7W)Ui(x(?F;Fg|BP%f&RibAgQn!U) zA?ugoMk(pn8;HnYTQQj_UAv-0{LV;&igY}leJi$p;l7yKZq{%3xZv)#T<}yc$>MTR RO#hSk0teD+i-Lt^{|Umqp|1b{ literal 0 HcmV?d00001 diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll new file mode 100644 index 0000000000000000000000000000000000000000..4326e59992b9dcaea7ed36f9efa7d514359fce9b GIT binary patch literal 19456 zcmeHveRx#WwfCN6CJBLI2F%dl=YRu=gpZJ*f*~?PW^|9vXn;his7XvFkeaW~2MMiQ zLkEQ6IF)|*6mQ#CM0;=hT^h3$_7?7>K*y{^&jzITbep{XV?(`?Rk zXsq9ww|V1OO&9d{XMFM%$_K($IIW80F;m$aD~4zz}WbJKij$TW9t9>|Hu zj&5fLYpTLkjQ!CDloM$J(sZPx$BCMmDjDPHsHjAOtk^=Nq{qovVrH{SDCUT{ias&7 z=w9n9HTG!^x$`9Gpk@*j*2I%2Ux^os@IQeXcTBxjJs2^i3;&T_3wos&O=P zsneUc*Dv*94!mf$k^i=>w)6&)*K!^)yrdd4)$jO9X4a;^1VbO4fdxLDv*K|BfFi)9?teld%1MT z8&#~qGA>=urQgWcOlHh4?eSvV(%Z5bC2#zGgKMvGI^%0Dit#{*cMtOD?i`+X9K%F* z@P-z2bDT?W$&=7i|768BV-^I+rFZ51lad+!3MG|U>~>DQlWd@ZQXg`as`OnCxgLCY zS*N@;6)fb(=$-VCKJIhf4=c(YsSQZeFI|8xbVWpTMR2K37~fJ~tj1C4k2@xKrFVQ# zk)6~++9<+ghqS?qP5 zH1h1F8X3pe?F(nh2_n$d0X5{ECtGawOI^NLtrY`Y0JZqz)34>xFRa08O*L(HvT3)Y z)hj`=WsYXK5tzH;Sw&vyZGZd@gZwbcVg>wHG}VGZ^v_akQEYHRQ+8@ie0?x!>40oS z*&ENgRp-vAUZ{->zcN{OLX>-QT@|i}Npms;b3oor?*q;yV!@Mj?1t}o6}?&RPw@DX z3?3T|%g(TjOOe;#Km#{*qmsu`NfTIy%Q{Kzm$Z*uw*8%I`z@Dg54O(`y32*NMC@G| zK&=#%a1|Y*lM(hcV!Woy_ILDpa7rHKFav$Oi?B?N^XNrua5|Spab@?=^6^P7v3$IF z-7qC}`AqV{Za#wB<6R}{IJ-)O7u=i5R9Pst_wq=d82mS}?edrbt3RV}2}Uy9IdbG4 zGiZ6(L3t-pN*6#3#{zQM0rGR5hOl`j+&`)g$<5TM>Iu83r;1Ai0#2OAeGa?)@|TLj zvYw_vB`?v)07 z(nV+h+e*tM5&^9wSk^oqgA2#J=VI`*r}X`q1hGr^>AdK?W&IaIHV1v!wVXV<4=&W0G}acf$(N`SyZZkS0hy4_4eevcTZ}gA7 z-q;<3{k9>8{eM8?lLq=zJ%#6d@RPBS)hiw4v2SB$2j!Ir0O3V%foWh?Gq{9>gndt6 z^_MfSsbpYliEFITr*3!fx@5!9y}IpHR6GpHhi`)9<*Cs10h!VJl7~x+XaRizGU$g} zJiA94jL^4a{ux3v9=)JMGU6^pQ|dE0jGaGrP2&79rCXqgwa{NVbSE}hXfR&yIL_Cc z84x-!t-BL^3it4s=LWyj>x+5T$I7ET=KqnWa3B1LWt``PFXlhXyFBM%$jrULf5Id6 zxnn+uyB+?A#oP{V+5VuzY1s~CTDCvtaQfo5f5+%uZ&2vq9p263tFzW6R=K3^^T%sz zYb`fWFaiSQQ2W~$=lKshPN!P7?@silxZ_5vCne#U*4@^T@7iFI_OCkPLxuRCDSy$2mi2EKQQ75rjflL_zgR=p_+o*V#5R7E$NkUBo~sf0 z?sZRjmi7Dn(iv~`ZHvFCf2GMU_4j9ZqhCz$TNZxoB^x4Y?_U%J#s`^WFaZpv;WdpH zZ0O=d#!B`Yr!qITZ8v1OJeM&j!zTsSbIJdjPx8D3x9ZKqS{+Qad?!X@iaS%m?ImA4 z@+^$P>a&y}6F1F5Q*Y7UmDk)IH>UZDdRoT&i#~0^s4n!6^-Ev+^Dg$MxppA{fEE(o z_&uoz=H$mQ0PK|TM1O)k(Q;T0jH{i<{CR}`E%1m>QoX51?~aeTUA`0bkmj@flX;ih zkxPWWSee6)QM)bMJ6-Wbsbb#GomUi93AU3_69#fCEY!cN|5}QA?GW=`@?XHn z|AOv(Qa5$xmsVN5(N)>-%zkN?SyVPC!o`rYIkx7 zeSzlIg?o*;tRE{y?F&PpzD~#sXlh*Yd<|l<2C@B=8obgTT|W~@KYqkAgWkM7x`J9- zDE4^(haimQDaCdYAuw1#5VV(TTHf_nwfqv)BxivO0yeHB$PE=UIHbpKpoJpV4)odA z{5f=EV^HP+#dhIFbcOYE7S_(IJyBm#VrBXpgP`aS!@-~6(nCnA&vOLqu#w+jfIpJI z0WSuB?(Y9O@9H2;E4JAqhCD|#%;X^>u0-@c(lA%1E4Ee);DG#aI%99Z^DCk+>XQx# zb2!ccv|nhujK*Ubj2qFKYTU$Q4)LIqz}LWrB7FZ1yzqd$ZZrw>Cyu$00bjF+ygNmU z6zf+!{7|R-D%Rd6eLp~G7;W9t%;YZTjQJ8s8F zKeRi6{}Dj3y@L=O1FatLSucqXK0ti1N$@ZQ7J!wA4=ir! z(^&Z-9`m1q;Xck|t50|e6_0ev9b1hk$9$Djn-)bReQV)SF_Wo40^|r_zLrShws8Qk z2X#W3VnTgopoev#HZ+NdZhqx<0Jyuy{zE}0XD!0N~OTV-d&Umlx zP%P_z1X0qivM&YeYc00A9|JLDMA%~9a)~$({&5$SJQLDTY<9%<6kx9at>k%&vNe<) zQ1`~OBzD>nLV4I+6zsw2B6gIZ-tt{?HfFomee+oa;H%R~$~29Br%(FQ8$D#fZOMdo ziX43i`sr>&zWUF4xOA4sKn-nE$SwxdE$_F&aZ#*}v7V)?7O3=~PnxoJKB>dJP5^9p zdq{~3a0xUOZfiMVi!$aZ_;K9 z?Ys-5mD)pibN@smq+vzG5P~yk;7PK#sXO5a*|*@xa8OT4G~Cw3+)d9 zT)5Hxa14^g{y?icd4CYDO1y^7xB1e0Sh*1~#S8A3S;$N>PbWm&<_A!03$D4uDLLU- z^5OR-vk?U3luEzilujd9hEpoti7;6BKj*MhLR)3ZH^FuIUZUSZyB%2&7SC0bHy}^T z>=Zh~Ee4N%u7uO%dl3vAkpFc6N2?~ge=MLgY0WKM*A%eUz)c-P?3)d65yBHxy{gjUT=F8VIj{+mt;-w*}J>5AB zU-Z((ZTI3XP8y&MrBBWm!;DOber|}2g8>&F5%+CfiftxDNq0_5N#NQw#L$H-q*u|m zlTOPdr+!QklY(WLx70}h2GiXr%kSZHj{H54X%fg1XJr&dL0+qX??1f};?pjrR9 zWUo5H+;#6q92n)rdEjYATiO;;PN9yz7$ase6H+d$wKSQENdVDq<dw2QEGw5vtXQ4^8Ry)FR7-d?fw5;XK?saXi=|i-;fyYQnv)#2CiPIV5iE-{rWP-w3yH>4Hi6f&qyoKg0JK zyvRKJ7MOyScXU{5&*R7tF?8~deb&Co!k#oa$4#$iQwPU!cX)2MA)F~L4CRH0hlejd zNv^n~n-@K82xXB3nu5LDzHBT= z&5t1VPySXUed?1w!7{uJ{upj+Z8sTz2jb|B$2PbfPDC2f;s~b1EbHFHyUP?nftI&C z2HmbrgzuGK!pan9I(ZFpSQcMm2Zzy|1(3h1dZ(M@Uw|jb?WjMf*1tyeD^TBMvfiS8 zQba5Rie9*s>XXb1!OW!`R!rl- zO2`P`V-lJU!}Jwu_yg1q=mO(6;y?&B4)1x+jTa=-;hV{aJZ@GSJ0U*Wmbzo6c2vm! zjNo5L#vUzx7>Ja}t@7)bnfwj#ls~{LI^_=FX^q{Fu@)Y2ZagG^6S;H8u6aNDp+WvN zsHM*St?D4wBl6v}Nwa6WFXqgSl|nx}19x`xG0#bE{vuQamtdJ^n*-L5rxzyrK1LVu zg-UeL(BeUy8piA?fXu`JAfL3;pQYGl+2B8q;c%Q!G1|+(LTb`c3Ou$z!oyWRO0H^v zvsSC3iXn0fm==glMZ_zpqcHgC4tXz5eCYUd^g+AvSe-_(wc``zIwfq1Dyb2~by|-z zlX?u}uu;Pi!E`G z_QOxGNU&Rd4&~w#C7c%-i1-vqMj$r5r__sA9<8#%OifN2i2C8;XXuyi{>6t2NME~~ zKSIteZfmil7D0_&c0mpY`gYJ;wI8Sq-(YELwiYIEce>Rrb$ANjcS}cHYX%y_fqK`P zPwN^3Ubpm?G*GzDh3}7^(LI)}t~H6H>-8mgjRv#+E57W4L!W$|JwQJ z9!?j89G5rt$(^@#M(&qP>7b5wXLOm)AxOiTU@_BY$hppS+QW0B-S#fi?@^?k8GANz z?V##$-+0VjbS#2R2Amwd^Lr!asQFi@b;hoH8Gsa@OY0byeNer%qEk2q7*Anho@pB> z5TK4d>NzV zlG*~!pb{>k6ejNkEF(QCwu9I$;7K^nv)~7>kNeyK%MT$DT&z*2Kc$!(mhV(-|A;Jn z!We`b8F8K}(_I!FEqWj<94$y@4|N{cjg_J8b<%O-u#7lJZz;A1kWp;&MX`J5C?lhN z%f5^&Q|yEzv%@Nyt4aM@;2^E^9pvlZ#z!IZ>3mG-7c@mEeJ&!n!%!ZL9E+RgY^tKN zWZFp}X37IOQ96;I1yq;G1PpcCWm0CThTLTu1ssW@9or4#k0!v-Y@n81M!Nh>!b|2w zGl7r!jCP$E?!r7rN1`DchY>0ymgt_jur+*B7ng0=?iJg&5!!R<-v_}I*C(*eco}`{ zJ*e2ePBob8Jl!&UjujNVR}NbRj=etIjgd_h?jv)xE4HiAOzDa$DUbaU{W&Y}g;?`R z_Hr(rfh_Hi#!qH|`RfH+Pt15G54obwNSH?h*_fw4Td_TXFq%sqgi#)=VrxSQhxOT% ze@xBC{dTn+rn1M5W{7Zl?Yt2ALXVXfcJLio4tT)nMidH%yF$3w0qIYiL7mX&u=71A zrce=@e@L90$Z1;Fj&b#i~v42ZvG|8ed-D`y^1`R zj0WjEa|%P@(F}+DM>UgzzH&S1`|dM>7Q)lN<6dW>%`;w{0nk4l(FAD$Ll{6$JldJT zi%tab_b0T6V7xfqCb#{NHjjAm?*Nk9zH)`O%9O2`m@?%B@%}gQ-X`8Ji}x$yyRVwCk00BcN6m444v?WWHHIl za6GH@Cgb&dQvDPfhmI$`Z2UPi*jLu8e%nNO1(n^y(=}+-;HPD3`*$_CTZ8|m!5?a{O@lpJJ6+6U7V9|` z&ezIi8a%1NMh&jj;CD5+S%X_O_@V~4Yf$HY@RD-r61C<*4c?-SPp2QRm2)+CMx*P| z;42#Zz6NVGc&$cn)ZjD?->N~Kf5vRqMjO8ld*-O+flHuHf4hd)%lMl$(SE4>-^{eR z)%LwM6*{w3Sl;+(V^d3`J;P&86ZK8r1Pa@PBALL;Nqvgf;nHf@ba7`0#~O*i(-N zk7=-1gVav{n|f^etQXN~?;S`5D#zsMBq|yExf>@&q$@o{pGd0jNy<|j;-Noe2b6ar z5#Qt|x!=u|jM+Vm!B(&MP*6P=H2OpLr)BtOaHkSp=${?HB9%oQJ^cP7=BCgrIS@z9^-eg$8x z0yl{)r7flHNwl4gd^=z+;4@PgdkN`r6moFXnU1s)sTK#D%}9^VX6zKwUy$f;Z(TOT zA)x=c5&A<+L*K=>%~5~0z;4EQU!NRk@sEk$HaKePkY!dNwmEcMgK$>~v~>>AH8eW% z^BM8!9m2J;UX*Kw%Bv_V8qsemX4cVf7#yGgZx`$ZaAtmfbuHYLjB*B*OBUnvMhQxc z4UEK<6K-%M4!8Jt7ACj#inbXeae~e|0#_>NvPa?soqYtZOwi?y#0k25;7U_4X6?5g zv@Sn0=w(Nch6ew@>H$?6$I7Pqa03ZNtns0?j&FVITQ!f6*G_n~xdg-24zEk}-8};L zfatp?8CRy#9UFmD>3V@nU~$ZBRewLS1zW-ZjYpInt;jO{H#IW@Dh>U%hAK3D2~YG6 za9P8+LTV=im!wx%2ka2>&ppPWwzm+DRbssX=)ZNLwb!PXAtte|hRY#jnY9Y`k%l&p zghW~YeUJV-7-CQfI`MlKM?P6Rt84>bA%FY^#*wdiP^!7|W58WoT0u&_A=Ah*=cKXB zg0yA>{vg5l9r!7N(6M2B1{+_N$;Qta#l{zm9T?L*x^j{!g_%xfupXQ-^KhYLyo<3( z=w@UY3ciHKU`b<^n$gTMCzDx%qnp)!Gg)RZt$E_K(d^ne*RX31=zj+*P%D2^2=bEi*2Qp#2p2;8L9vEHNIxsXJgp7 z@Mva&yz|E~7C?GXYdf+G;{YuKExUx)FxtdMFH9dW^%7U~dqW1h;T=SJ8#|iASQUJ-?`9PmQVc8wIy2x8+Oi;% zEXX7avdAj1Hj6rp$uKdKO@z!QqJARkC!&60fvuPLjT@3DWC=XUllmh4zB3JfE|>=& zi@xajC**&bRMzadbeynf)efjFX2beHmx&GK+gjURlqaM7L#>>L{4GiKRK7K-eiZ3v zj)h$voY0%qd{w1B{|3-3nSp%nevXM*#-nUAVSYQA z&Ct%s#towkY}6xw8Ag^7G&Ym=3}z!UW8Ikxhyr!=!lOgVCv5Zvgm1g_p}3$I_>6lP z%SXE0v!YVP>iaS6zuU4#Qd&`@*oB^Cy5>vhs6J6i?~!zNZH#J-`qszYdYN&NuCFv^ zz5mb9j^u!qAW}QZJxDSV?ca8!d?Y7QDN-d;DtxvDDF>+lsTj$RM4VDsD(u9>LV;ji zRef_)Fg&xSzFsSq)Hj6!TK>*J*tN2%uDQP`v!9&&MVb1@a>Bc`vA8s31`H4uN$}wqSu}Yz}a2cFOqP#mtoGp zWhdb(fy)Q(a?jt-`Kna@R?hi*SxGQZ6%O1{S08Y(sFCcA^0JJ7OZb?%^!;&ysB2G3g8BzX1FPGId1ezi+>$^RR@A3Ew3&c8L-%VLiu~a>BR|JB= zrl2zvu5miQ?pj*vS?G2mF7q$BucUPLoP3pj604{HMa9sWzoNRSc@=!_SMW6foZp*P zVGUN4w6>P52sX8NhA#?kV-10Z>J>r8ibSrVnX&mIN8E}j*U+>wz;35pC=jLyvZA7- zBGeqHuB)x9u2>=FkM@l4t*v+9=jQ=cD8V_5P0_{^Uez3^sB5fks?f$$QC}AVxBE&K zm)}$7^?Qb9mW-*GtA^>sBB%~jMvI1sF8Y!dt$n}UIGB-kiMR$WzJkIRb{ zY$9twwyB!21*{?zSW!`1S5J+|>0~nqtFg9jc_bL9XvB?2Q%glvaQRB;m-?v-!$Z}5 zYp5#FxUw$T)YuSc#CYe7plE6gwAO_y!sM(-ZWY16a!d>TXf?Hw#%giN0lfrT1J#jm zK(A68U5~K@!xgX@Fv1VHE2>3?-JL_KlB#A%FHq8i56}4Z`68J!m7Ap_0!;18f>Z#ghEZhJFo&VE}iS76k1=AU=UqsH0(uF8N^f92;u1{w#>LF z5(us;4FqeOf(=!T)tDJ1gU%;^m4mm2O-;gLZD6GX$p#6#WEC{oKm1&G$bO{u9YxW<%+dZ# zdpTLY_NYazK=t&<3rF5}&0OHR4|i~|dEE6?V7XMNjz@Jl{|P-UD4pmEe24teU!fcF z2Tmsq@qgvhjF?G3zYw&HL!5E93iFWnA)kCMq4UZw#^cNnJi(WcHXu*%Riw?xC!Zzg z3{stiqXzH<>yS<&Pp}E;Gvq18d=ZJx@)Vbz(ee~iE=D4JCEzYC-wQYy=TaH?e85tq z&yXirh4dHXn*sM}`5r+13`;Nr0dO{sgaofgnvOidDM<5?Czz+<3C`B=m4Hto5&unq zKe?Wh(fUYUPAy0Q!YmsPPPXfM)L_E6*YI%a= zrmFZX!1-F9;36$w2KWlne4h$WYIuT!TArW_=Qrxh4R}b)_W-WInJx=$2|kG=#sm1O zmTw3ARLg$`IQk}aJYxWtBb8EHz*9&|k!RB&N2F%t=|1jmB;x4<{0S1xk>JaDICg^O z6~MXE5d$MnunuRdF*wW6|FQB5r1{7n06c?4`uz-W%PjB%{#StXCpZrxKL*f=M12t) zUjQD!X92E53M0P(a84oaPmm{gKN5{+E#R|S{^x)vk;twH+UKbG9>60=o6vRu@Ep=+ z{uHR)5rnQ z*$HdyGI;!9iumtWD$!!K?(CBq&tK5mP;Xxu2!`-Ys5oc#%={dCps~8C248cEbIQx^ zm@zlU9ttCXtHO7kKyl8hKqzOy?dHt+RiRLz;gR}Pb}(oR73Uzlx-C?_BG6D3n$b{K z9c&6U)rMzOH#OW=6>6Bda(0d#TWwt}BF+1fdjl)GeSSC?35C4~{WNZq{|dLl$)X)v zh7d5}K(|UO0}~8YjL-YBwbh)9Bq=zeJov=ex zZhNl%xx{nb&-Fal``o~D`CI31b#ATPx?*ed*4C|UTQ_X&-70U*c;5Pa>+_qQ-~7D& mg}E;{U*Ip4zOeKKG_Hi-16Z+T^OnRGc?+_CfBr@!@c#f&;tI?F literal 0 HcmV?d00001 From a3613fb1ad4946799fec7302670c7f5eeed30c87 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Thu, 25 May 2023 10:20:06 +0200 Subject: [PATCH 008/138] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fca8d34..2e43ef8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -77,7 +77,7 @@ jobs: git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "GitHub Actions [Bot]" git add ${{github.workspace}}/lib/bin/* - git diff-index --quiet HEAD || git commit -m "compiled binarys" + git diff-index --quiet HEAD || git commit -m "Pushed compiled binarys" - name: Push changes uses: ad-m/github-push-action@master with: From ed0b924044548734a1dce859e4d321aeb502353d Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Thu, 25 May 2023 10:22:35 +0200 Subject: [PATCH 009/138] Update build.yml --- .github/workflows/build.yml | 25 ++++++++++++++++--------- lib/bin/windows.dll | Bin 19456 -> 19456 bytes 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2e43ef8..f946b69 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,7 @@ env: jobs: build_linux: + name: Build linux binaries runs-on: ubuntu-latest steps: @@ -24,13 +25,14 @@ jobs: - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - - name: Archive artifact + - name: Upload artifact uses: actions/upload-artifact@v3 with: name: linux-binary path: ${{github.workspace}}/build/libserialport.so build_windows: + name: Build win64 binaries runs-on: windows-latest steps: @@ -42,7 +44,7 @@ jobs: - name: Build run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} - - name: Archive artifact + - name: Upload artifact uses: actions/upload-artifact@v3 with: name: windows-binary @@ -50,7 +52,7 @@ jobs: commit: needs: [build_windows, build_linux] - name: commit binarys + name: Commit binaries runs-on: ubuntu-latest steps: @@ -59,7 +61,7 @@ jobs: persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal access token. fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository. - - name: Download artifacts + - name: Download artifact uses: actions/download-artifact@v3 with: path: ${{github.workspace}}/tmp @@ -67,17 +69,22 @@ jobs: - name: Create bin folder if it does not exist run: mkdir -p ${{github.workspace}}/lib/bin - - name: Rename linux Binary + - name: Move and rename linux binary run: mv ${{github.workspace}}/tmp/linux-binary/libserialport.so ${{github.workspace}}/lib/bin/linux.so - - name: Rename windows Binary + - name: Move and rename windows binary run: mv ${{github.workspace}}/tmp/windows-binary/serialport.dll ${{github.workspace}}/lib/bin/windows.dll - - name: Commit files + + - name: Configure Git run: | git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "GitHub Actions [Bot]" + git config --local user.name "github-actions[bot]" + + - name: Commit binaries + run: | git add ${{github.workspace}}/lib/bin/* - git diff-index --quiet HEAD || git commit -m "Pushed compiled binarys" + git diff-index --quiet HEAD || git commit -m "Commited compiled binaries" + - name: Push changes uses: ad-m/github-push-action@master with: diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 4326e59992b9dcaea7ed36f9efa7d514359fce9b..00e6688e94aa0a49c47fad8336ab435cc9e5de4f 100644 GIT binary patch delta 27 fcmZpe!Pqc^af1LObF@ePW?{xaeJ~^4V5T$xc7h0F delta 27 fcmZpe!Pqc^af1LO^P2d)&BBa<`d~)7!AxlYfM*FY From cfe34694c621e823383bb156afc6dd4a476680b3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 25 May 2023 17:03:34 +0000 Subject: [PATCH 010/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19456 -> 19456 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 00e6688e94aa0a49c47fad8336ab435cc9e5de4f..469e31de7d23bab4d1c1f28ff42609bedc5c5618 100644 GIT binary patch delta 25 ecmZpe!Pqc^af1LO)0HWkg&2eML3EnIENK9AfC&u% delta 25 ecmZpe!Pqc^af1LOQ?$osA;utm5S?Z)OBw)VDhGoA From e25107b4259b2d1996259ac0aba05b9099da64b1 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Thu, 25 May 2023 19:06:28 +0200 Subject: [PATCH 011/138] i nned a commit msg --- CMakeLists.txt => src/CMakeLists.txt | 0 {include => src/include}/serial.h | 0 {include => src/include}/serial_unix.h | 0 {include => src/include}/serial_windows.h | 0 {include => src/include}/status_codes.h | 0 src/{ => src}/serial.cpp | 0 src/{ => src}/serial_unix.cpp | 0 src/{ => src}/serial_windows.cpp | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename CMakeLists.txt => src/CMakeLists.txt (100%) rename {include => src/include}/serial.h (100%) rename {include => src/include}/serial_unix.h (100%) rename {include => src/include}/serial_windows.h (100%) rename {include => src/include}/status_codes.h (100%) rename src/{ => src}/serial.cpp (100%) rename src/{ => src}/serial_unix.cpp (100%) rename src/{ => src}/serial_windows.cpp (100%) diff --git a/CMakeLists.txt b/src/CMakeLists.txt similarity index 100% rename from CMakeLists.txt rename to src/CMakeLists.txt diff --git a/include/serial.h b/src/include/serial.h similarity index 100% rename from include/serial.h rename to src/include/serial.h diff --git a/include/serial_unix.h b/src/include/serial_unix.h similarity index 100% rename from include/serial_unix.h rename to src/include/serial_unix.h diff --git a/include/serial_windows.h b/src/include/serial_windows.h similarity index 100% rename from include/serial_windows.h rename to src/include/serial_windows.h diff --git a/include/status_codes.h b/src/include/status_codes.h similarity index 100% rename from include/status_codes.h rename to src/include/status_codes.h diff --git a/src/serial.cpp b/src/src/serial.cpp similarity index 100% rename from src/serial.cpp rename to src/src/serial.cpp diff --git a/src/serial_unix.cpp b/src/src/serial_unix.cpp similarity index 100% rename from src/serial_unix.cpp rename to src/src/serial_unix.cpp diff --git a/src/serial_windows.cpp b/src/src/serial_windows.cpp similarity index 100% rename from src/serial_windows.cpp rename to src/src/serial_windows.cpp From cd6183cdc0a084db25199bc599f3b69c4628bc9d Mon Sep 17 00:00:00 2001 From: Katze719 Date: Thu, 25 May 2023 19:09:59 +0200 Subject: [PATCH 012/138] exclude include --- .github/workflows/build.yml | 1 - .github/workflows/release.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f946b69..acd3c0f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,7 +3,6 @@ name: Build Binarys on: push: paths: - - 'include/**' - 'src/**' - '.github/workflows/build.yml' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f11e11c..db7cb61 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,7 +5,6 @@ on: pull_request: branches: [ "main" ] paths: - - 'include/**' - 'src/**' - '.github/workflows/release.yml' From 99a327a92ef265c817ea5268acf058b7b68db151 Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:12:43 +0200 Subject: [PATCH 013/138] Create CMakeLists.txt --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1 @@ + From ef6aed5a51251cfa9b11f6a9daf82fef5dda6367 Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:14:16 +0200 Subject: [PATCH 014/138] Update CMakeLists.txt --- src/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7b28c4b..6d01c17 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,6 +8,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) set(LIB true) +set(PROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src) + file(GLOB_RECURSE SRCS ${PROJECT_SOURCE_DIR}/src/*.cpp) # a macro that gets all of the header containing directories. From 753b84e9e130f4c057c4b7f10e710a8e46671f65 Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:29:48 +0200 Subject: [PATCH 015/138] Update CMakeLists.txt --- CMakeLists.txt | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b13789..6d01c17 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1 +1,48 @@ +cmake_minimum_required(VERSION 3.10) +set(PROJECT_N serialport) +project(${PROJECT_N} VERSION 1.0) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED True) + +set(LIB true) + +set(PROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src) + +file(GLOB_RECURSE SRCS ${PROJECT_SOURCE_DIR}/src/*.cpp) + +# a macro that gets all of the header containing directories. +MACRO(header_directories return_list includes_base_folder extention ) + FILE(GLOB_RECURSE new_list ${includes_base_folder}/*.${extention}) + SET(dir_list "") + FOREACH(file_path ${new_list}) + GET_FILENAME_COMPONENT(dir_path ${file_path} PATH) + SET(dir_list ${dir_list} ${dir_path}) + ENDFOREACH() + LIST(REMOVE_DUPLICATES dir_list) + SET(${return_list} ${dir_list}) +ENDMACRO() + +# using said macro. +header_directories(INCLUDES ${PROJECT_SOURCE_DIR}/include/ hpp) + +message("src files:") +foreach(file ${SRCS}) + message(STATUS ${file}) +endforeach() + +message("include directories:") +foreach(dir ${INCLUDES}) + message(STATUS ${dir}) +endforeach() + +if(LIB) + add_library(${PROJECT_N} SHARED ${SRCS}) +else() + add_executable(${PROJECT_N} ${SRCS}) +endif(LIB) + +target_include_directories(${PROJECT_N} PUBLIC include) + +# set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-shared -fPIC -Wall") From a76472e697e497ec9ac38be5c4776393033652bb Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:30:13 +0200 Subject: [PATCH 016/138] Delete CMakeLists.txt --- src/CMakeLists.txt | 48 ---------------------------------------------- 1 file changed, 48 deletions(-) delete mode 100644 src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index 6d01c17..0000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -cmake_minimum_required(VERSION 3.10) - -set(PROJECT_N serialport) -project(${PROJECT_N} VERSION 1.0) - -set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED True) - -set(LIB true) - -set(PROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src) - -file(GLOB_RECURSE SRCS ${PROJECT_SOURCE_DIR}/src/*.cpp) - -# a macro that gets all of the header containing directories. -MACRO(header_directories return_list includes_base_folder extention ) - FILE(GLOB_RECURSE new_list ${includes_base_folder}/*.${extention}) - SET(dir_list "") - FOREACH(file_path ${new_list}) - GET_FILENAME_COMPONENT(dir_path ${file_path} PATH) - SET(dir_list ${dir_list} ${dir_path}) - ENDFOREACH() - LIST(REMOVE_DUPLICATES dir_list) - SET(${return_list} ${dir_list}) -ENDMACRO() - -# using said macro. -header_directories(INCLUDES ${PROJECT_SOURCE_DIR}/include/ hpp) - -message("src files:") -foreach(file ${SRCS}) - message(STATUS ${file}) -endforeach() - -message("include directories:") -foreach(dir ${INCLUDES}) - message(STATUS ${dir}) -endforeach() - -if(LIB) - add_library(${PROJECT_N} SHARED ${SRCS}) -else() - add_executable(${PROJECT_N} ${SRCS}) -endif(LIB) - -target_include_directories(${PROJECT_N} PUBLIC include) - -# set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-shared -fPIC -Wall") From f6c9b4071b6da4fc784b57321bf1f3dfa4932e05 Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:31:32 +0200 Subject: [PATCH 017/138] Create CMakeLists.txt --- src/CMakeLists.txt | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..6d01c17 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,48 @@ +cmake_minimum_required(VERSION 3.10) + +set(PROJECT_N serialport) +project(${PROJECT_N} VERSION 1.0) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED True) + +set(LIB true) + +set(PROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src) + +file(GLOB_RECURSE SRCS ${PROJECT_SOURCE_DIR}/src/*.cpp) + +# a macro that gets all of the header containing directories. +MACRO(header_directories return_list includes_base_folder extention ) + FILE(GLOB_RECURSE new_list ${includes_base_folder}/*.${extention}) + SET(dir_list "") + FOREACH(file_path ${new_list}) + GET_FILENAME_COMPONENT(dir_path ${file_path} PATH) + SET(dir_list ${dir_list} ${dir_path}) + ENDFOREACH() + LIST(REMOVE_DUPLICATES dir_list) + SET(${return_list} ${dir_list}) +ENDMACRO() + +# using said macro. +header_directories(INCLUDES ${PROJECT_SOURCE_DIR}/include/ hpp) + +message("src files:") +foreach(file ${SRCS}) + message(STATUS ${file}) +endforeach() + +message("include directories:") +foreach(dir ${INCLUDES}) + message(STATUS ${dir}) +endforeach() + +if(LIB) + add_library(${PROJECT_N} SHARED ${SRCS}) +else() + add_executable(${PROJECT_N} ${SRCS}) +endif(LIB) + +target_include_directories(${PROJECT_N} PUBLIC include) + +# set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-shared -fPIC -Wall") From dda0f2672c55883a6f8b18ae3fca435c62181fa0 Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:31:53 +0200 Subject: [PATCH 018/138] Update CMakeLists.txt --- src/CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6d01c17..7b28c4b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,8 +8,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) set(LIB true) -set(PROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src) - file(GLOB_RECURSE SRCS ${PROJECT_SOURCE_DIR}/src/*.cpp) # a macro that gets all of the header containing directories. From 57e5ec621b9ffed59e15190d796dac8fdc97eeae Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:32:09 +0200 Subject: [PATCH 019/138] Delete CMakeLists.txt --- CMakeLists.txt | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) delete mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 6d01c17..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -cmake_minimum_required(VERSION 3.10) - -set(PROJECT_N serialport) -project(${PROJECT_N} VERSION 1.0) - -set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED True) - -set(LIB true) - -set(PROJECT_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src) - -file(GLOB_RECURSE SRCS ${PROJECT_SOURCE_DIR}/src/*.cpp) - -# a macro that gets all of the header containing directories. -MACRO(header_directories return_list includes_base_folder extention ) - FILE(GLOB_RECURSE new_list ${includes_base_folder}/*.${extention}) - SET(dir_list "") - FOREACH(file_path ${new_list}) - GET_FILENAME_COMPONENT(dir_path ${file_path} PATH) - SET(dir_list ${dir_list} ${dir_path}) - ENDFOREACH() - LIST(REMOVE_DUPLICATES dir_list) - SET(${return_list} ${dir_list}) -ENDMACRO() - -# using said macro. -header_directories(INCLUDES ${PROJECT_SOURCE_DIR}/include/ hpp) - -message("src files:") -foreach(file ${SRCS}) - message(STATUS ${file}) -endforeach() - -message("include directories:") -foreach(dir ${INCLUDES}) - message(STATUS ${dir}) -endforeach() - -if(LIB) - add_library(${PROJECT_N} SHARED ${SRCS}) -else() - add_executable(${PROJECT_N} ${SRCS}) -endif(LIB) - -target_include_directories(${PROJECT_N} PUBLIC include) - -# set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-shared -fPIC -Wall") From 62dbd7beac0a2b1f7f1303ec9c291150333a9c5d Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:34:05 +0200 Subject: [PATCH 020/138] Update CMakeLists.txt --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7b28c4b..5824589 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,7 +23,7 @@ MACRO(header_directories return_list includes_base_folder extention ) ENDMACRO() # using said macro. -header_directories(INCLUDES ${PROJECT_SOURCE_DIR}/include/ hpp) +header_directories(INCLUDES ${PROJECT_SOURCE_DIR}/src/include/ hpp) message("src files:") foreach(file ${SRCS}) From dae652b3a4db190b9c2767c4a2d26be994529c74 Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:40:09 +0200 Subject: [PATCH 021/138] Create CMakeLists.txt --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..74d2f24 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.10) + +set(PROJECT_N serialport) +project(${PROJECT_N} VERSION 1.0) + +add_subdirectory(src) From fe3fc98f72000b45ba9ffa561b66d1a04a2ed3b3 Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:40:14 +0200 Subject: [PATCH 022/138] Update CMakeLists.txt --- src/CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5824589..23bea7d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.10) -set(PROJECT_N serialport) -project(${PROJECT_N} VERSION 1.0) - set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) From 3885abbc39ba3279e400a5a5c17451d46de7d41e Mon Sep 17 00:00:00 2001 From: Katze719 <38188106+Katze719@users.noreply.github.com> Date: Fri, 26 May 2023 08:42:38 +0200 Subject: [PATCH 023/138] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index acd3c0f..c500c9f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: linux-binary - path: ${{github.workspace}}/build/libserialport.so + path: ${{github.workspace}}/build/src/libserialport.so build_windows: name: Build win64 binaries @@ -47,7 +47,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: windows-binary - path: ${{github.workspace}}\build\Release\serialport.dll + path: ${{github.workspace}}\build\src\Release\serialport.dll commit: needs: [build_windows, build_linux] From c836af53d161e8637ce1f2a470102e5ff7d2bff6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 26 May 2023 06:44:15 +0000 Subject: [PATCH 024/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19456 -> 19456 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 469e31de7d23bab4d1c1f28ff42609bedc5c5618..0715cf65b8f4a69f3c25bb80dd0694d9917d4353 100644 GIT binary patch delta 27 fcmZpe!Pqc^af1LOvr%ZlW?{xaeJ~^4V5T$xbHNBL delta 27 fcmZpe!Pqc^af1LO^OY(2n}rzz^}&pEgPGC*i6;r| From ff520aad9f472fd5a9e70c25ba6bd6cd0ca2bcc4 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Fri, 26 May 2023 19:47:16 +0200 Subject: [PATCH 025/138] Updating TypeScript files --- lib/Serial.ts | 94 +++++++++++------------ lib/check_for_error_code.ts | 5 ++ lib/constants/baudrates.ts | 16 ++++ lib/constants/data_bits.ts | 13 ++-- lib/constants/parity.ts | 15 ++-- lib/constants/status_codes.ts | 19 ++--- lib/constants/stop_bits.ts | 13 ++-- lib/decode.ts | 9 ++- lib/encode.ts | 9 ++- lib/errors/error_code.ts | 8 +- lib/interfaces/serial_functions.d.ts | 19 +++-- lib/interfaces/serial_options.d.ts | 12 +-- lib/{load_dl.ts => load_binary_for_os.ts} | 11 ++- lib/register_serial_functions.ts | 66 ++-------------- lib/types/object_values_map.ts | 1 + 15 files changed, 142 insertions(+), 168 deletions(-) create mode 100644 lib/constants/baudrates.ts rename lib/{load_dl.ts => load_binary_for_os.ts} (70%) create mode 100644 lib/types/object_values_map.ts diff --git a/lib/Serial.ts b/lib/Serial.ts index 2e3df82..778ca1a 100644 --- a/lib/Serial.ts +++ b/lib/Serial.ts @@ -1,12 +1,14 @@ import { checkForErrorCode } from "./check_for_error_code.ts"; +import { Baudrate } from "./constants/baudrates.ts"; import { dataBits } from "./constants/data_bits.ts"; import { parity } from "./constants/parity.ts"; import { stopBits } from "./constants/stop_bits.ts"; import { decode } from "./decode.ts"; +import { encode } from "./encode.ts"; import { Ports } from "./interfaces/ports.ts"; import { SerialFunctions } from "./interfaces/serial_functions.d.ts"; import { SerialOptions } from "./interfaces/serial_options.d.ts"; -import { loadDL } from "./load_dl.ts"; +import { loadBinaryForOS } from "./load_binary_for_os.ts"; export class Serial { private _isOpen : boolean; @@ -17,7 +19,7 @@ export class Serial { */ constructor() { this._isOpen = false; - this._dl = loadDL('./lib/dls', Deno.build.os); + this._dl = loadBinaryForOS('./lib/dls', Deno.build.os); } /** @@ -30,50 +32,48 @@ export class Serial { /** * Opens the serial connection. - * @param {string} port The port to connect - * @param {number} baudrate The baudrate - * @param {SerialOptions} serialOptions Additional options for the serial connection (`data bits`, `parity`, `stop bits`) + * @param port The port to connect + * @param baudrate The baudrate + * @param serialOptions Additional options for the serial connection (`data bits`, `parity`, `stop bits`) */ open( port : string, - baudrate : number, + baudrate : Baudrate, serialOptions? : SerialOptions ) : number { - const status = this._dl.open( - port, + const result = this._dl.open( + encode(port + '\0'), baudrate, serialOptions?.dataBits || dataBits.EIGHT, serialOptions?.parity || parity.NONE, serialOptions?.stopBits || stopBits.ONE ); - checkForErrorCode(status); + checkForErrorCode(result); this._isOpen = true; - return status; + return result; } /** * Closes the serial connection. */ - close() : number { - const status = this._dl.close(); + close() { + const result = this._dl.close(); - checkForErrorCode(status); + checkForErrorCode(result); this._isOpen = false; - - return status; } /** * Read data from serial connection. - * @param {Uint8Array} buffer Buffer to read the bytes into - * @param {number} bytes The number of bytes to read - * @param {number} timeout The timeout in `ms` - * @param {number} multiplier The timeout between reading individual bytes in `ms` - * @returns {number} Returns number of bytes read + * @param buffer Buffer to read the bytes into + * @param bytes The number of bytes to read + * @param timeout The timeout in `ms` + * @param multiplier The timeout between reading individual bytes in `ms` + * @returns The number of bytes read */ read( buffer : Uint8Array, @@ -81,26 +81,26 @@ export class Serial { timeout = 0, multiplier = 10 ) : number { - const status = this._dl.read( + const result = this._dl.read( buffer, bytes, timeout, multiplier ); - checkForErrorCode(status); + checkForErrorCode(result); - return status; + return result; } /** - * Read data from serial connection until a linebreak (`\n`) gets send. - * @param {Uint8Array} buffer Buffer to read the bytes into - * @param {number} bytes The number of bytes to read - * @param {number} timeout The timeout in `ms` - * @param {number} multiplier The timeout between reading individual bytes in `ms` - * @param {string} searchString A string to search for - * @returns {number} Returns number of bytes read + * Read data from serial connection until the specified `searchString` is found. + * @param buffer Buffer to read the bytes into + * @param bytes The number of bytes to read + * @param timeout The timeout in `ms` + * @param multiplier The timeout between reading individual bytes in `ms` + * @param searchString A string to search for + * @returns The number of bytes read */ readUntil( buffer : Uint8Array, @@ -109,25 +109,25 @@ export class Serial { multiplier = 10, searchString = '', ) : number { - const status = this._dl.readUntil( + const result = this._dl.readUntil( buffer, bytes, timeout, multiplier, - searchString + encode(searchString + '\0') ) - checkForErrorCode(status); + checkForErrorCode(result); - return status + return result } /** * Write data to serial connection. - * @param {Uint8Array} buffer The data to write/send - * @param {number} bytes The number of bytes to read - * @param {number} timeout The timeout in `ms` - * @param {number} multiplier The timeout between reading individual bytes in `ms` - * @returns {number} Returns number of bytes written + * @param buffer The data to write/send + * @param bytes The number of bytes to read + * @param timeout The timeout in `ms` + * @param multiplier The timeout between reading individual bytes in `ms` + * @returns The number of bytes written */ write( buffer : Uint8Array, @@ -135,16 +135,16 @@ export class Serial { timeout = 0, multiplier = 10 ) : number { - const status = this._dl.write( + const result = this._dl.write( buffer, bytes, timeout, multiplier ) - checkForErrorCode(status); + checkForErrorCode(result); - return status + return result } /** @@ -152,16 +152,16 @@ export class Serial { * @returns {Ports[]} Returns a list of ports info */ getPortsInfo() : Ports[] { - const buffer = new Uint8Array(1024); - const status = this._dl.getAvailablePorts( + const buffer = new Uint8Array(2048); + const result = this._dl.getAvailablePorts( buffer, buffer.length, - ',' + encode(',' + '\0') ) - checkForErrorCode(status); + checkForErrorCode(result); - const ports = decode(buffer).replaceAll('\x00','').split(',').map((port) => { + const ports = decode(buffer).replaceAll('\0','').split(',').map((port) => { return { name: port }; diff --git a/lib/check_for_error_code.ts b/lib/check_for_error_code.ts index 625a511..b12c634 100644 --- a/lib/check_for_error_code.ts +++ b/lib/check_for_error_code.ts @@ -1,5 +1,10 @@ import { ErrorCode } from "./errors/error_code.ts"; +/** + * This function is used to check for an error code. If the code is below 0 an error is thrown + * @param code Error code + * @throws The error with the code + */ export function checkForErrorCode(code : number) { if (code >= 0) { return; diff --git a/lib/constants/baudrates.ts b/lib/constants/baudrates.ts new file mode 100644 index 0000000..38bdee3 --- /dev/null +++ b/lib/constants/baudrates.ts @@ -0,0 +1,16 @@ +import { ObjectValuesMap } from "../types/object_values_map.ts"; + +export const baudrates = { + B1200: 1200, + B2400: 2400, + B9600: 9600, + B19200: 19200, + B38400: 38400, + B57600: 57600, + B74880: 74880, + B115200: 115200, + B230400: 230400, + B250000: 250000 +} as const; + +export type Baudrate = ObjectValuesMap diff --git a/lib/constants/data_bits.ts b/lib/constants/data_bits.ts index 67993e8..6270834 100644 --- a/lib/constants/data_bits.ts +++ b/lib/constants/data_bits.ts @@ -1,13 +1,10 @@ -interface DataBits { - FIVE: 5, - SIX: 6, - SEVEN: 7, - EIGHT: 8, -} +import { ObjectValuesMap } from "../types/object_values_map.ts"; -export const dataBits : DataBits = { +export const dataBits = { FIVE: 5, SIX: 6, SEVEN: 7, EIGHT: 8, -} +} as const; + +export type DataBits = ObjectValuesMap diff --git a/lib/constants/parity.ts b/lib/constants/parity.ts index 218afc7..3de4ca7 100644 --- a/lib/constants/parity.ts +++ b/lib/constants/parity.ts @@ -1,14 +1,11 @@ -interface Parity { +import { ObjectValuesMap } from "../types/object_values_map.ts"; + +export const parity = { NONE: 0, ODD: 1, EVEN: 2, MARK: 3, SPACE: 4 -} -export const parity : Parity = { - NONE: 0, - ODD: 1, - EVEN: 2, - MARK: 3, - SPACE: 4 -} +} as const; + +export type Parity = ObjectValuesMap diff --git a/lib/constants/status_codes.ts b/lib/constants/status_codes.ts index 9f54f4c..f8acf17 100644 --- a/lib/constants/status_codes.ts +++ b/lib/constants/status_codes.ts @@ -1,17 +1,6 @@ -interface StatusCodes { - SUCCESS: 0, - CLOSE_HANDLE_ERROR: -1, - INVALID_HANDLE_ERROR: -2, - READ_ERROR: -3, - WRITE_ERROR: -4, - GET_PROPERTY_ERROR: -5, - SET_PROPERTY_ERROR: -6, - SET_TIMEOUT_ERROR: -7, - BUFFER_ERROR: -8, - NOT_FOUND_ERROR: -9 -} +import { ObjectValuesMap } from "../types/object_values_map.ts"; -export const statusCodes : StatusCodes = { +export const statusCodes = { SUCCESS: 0, CLOSE_HANDLE_ERROR: -1, INVALID_HANDLE_ERROR: -2, @@ -22,4 +11,6 @@ export const statusCodes : StatusCodes = { SET_TIMEOUT_ERROR: -7, BUFFER_ERROR: -8, NOT_FOUND_ERROR: -9 -} +} as const; + +export type StatusCode = ObjectValuesMap diff --git a/lib/constants/stop_bits.ts b/lib/constants/stop_bits.ts index 64f4a6c..73b41e9 100644 --- a/lib/constants/stop_bits.ts +++ b/lib/constants/stop_bits.ts @@ -1,10 +1,9 @@ -interface StopBits { +import { ObjectValuesMap } from "../types/object_values_map.ts" + +export const stopBits = { ONE: 0, ONE_DOT_FIVE: 1, TWO: 2 -} -export const stopBits : StopBits = { - ONE: 0, - ONE_DOT_FIVE: 1, - TWO: 2 -} +} as const; + +export type StopBits = ObjectValuesMap diff --git a/lib/decode.ts b/lib/decode.ts index e26e737..e46746b 100644 --- a/lib/decode.ts +++ b/lib/decode.ts @@ -1 +1,8 @@ -export const decode = (buffer : Uint8Array) => new TextDecoder().decode(buffer); +const textDecoder = new TextDecoder() + +/** + * This function is used as a wrapper for the default text decoder. + * @param buffer Data to decode + * @returns The decoded data + */ +export const decode = (buffer : Uint8Array) : string => textDecoder.decode(buffer); diff --git a/lib/encode.ts b/lib/encode.ts index 0c7aa5b..49f7675 100644 --- a/lib/encode.ts +++ b/lib/encode.ts @@ -1 +1,8 @@ -export const encode = (string : string) => new TextEncoder().encode(string); +const textEncoder = new TextEncoder() + +/** + * This function is used as a wrapper for the default text encoder + * @param buffer Data to encode + * @returns The encoded data + */ +export const encode = (string : string) => textEncoder.encode(string); diff --git a/lib/errors/error_code.ts b/lib/errors/error_code.ts index 88aabb3..97f5645 100644 --- a/lib/errors/error_code.ts +++ b/lib/errors/error_code.ts @@ -1,8 +1,8 @@ -import { statusCodes } from "../constants/status_codes.ts"; - export class ErrorCode extends Error { + code : number + constructor(code : number) { - const errorCodeKey = Object.keys(statusCodes).find(key => statusCodes[key] === code); - super(`An error has occurred. Error code: ${errorCodeKey} (${code})`); + super(`An error has occurred. Error code: ${code}`); + this.code = code; } } diff --git a/lib/interfaces/serial_functions.d.ts b/lib/interfaces/serial_functions.d.ts index 6cd483b..6a2f695 100644 --- a/lib/interfaces/serial_functions.d.ts +++ b/lib/interfaces/serial_functions.d.ts @@ -1,12 +1,15 @@ -import { parity } from "../constants/parity.ts"; +import { Baudrate } from "../constants/baudrates.ts"; +import { DataBits } from "../constants/data_bits.ts"; +import { Parity } from "../constants/parity.ts"; +import { StopBits } from "../constants/stop_bits.ts"; export interface SerialFunctions { open: ( - port : string, - baudrate : number, - dataBits : number, - parity : parity, - stopBits : number + port : Uint8Array, + baudrate : Baudrate, + dataBits : DataBits, + parity : Parity, + stopBits : StopBits ) => number, close: () => number, read: ( @@ -20,7 +23,7 @@ export interface SerialFunctions { bufferSize : number, timeout : number, multiplier : number, - searchString : string + searchString : Uint8Array ) => number, write: ( buffer : Uint8Array, @@ -31,6 +34,6 @@ export interface SerialFunctions { getAvailablePorts: ( buffer : Uint8Array, bufferSize : number, - separator : string + separator : Uint8Array ) => number } diff --git a/lib/interfaces/serial_options.d.ts b/lib/interfaces/serial_options.d.ts index 3495589..306b4e4 100644 --- a/lib/interfaces/serial_options.d.ts +++ b/lib/interfaces/serial_options.d.ts @@ -1,9 +1,9 @@ -import { dataBits } from "../constants/data_bits.ts"; -import { parity } from "../constants/parity.ts"; -import { stopBits } from "../constants/stop_bits.ts"; +import { DataBits } from "../constants/data_bits.ts"; +import { Parity } from "../constants/parity.ts"; +import { StopBits } from "../constants/stop_bits.ts"; export interface SerialOptions { - dataBits? : dataBits, - parity? : parity, - stopBits? : stopBits + dataBits? : DataBits, + parity? : Parity, + stopBits? : StopBits } diff --git a/lib/load_dl.ts b/lib/load_binary_for_os.ts similarity index 70% rename from lib/load_dl.ts rename to lib/load_binary_for_os.ts index 7c01e97..3adf1ac 100644 --- a/lib/load_dl.ts +++ b/lib/load_binary_for_os.ts @@ -1,7 +1,13 @@ import { SerialFunctions } from "./interfaces/serial_functions.d.ts"; import { registerSerialFunctions } from "./register_serial_functions.ts"; -export function loadDL(path : string, os : string) : SerialFunctions { +/** + * This function is used to load the specific binary based on the current os. + * @param path The default path to the binaries directory + * @param os The current OS + * @returns A serial functions object with all the functions from the binary + */ +export function loadBinaryForOS(path : string, os : string) : SerialFunctions { let libSuffix = ''; switch(os) { @@ -24,10 +30,9 @@ export function loadDL(path : string, os : string) : SerialFunctions { - Windows (implemented) - Linux (in progress) - - MacOS (planned) For more information feel free to check out the repository: - https://github.com/TypeScriptPlayground/Serial` + https://github.com/TypeScriptPlayground/Serial#compatibility` ); } diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 99c2e63..003c6b7 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -1,6 +1,4 @@ import { SerialFunctions } from "./interfaces/serial_functions.d.ts"; -import { encode } from "./encode.ts"; -import { parity } from "./constants/parity.ts"; export function registerSerialFunctions( path : string, @@ -88,63 +86,11 @@ export function registerSerialFunctions( }).symbols return { - open: ( - port : string, - baudrate : number, - dataBits : number, - parity : parity, - stopBits : number - ) : number => serialFunctions.open( - encode(port + '\0'), - baudrate, - dataBits, - parity, - stopBits - ), - close: () : number => serialFunctions.close(), - read: ( - buffer : Uint8Array, - bytes : number, - timeout : number, - multiplier : number - ) : number => serialFunctions.read( - buffer, - bytes, - timeout, - multiplier - ), - readUntil: ( - buffer : Uint8Array, - bytes : number, - timeout : number, - multiplier : number, - searchString : string - ) : number => serialFunctions.readUntil( - buffer, - bytes, - timeout, - multiplier, - encode(searchString + '\0') - ), - write: ( - buffer : Uint8Array, - bytes : number, - timeout : number, - multiplier : number - ) : number => serialFunctions.write( - buffer, - bytes, - timeout, - multiplier - ), - getAvailablePorts: ( - buffer : Uint8Array, - bytes : number, - separator : string - ) : number => serialFunctions.getAvailablePorts( - buffer, - bytes, - encode(separator + '\0') - ) + open: serialFunctions.open, + close: serialFunctions.close, + read: serialFunctions.read, + readUntil: serialFunctions.readUntil, + write: serialFunctions.write, + getAvailablePorts: serialFunctions.getAvailablePorts } } diff --git a/lib/types/object_values_map.ts b/lib/types/object_values_map.ts new file mode 100644 index 0000000..643ed22 --- /dev/null +++ b/lib/types/object_values_map.ts @@ -0,0 +1 @@ +export type ObjectValuesMap = ObjectType[keyof ObjectType] From ea2a76a866085793868bd869f02db2c297c95944 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Fri, 26 May 2023 20:31:45 +0200 Subject: [PATCH 026/138] Update register_serial_functions.ts --- lib/register_serial_functions.ts | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 003c6b7..657a623 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -5,8 +5,11 @@ export function registerSerialFunctions( os : string, libSuffix : string ) : SerialFunctions { + console.log('Opening:', `${path}/${os}.${libSuffix}`); + + const serialFunctions = Deno.dlopen(`${path}/${os}.${libSuffix}`, { - 'open': { + 'serialOpen': { parameters: [ // Port 'buffer', @@ -22,12 +25,12 @@ export function registerSerialFunctions( // Status code result: 'i32' }, - 'close': { + 'serialClose': { parameters: [], // Status code result: 'i32' }, - 'read': { + 'serialRead': { parameters: [ // Buffer 'buffer', @@ -41,7 +44,7 @@ export function registerSerialFunctions( // Status code/Bytes read result: 'i32' }, - 'readUntil': { + 'serialReadUntil': { parameters: [ // Buffer 'buffer', @@ -57,7 +60,7 @@ export function registerSerialFunctions( // Status code/Bytes read result: 'i32' }, - 'write': { + 'serialWrite': { parameters: [ // Buffer 'buffer', @@ -71,7 +74,7 @@ export function registerSerialFunctions( // Status code/Bytes written result: 'i32' }, - 'getAvailablePorts': { + 'serialGetAvailablePorts': { parameters: [ // Buffer 'buffer', @@ -86,11 +89,11 @@ export function registerSerialFunctions( }).symbols return { - open: serialFunctions.open, - close: serialFunctions.close, - read: serialFunctions.read, - readUntil: serialFunctions.readUntil, - write: serialFunctions.write, - getAvailablePorts: serialFunctions.getAvailablePorts + open: serialFunctions.serialOpen, + close: serialFunctions.serialClose, + read: serialFunctions.serialRead, + readUntil: serialFunctions.serialReadUntil, + write: serialFunctions.serialWrite, + getAvailablePorts: serialFunctions.serialGetAvailablePorts } } From d0f749213e16b2efe5db15ef8ea308b714493566 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Fri, 26 May 2023 20:31:47 +0200 Subject: [PATCH 027/138] Update Serial.ts --- lib/Serial.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Serial.ts b/lib/Serial.ts index 778ca1a..5580138 100644 --- a/lib/Serial.ts +++ b/lib/Serial.ts @@ -19,7 +19,7 @@ export class Serial { */ constructor() { this._isOpen = false; - this._dl = loadBinaryForOS('./lib/dls', Deno.build.os); + this._dl = loadBinaryForOS('./lib/bin', Deno.build.os); } /** From bc67c2d61f782142ad4bddb7107d62f8bb6dd6e4 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sat, 27 May 2023 15:37:39 +0200 Subject: [PATCH 028/138] fix getAvailablePorts Windows --- src/src/serial_windows.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 479ec09..94a4a72 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -242,7 +242,6 @@ auto windowsSystemGetAvailablePorts( // Error if open fails if (hPort == INVALID_HANDLE_VALUE) { CloseHandle(hPort); - returnStatus(StatusCodes::INVALID_HANDLE_ERROR); } portsCounter++; From 1db2d054d23031e93828599037e39eb5c61cd73e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 27 May 2023 13:40:13 +0000 Subject: [PATCH 029/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19456 -> 18944 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 0715cf65b8f4a69f3c25bb80dd0694d9917d4353..fad112d7a906648447c6a21f2bcee46145ca1463 100644 GIT binary patch delta 4508 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 delta 4593 zcmZWs4O~;#6~8a!@f{K*50K9g5@V`Ti5p2cBMrfrLIO%f|dGJJM4#rwsr=w)oxDkt8f4N0@ZE#{m%KHbMCq4 z+34;*2C0hA|=IN^0TGMcbLC1LabqDv!&j zcdBx@X><*^o$de^X(#y1*6&mT7ygNvkp3WzQs-J8iX)`^*02AF_P_Oo2zqO{yMH15 znffQ(Cc0bgiYUt_q*Gl^A5TxCX8sNC5qgr(R^63A2l-rGs*w6)j(-_&G8>s@*0T;*SDH@;6l))-XP zDRfZd;I2_yT%)yNG%H&`^aJs>zF9b>k*{`V%~nI^rY5VKD5^2 z@Ts+;xB8gV=iVoJuIZfG=?(6E&am&X35RroZJ;-akm;T3i3BnC4Wv1}PnZmL?Ve7D z)PsEcg0CZ=Q|e;bT+*XDhv(5`-Rdxx6y=mwT}0YJQQGgwJH*lz&hn`Xk?tbW^@^UW zESJS5VlY!tTN z>KRHHtt9N93x7NTj6RaZoJx01VL6TlpP-yzQ+@g!wF{=v3t?nErYUEmUKftB8(ZWn zTGtC2E}{TdSuoJ8iL1C28kSTVxuJqZ(KOMjBticGQ+$=P8Q{<%PNkhbn3R!WhGigI z^wujUx&!w<7NAq69u1b!my_mKiR?m^1sj95n<&vhk?5&>yPU1ZCp-g0IN>RvQ{pLr z9Tv%TF1Q=_r^K(P70J^x-Ac%-cCSWRiloVB2A|*p$ih^*BRQo)4Ve{t_Wu?8dM7l2{DdA{H`zs(=8^yeIv_HcZJq-q%d_v~qsWo$I z-icDSzXlDu4u_;_xQbm~z6}GxS8xuVI^B$J_f#&XJ2I2F8FWwP0?ta~4M~ahECtS9 zG>$_NE9rn<77FPU!+pYaK^dx#b4r~hC-LTxg*H9iV=$}s3-pX3g>%y(!^+qy=H|6U ziar#qE-Rf|OMjcST6^7sI+!m_m9=7k|Jp*e#3<3TOR9+eQ3{o4sj@z?O+sjY8lSRBY45q${KDWlB*^ALCZ~8k$v?ALO z+X79y)!*SUe`BGw*+%XeDrM)VZq;F*(hEVv6Mb7xtC@BLCtVisHI`k)jiU*sIjW;t zT5HOTeF29>MDth4!tW_HO=wui4AK!`&Kxc# z>xdB(Nj#P);{}JEm34G?SIzmUc|JB(g<~NLkK;R7lv;-nwM15K%DJYcxFBWWUV6bi z0ry?@7&Et>I>w~u{RSsll&X{QiJ_B)Mre{>v@rRJknD3ALV7*jGG_9M(c_u_B9kZ% z9>;!FOvNFs>0n=wo@<<2hr8}|)RefxWnlpKLL1vPd~!RwvGV-nZ%VUc&pF=u!1NV+)S8o@1=&{JcJY1vQ zt;@t0IjRdwZw*dr;ff(+j5j<`U>6iWo;iCMeSX;l!3+GgZajoa`AL9~7{_CMY zqz?_=Hv?4M`dGmz)t%eSguDf6$R#8PCnO)V2DAd_;d#(QI7R0`H$d!b&&HlC{9nbD zV8F)Mhfa$%^e2&&(oc(wr7b2x3hI}yt2eEBn61Z;;VR&W%~XWArC7p`wsoYh)nb_+ z#??}<^)9g%^*B3|kn?cJ{T7057V<|9a+~Z z_{$GpgPE` z>t=yiP$zIZi0y{qJ9sGd@Yw|{%g2QWnc;&daI6az1HJ~TfZPqd0J@C1mw`Lc^-kFL zHb7vn+eJ`ffmI-ujNvG}xmUuj2R4D~AvXi9xF8!LGn@}%3)%pDaaev8cor0douL6; z#pL6_lc3F*dkJ_2G~; Date: Sat, 27 May 2023 13:40:13 +0000 Subject: [PATCH 030/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19456 -> 18944 bytes src/src/serial_windows.cpp | 1 + 2 files changed, 1 insertion(+) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 0715cf65b8f4a69f3c25bb80dd0694d9917d4353..fad112d7a906648447c6a21f2bcee46145ca1463 100644 GIT binary patch delta 4508 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 delta 4593 zcmZWs4O~;#6~8a!@f{K*50K9g5@V`Ti5p2cBMrfrLIO%f|dGJJM4#rwsr=w)oxDkt8f4N0@ZE#{m%KHbMCq4 z+34;*2C0hA|=IN^0TGMcbLC1LabqDv!&j zcdBx@X><*^o$de^X(#y1*6&mT7ygNvkp3WzQs-J8iX)`^*02AF_P_Oo2zqO{yMH15 znffQ(Cc0bgiYUt_q*Gl^A5TxCX8sNC5qgr(R^63A2l-rGs*w6)j(-_&G8>s@*0T;*SDH@;6l))-XP zDRfZd;I2_yT%)yNG%H&`^aJs>zF9b>k*{`V%~nI^rY5VKD5^2 z@Ts+;xB8gV=iVoJuIZfG=?(6E&am&X35RroZJ;-akm;T3i3BnC4Wv1}PnZmL?Ve7D z)PsEcg0CZ=Q|e;bT+*XDhv(5`-Rdxx6y=mwT}0YJQQGgwJH*lz&hn`Xk?tbW^@^UW zESJS5VlY!tTN z>KRHHtt9N93x7NTj6RaZoJx01VL6TlpP-yzQ+@g!wF{=v3t?nErYUEmUKftB8(ZWn zTGtC2E}{TdSuoJ8iL1C28kSTVxuJqZ(KOMjBticGQ+$=P8Q{<%PNkhbn3R!WhGigI z^wujUx&!w<7NAq69u1b!my_mKiR?m^1sj95n<&vhk?5&>yPU1ZCp-g0IN>RvQ{pLr z9Tv%TF1Q=_r^K(P70J^x-Ac%-cCSWRiloVB2A|*p$ih^*BRQo)4Ve{t_Wu?8dM7l2{DdA{H`zs(=8^yeIv_HcZJq-q%d_v~qsWo$I z-icDSzXlDu4u_;_xQbm~z6}GxS8xuVI^B$J_f#&XJ2I2F8FWwP0?ta~4M~ahECtS9 zG>$_NE9rn<77FPU!+pYaK^dx#b4r~hC-LTxg*H9iV=$}s3-pX3g>%y(!^+qy=H|6U ziar#qE-Rf|OMjcST6^7sI+!m_m9=7k|Jp*e#3<3TOR9+eQ3{o4sj@z?O+sjY8lSRBY45q${KDWlB*^ALCZ~8k$v?ALO z+X79y)!*SUe`BGw*+%XeDrM)VZq;F*(hEVv6Mb7xtC@BLCtVisHI`k)jiU*sIjW;t zT5HOTeF29>MDth4!tW_HO=wui4AK!`&Kxc# z>xdB(Nj#P);{}JEm34G?SIzmUc|JB(g<~NLkK;R7lv;-nwM15K%DJYcxFBWWUV6bi z0ry?@7&Et>I>w~u{RSsll&X{QiJ_B)Mre{>v@rRJknD3ALV7*jGG_9M(c_u_B9kZ% z9>;!FOvNFs>0n=wo@<<2hr8}|)RefxWnlpKLL1vPd~!RwvGV-nZ%VUc&pF=u!1NV+)S8o@1=&{JcJY1vQ zt;@t0IjRdwZw*dr;ff(+j5j<`U>6iWo;iCMeSX;l!3+GgZajoa`AL9~7{_CMY zqz?_=Hv?4M`dGmz)t%eSguDf6$R#8PCnO)V2DAd_;d#(QI7R0`H$d!b&&HlC{9nbD zV8F)Mhfa$%^e2&&(oc(wr7b2x3hI}yt2eEBn61Z;;VR&W%~XWArC7p`wsoYh)nb_+ z#??}<^)9g%^*B3|kn?cJ{T7057V<|9a+~Z z_{$GpgPE` z>t=yiP$zIZi0y{qJ9sGd@Yw|{%g2QWnc;&daI6az1HJ~TfZPqd0J@C1mw`Lc^-kFL zHb7vn+eJ`ffmI-ujNvG}xmUuj2R4D~AvXi9xF8!LGn@}%3)%pDaaev8cor0douL6; z#pL6_lc3F*dkJ_2G~; Date: Sat, 27 May 2023 13:44:00 +0000 Subject: [PATCH 031/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 18944 -> 19456 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index fad112d7a906648447c6a21f2bcee46145ca1463..0da17030325a863e51c69dddc1844a660e0d384f 100644 GIT binary patch delta 4534 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 From 124b0101ba52f26bed537ad67d35592ee80b2ac0 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 18:03:18 +0200 Subject: [PATCH 032/138] Update Serial.ts --- lib/Serial.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/Serial.ts b/lib/Serial.ts index 5580138..49dbfaa 100644 --- a/lib/Serial.ts +++ b/lib/Serial.ts @@ -40,7 +40,7 @@ export class Serial { port : string, baudrate : Baudrate, serialOptions? : SerialOptions - ) : number { + ) : void { const result = this._dl.open( encode(port + '\0'), baudrate, @@ -52,8 +52,6 @@ export class Serial { checkForErrorCode(result); this._isOpen = true; - - return result; } /** From 05cff6c18c483bf5ccae12cbf22c916102f50eb5 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sat, 27 May 2023 18:09:37 +0200 Subject: [PATCH 033/138] remove trailing comma --- src/src/serial_windows.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 00b39ca..c9cddf8 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -250,6 +250,12 @@ auto windowsSystemGetAvailablePorts( CloseHandle(hPort); } + + // Remove last trailing comma + if (result.length() > 0) { + result.erase(result.length() - 1); + } + // Error if buffer size is to small if (result.length() + 1 > bufferSize) { returnStatus(StatusCodes::BUFFER_ERROR); From 4c97f724c66f265504e98b54dd826a6bdf16b5b4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 27 May 2023 16:12:30 +0000 Subject: [PATCH 034/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19456 -> 19968 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 0da17030325a863e51c69dddc1844a660e0d384f..722ee6a8f155e1ecb4b846f22674d9bb1b715c2e 100644 GIT binary patch delta 8369 zcmeHMdwf*YwccmQ$V};F2nD(7!+15DS$ZVDmf&|}oULq_kF#A#8}4&BDAlAu?DCee6Nrx)bnFPqR_>&iqpAC7cI2$R9#+dM-m(ykQ6>! zS6JYJHtcgS7Ak65vdFVYi;Nmr1Y{Qfr7lmH&3ll#cbwE&goUYN85^*tqG|XB?v4&C zWZ)Z+uCZSkd3AoA>1zAAYi)jK#9ZM3|6@c+&TsULxusq)5LqjIBnBQaiBg{!xHms)JjP*oJ<-0RR^IZLQVK+ad&k>&CXY~c9+p-y}lisS8J`|;Q<+^NM9BH?%Ok`{@ zTd|ZEqXDAyksN!K*Cp|CaT(ZW>>BzC?7d6XQnN&S+4N@u--5 z!9s;~$(j7RmYRsk#Mwpry2cpMP@C-TLhVF8NESw?N+ zd3)@b%#X&A@A^ZYcv1QbI*>o`2P}oM5UJg=$oI!q3-ftQ+-l)C_s8W3J^Y2Z4B=_M zKdwU9&VP){8F_mFBFK^dR+IyB|Bt*VK2`V!7vnQ6>qRuke?jp^2c3!7ybK2)Q zafaDqgG-?1Nzs2^@%{wsT(P9_&x|t`{VWE%Er?C;RQ9_9Xn^tNkTIb~K^KjX7!6}(rQz!e|3tfc|@HQ zV=ee)rV#4;9Y|Miiqfr`$pBQOuIbZLIblMZb$MNVU@Y@?36A$cQ^C z|BV_bN;S#6BEcT##JPb$PbwBaZ%(KX6#jBTp6?ax@&k%x8=yn6Y$6LKPKoP7o;)!q zD&o|=#z$YH)f%ipWe=Y-iN4MsS`EqqmC`t=K7 z_v&v%TFOYf;j&f@Emq}fE^`$cr&ux&4so*4s_z^W{|ru{t_x_9nIBKgU-dFbb<>Tc zO()%MtH;iBEbK-@Uq_ZJpzjRBt11|N15hkaAqb+Hx-MYAhnJEJx4^-TW5w>m0oUuY zSs6Z2`dG14@JGx}A(w~D1@k|cp;b$JeV}cGTGKZmQQ@~L7(OSLpyhplV(G>ag$iTU z3I`hCkGVi@brw05d!|zzf0b|NPK#6c1@~KW)6&7w5-?n>LS~>2o5PE?>MvFCeU`6< z_xX!SW1~+ZPqFlm<{u@k(*5uqcO_4Zc1@#Th8o_QY%%AN5v(#1VAUgDRRn)2c}(Wl zQ*k@whyjnfrMhwTpdAN6QajF{;NK)q7H;9zl+g}ThPv8g2)cfx6>1m#RrkZygdWVL zBF1XVY@l1x-w432$8!8u{v!@LN$=!qQ>v}yYNIZ=0tU53lHmlE3t9}|6^oL_kEW#h z-l7;7`}+Se_AleKlaR6Nk~U$E^&z9{FVbGjwtZo@k~=vaadHch;yQBNh}*y_N}miG zMd=+`!3mG8nMnEt=(JD2ML}F%qW_}eiIlIS=YgEK^fV6jf!oNy?Su24w zc6m>hhSWp7Qy4rql>Hu#K?IAEN1@DMs{A@^sZVYTR~S(m8jO-3=3l1f6-l7lLSCXq z$&ZAMDA@~T@I)u>KiocQg^R(+ckqg|38VAX;NB$vMZufkmU_w#;oTrgy^7^z8gEUr z`d%}jFVxDvqjod{(_xrDg*aSmJCG@Vgape@FTbj~YL%3|Ex)1J1D#O9!)4s5PekGM zZ|@ec;*GBEcKrz0@}Wp10k~<+H_L0ohA#$z?uR~je8ZKuKsZ=yRo`Spkv{P*_g@em zx=W^m6iv)u|C!f@X1<18S&y=`3t{gf`}=s+rwC(Iw#;~+J{Pko`umiB8GZV7aKM4J z0YD~UHEa&-(Jw$MsH2D}eFM)kCVzudQJupSx3ssb?pDT@P1b+-v7&fe#Knf_BiQ!1 z0YB!)(p!Cn@GU!p*2T4b=8X~`w`{0X2NA)BdgBAbHhkiVXglPMmvw09hIizPaf}Vs zdS%u5t8RrecIqeID0vrLXc2yZKDt25n?O)qqS1x3eIKnt-aq;QVIyzISRy>i-^j={ zE?Z{IY(sr$#8ksS%lY>iwxm~5U`e0gS#)-v;E7e=Lh@{0Jf=AM&_!%Xy}Xq#8{;aQ zi4D>gGPd=hwEXrDin8HIyUXTqye{~w$|r#|uHTQeSDy=mCR#T0FUF+$dT_;{jjsb_ zy4*1@1@fyX-xl&%F;q{7^L>=R0{OlAgXN6r5WrEYU@XSsU~sf4-WjqRGmWRP=&xiR z8*UZ(0kugUOhnHvDuB0$D2;GShFAo1D(@@$_sh9AbNZr{~l+x+8L|AY7Euwt&qFXK>03ApL`67KQ|IQ&CEhnS$4>=;XQdZw6jOjKlA@x zkoR-5bz1S6iH!N8%0dGt;TxQ(_|FRu)!Z1iso6PN6a z?Z%d5fsF6%{KxF^b9=$~`=WdGJE7oaVFCRgpgGTWTRoNjK5MUj6HM9_0sV8(y5M!t zm2<>3^@tZgT5!eL`lt1K4SvH~Nk9OtF;lQ8tI}xRE#5<_bUKFW9W{3vdC@6WyU$Zsi}?Ci&8d zklw*75{hEEgu@OiWLHcC3(-!vO;mFGi3_-G(Ky*E-@pS9exHM*WA+VNKJOM_oxY65 z$uChO(Edss1RF6nMa*^+(@K|nuPta|#er~>*^DBG*w4~pvT)$f5uqur~2 zThqF*gqe7E2oVi?sc3J6KviGiB|}0H_<%dYIz$S%bI(lBNEAGck&+esOhC^n@hi!3 z<4w6Yqf-uSW5qI6?fQ=Mh+3woZ-E9|Bd%V>lFG-AouvEJz?Y1*3AgjW*o?wiI4DJ_ zCI#C?h`u+AE`C-V2lPFea1e)iB762)@|(cyh$Vt5y*SB(D$0Y|RC z>Nz9o_C_j}S8$qj(Ez|FzZ<{G4C~5ZD7iWWr(bD?`(Y1+r(Exaj@Omm%bW6Y3U5)Z z!0onZ>Y7yyW?Zix6jdT%a1{1AUACyC%fSDfmy?3^u{VKqIerXe+bO-;9{>C?k_HU7xl?J5MpZ4Ckb1SfpX4iay3>YJ^+En>1|Ha42xgHTDmh9Z7%X!q=~1*kbHW z%|4{z(;BYP@D9RNkZBrW(y&Lv-)VSQt0-Huhbj z_83!5*stFb#zyWe$}DKPmQ4xgp1+pofuf4cmG?flXw}Lk)(1SzEAL%yZMyG)m7bON z-8)nj-&2$o(>iM?{y@*(;mSu*`xWNiWduKc$Pg`2yv%9Gh23sy(z@d zUm|e=v3?xAjn_fSxG>@-wfOUsV`3WdXUQ65*KEv6Fh~H3}!v9&4 z9{X$~W4}gj3l&RJ5A|Wb2cg&3@aZMv`00|-u`A$goyFLBwT{r_h@?tbL*IPp;Q|}8 zlK7F56rFVzKW zmdn^VNH2`#xP?|hc0zuG`|Akg72IukrC2=>hRbH11%Hl!|F3Z=H{#D+^sD;xL^X>! z%JG_@r9z*H@o!5lzSA~rde71pkL{lDw86)L>>skI>r?h_~a0W7lH7cX0mcEFA%yLxVeZ9e_vXUo|6tI2sFu^F#&#Je5#Ra`9< zW~Qq-)i32Lu3q)C@?&L*b@^B2G^jata2PeMNeyZQ2e^<9Tyyx3&J63}j4))|nyKb9 z+&MAXM+=e`X4uoVX3d%J>7YY6+zzlsa{HG&J_ zQCHLwZjtpT7)-|Q&~%Ft$n)(2~-XUu$sDfaE9XwdhC!9`VY!04bZD>dq@~^fr0$)X6;dtGosfnGqW6X0HdlcUJ8BlC< z_;Zu0MB{roC z_1s#KpRf&OsX0xU!o84f{FaKs37>1MJ%O>Mkgy$zNy9DZiNh$wvdek=)r#U9Cc49M zLZcWv2?^U+s)wNhtfHV(DxxA5T;@Crp7&Pyi$RB-ThQxZ82vY1A!qjpHA%Jffe6V8(sL#-a-(`!9g zNYq1&pemKH>me&3CXBijVuv^&^^iu0A9+tgUVyv?`4i+_{`HiHe6-w#zQ?f4m;(`R z7-Dd!f$IWSIgI-quD*ldI)-r}aQRN`i(#DHz}S3nzaGZL&O9BYS+y4Y~!rw!p-C_JA^c3jB zj{rI<7MpRWf+t)FSpuE#K8Oc;lbQM0b{KSqcLGmny4AwiTnO=W((Tdoeqc6^+ZEvL zzbV9(V%M5B)UotPM7FhS$eBh#mg)5;@>QLcKf;G>i=g zH340kPI!x^-wtfkbi)7C^yh(>Aa7zw3CHJ!;}AMDoiG5Qx}E?g<1{ASmja~|@)Qaa z9@a7lf7En_dua-U3QPmu2%+9L0DliTNM(V=<1iY~9l$#vr=in3OM<8s13!mQS;FrM zG5=@abfys3@pzm?bz!7`l|BJ|J8%Hq}IxHYu3Z)^Rw72BG& PwQOtM*1p3zdynwnMi~G_ delta 8141 zcmeHMdt6l2zF&Kof#EUC@Yp;=V1VHz2*X1_0UczhjShxJ={?#B^HHf4d6^@1?ZCYQ z<+z>FR-J2|>MGhv@3nI&vrAezhzj`%%@V6y)V0$_wEUbrKC6AdYwwMs_n-UU{paq_ z=eNGU-*^4id#&GE3~jG)Z5z2R3zrfVymB$oz6&JP8mbFVC0QUcRB{0=;O;M2KZ}qf zAQs$3$U2tMM#vBcY$BvRfDziao{$EpjkJeL=B)G^E{f}-v-1+{k7t!f_PN=C57e(+N}{$gp8!h z{KR}TBZ!|#yHmz`?VzoJXLQFS=#rphT~`EsI;c3U$;w)F+FEKwlxVOuNxua%!xvp% zD;}-$-N8w-=zj*~7Cjh&s`F*uGf}JB0ym|AOYB8iiNLP)MVF2iyO2yPjMdyO+Gga9 ztCHdDGxXC}jj5cQQH7-{wF&hJ-T*=D6+HW`^LyE}!t*6Y_f=uKSay{W)bD6ea297k z;TSH7-WlAW`_xQd4Ni>tJcmsxJRZ+w&Ya-sF%DPLf#5{jos1E$f)qbzv=p60$faJc z*|Zx=imZ>NMj8=fPn=&0%jdFLrK5>#fSz+%g3nZk;?nVO`umVvxBIs28)3XA7{p$~;6^REl&g6FF2Hu|b$r9PQ|iM|q6#C6btu#^bd<#n5d zzM5F;jF?ENRa{2Vl@ZzG!kY9)0=;P04qHgh+ zG#5-&H#>@TIgI}lyx`dvP#bV+rY~%&R7#`G6S&vtH1mVHv%z$md0O-&8(h3K&k3F@ zvU?Wxv&>JS*Ui%w-W!Zl<-_r=k`Fk&=zw{y-yBi%HHP>j&nZFNC*<_F#HW6wf3##i@@%X! z#!`X;dq>8*ysK?ir}^E3wc;sMwpUt)%3NYUtEx_X!cyybBF?fhpiT^SiI133XRILh z)aD#;m0wwvKhvkr$56~JpBsyF)#5T&yJd_!50g|Y9+y&SeneuZEdBZuIw*)Wm+9OH zduTA?11fq>=C{!2BTBhGdMF~(*_(zfAoK47*30}ZX1T-~Ge#>cs__WoQ)u`;*;VfU zUC@VDFbyN|g6|%*Dq93|^(UzBpQRZ3KxA>;OjcA74@*fwgop=`lPnY+k=D^aMcQwSoqV(Tx0kisdv(Gq>eR}gN#c21gXp)LJ3syZ!pv1B3XEaXcA3=4fClysr2PyMT5ZzbNqi8xMI%~x> z2byEYCY&7`ae=KKXUB1WFFG0of2Y?#RNxdaU4p;NpF#9Nt(NYqnBTFbMALRSxDX2L zPQ;`>rwz@q0iBZhXXvr$Dugc!pFJ-PUN=tbaC?B#QVB>jSgL?2m$~@(6oAY}sSSoG z4GuTJA8UbJPYQFIw0|mV;~18117F3RrJwNW|4}V*+8$xCM8b- zGm<8Fo0UV+i|YdYuqs85Ny2$r5;vKfO`GDzJLa*FDD$%!bpOIOq+Re-_LQ^k`S?yC zYUN)BxWS1tWa?eE^xiD}m<6$G1kq zU~^ypKj!}0I8=p<-9Kv!=IHR7orlC8thW9BUOD|A6VN-y-H6;)K|DQz^LtndLi-*5 z<|w9f&;=OZqX6z1!E;@14wUX<7r6An1w`ZFMaEDVxJeNFr6~G&d@5cRzr@F-pF*@k z$slPQyhq}ty|Bf8X&oXzXnmo7BuMI@Q^sZHQBduEH=`n@r&S|JdJ4+Oxh`BxxFnR? zmxGa((&xra z(=Y#IZZ({q4Bcz^7Qjq~Fh>9f4ZDzX%IsiW-oq=1NIzsCpeZX6=MsCm>wZJX(#eL2 zgR<;y5f+&mpoN>-hyMv^C*b!_ieS$H*0$O?<1Zzt$I}wQYvAsmg z691liiS9^T%&nynN$Iid3B$gnOU=pcXcwI+H&vC;nj~Ay;W$|0X*@_S?c6?kxBJcQ{U|N?>p-zmMfVg#12(6&2`Efum5y zoFw6RJKAOUG|7b($J0~rl#yl|?gnYO(xqlB$idyL0Nw*6&4rssE(2or14MbdJFji0HqabwdQfUu5C@sS>O5Y&yq~8mk ztSR8m2;=tjbBOqXP)CBCqTv^MF10ZK5S;rA ziwo4HLC9MO)x7)rXtQSndIZ7+Vh@fX@g~+3(7LqTIk8|o{l-2+AQW5=#B0z)tGd){ zZ7%clTl);>?S!z?fpY_`8(ss>v_WV2pc{W9;GVJ#RSdaJ9@7!zI=qSd=;5@KP(KXw zi~e3u`rqi~v^1`hCfITlUbnEteN{qjg73va{Plwni3fyyoSz6+gT^j|1t!GZ!luP$8?Y12>Wqni-toCyoPeP!?P88%4?Vg zuFt@OV(s=B%+T0!_Zi|fts6U-2+RF!!$+{9eR_^HeUleW3-iExU3%*%$>HL3j*=*7 zi9i=+yw)+YGW>PoxclDpxfqlKri#Bo8~c?Go=$;yS^U~9xZF7pr5)fpwa3E}je z3>&wDp3X?j`2*smAlAg;8EKLE^{_<0P{8zcs_v_^s&+d~$(*tzdm{5+U=xJP0~l~5 zGcmpQDOZT+8i&a1sbqg)5_h1?Uq>|SW)lFPtX}*%WIB#biKUo>%GsYsrXJYC>XI7{ zK*tlwaDe(V({i>emUn^8$cAPWe2K~Ir1&c103(q&=IrJ~BP5)LXQjpc#Eyus@*H4n z?tW^@ifxtC-$qyD^mml>LnZYq={_ahucQZ+v|mXNDd|ZieOgHemGpBZ9gqIY=_N{P zRMKk-e@;oiQc{&y>JLx9s8DLdo9Owhnt7}uH72uE@U88~JPj`%!mY2`4>7yproD#Q z&YSi&W*6VI8<}kzqHD8r^M3d%s&U+-Oq_UjZJky663lvascvQ{_HZRVlbvV#J>DD4 z!G0h6dlx0M1d*@ApO%8>nq{ROTQF_{Et!y+w&+J$W>@JO7y!FBf6QhV<{(manPq;- z&bA3{9JK`0w{Dyb8sDEZd|Sg0H9Vr>ml~ea@SS_qaxZJxuHmB^HfZS3Fjqs1hJR(h z#~>J!&s2r%)9}w4zMx^7h67qbwOK;K=8S48R%mvEhG#Txm`eV1*^>?c|3p6azIymYdso7Z?p40pWG<-+H=NT@BEY*ndS^>R=6Ewa>!_fw= z*hw2Zv!m!QR_&qNaMVAK4o|!*qRpv!@hUp#?7ZacE4Q<8YHmx-?cOitmC_4&)?jjn znq#5y`EP`ERjHOAh#%DW=L^E<`TRxr*>kLe!cJqTSbu^}af&MSS<45W~-8|F?g{NU7N0L9lUa(cLTG4-gH9#1@ah-*nIqb4Ot4g z7gx<1$ov9APC?E=h=q^>9z%iuHa$$7b@n&!reYaKBMn8W_tpsD6XDaH`)BI6q!%c`a&>Hq{Ywfso&7gsp{jY4o@4 zyd|m=`;D7rXe*+eoRi?9Z*oPfoCI#n%3=KpVL^Tt-8E@0*G^3(bm9PR=p4MS^fL%a zLH?~aX5ftRCP$B!lt<0WCgcTp{}a5kUWKxC22Cif6c~R7=2^y{hhmwDJsQ%8ZJQD> zg~33fV(288@G2ph_>?lfWJ_dsm)bZO4S1sZFQ zAY=(dwF9w;xZj#X@ymV)xsgW;%JOHwqm}SS67mB?wXs!C;uNu$gjQ;7ez2Y+`c&+D zOc*u?>B}T!HV$b8w*GATR@vMXmV>Dw`zPStmV;)I!@fU2-^^^9JvreK=7mOLv&LYH4x$-F5IHjFyVOlWj@+hBBdl4RNc$hv#x?vAMB!~r5ZiUz( z4oE$u5fXqMWrk!z3L%w{I=ZBMRV&+Tqu;OCW5j{zR6ojKug*c_1J^Z%)8jVl2WMpd z+7|=PT7~E`hMU@e9)OD*!!?4lgVR1bzrytY519Yk2Mq3}|HT7_Mo!(jb8za}02=44 z*WtH|WzIYXFFP|B>{DRpS!WX0%7Oqp{N@Pk2j~oQATH=PjyZG|3bx~LuYk_*-yv(D zGu#E)2z~4UXMtc*G>$KLh7Uu|Kxg(*Eh6^D-LvI3pr0D~|(ZI{lh<8F9q9(&6NbU?gNSTrjsXzw993?}= z0*!A3u7j`!)&o0|2zej=>w(wtt8qPaVkP7iNF(%3z(3hAThP0J1z5K(=tS@`+@Ti zYok%Nl_{$sN{@iAYx*|ex0-$icpbtz`ZI8DHb#uX>^3?DnFsv>Fnj{0A3A$El|xva z6~J{6R+eFB4rTy8TY*`*SpRMqP{`jQ%7!7RE&#IsELK2&ANVDNt??P)`h09m@H>E) z?eK;EGtge3HpWm_h-n9}2f886&|82uT-R;T8QuwD9cnJZ`ah=`8-XVwY;!TR6sx)) zxDT=(g@=HDfoz1%t}1pZ6=MJl+11hooguq+n9h)09ZY9<3{s4;>!>F8|ie5kXjv!%1Gb4}+^r_^cOV%gHNW&M_o WTdZ5lwmP;7TkE&Z+gat>%l$Xu=cwEO From 7dd8995defff2ed80f918e4841e2ee215d3bc694 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 18:16:32 +0200 Subject: [PATCH 035/138] Update register_serial_functions.ts --- lib/register_serial_functions.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 657a623..e663d01 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -5,9 +5,6 @@ export function registerSerialFunctions( os : string, libSuffix : string ) : SerialFunctions { - console.log('Opening:', `${path}/${os}.${libSuffix}`); - - const serialFunctions = Deno.dlopen(`${path}/${os}.${libSuffix}`, { 'serialOpen': { parameters: [ From 861f3ce4340cb7c757e8f5e032dc3f3f242ae558 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 18:38:20 +0200 Subject: [PATCH 036/138] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 0517f17..86bf987 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,7 @@ [Release Downloads]: https://img.shields.io/github/downloads/TypeScriptPlayground/Serial/total?label=Downloads%20&labelColor=343b42&logo=docusign&logoColor=959DA5 'Total Release Downloads' # Serial -[![Build Win32 DLL]](https://github.com/TypeScriptPlayground/Serial/actions/workflows/build_windows.yml) -[![Build Linux SO]](https://github.com/TypeScriptPlayground/Serial/actions/workflows/build_linux.yml) +[![Build]](https://github.com/TypeScriptPlayground/Serial/actions/workflows/build.yml) [![Release Downloads]](https://github.com/TypeScriptPlayground/Serial/releases) the deno mascot dinosaur standing in the rain From 4a08ec305ed8a5750fcc7d09554bf74c2a7642db Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 18:39:45 +0200 Subject: [PATCH 037/138] Update README.md --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 86bf987..c954b95 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,9 @@ -[Build Win32 DLL]: https://img.shields.io/github/actions/workflow/status/TypeScriptPlayground/Serial/build_windows.yml?label=Build%20Win32%20DLL&labelColor=343b42&logo=github&logoColor=959DA5 'Win32 Build' -[Build Linux SO]: https://img.shields.io/github/actions/workflow/status/TypeScriptPlayground/Serial/build_linux.yml?label=Build%20Linux%20SO&labelColor=343b42&logo=github&logoColor=959DA5 'Linux Build' +[Build binaries]: https://img.shields.io/github/actions/workflow/status/TypeScriptPlayground/Serial/build_windows.yml?label=Build%20binaries&labelColor=343b42&logo=github&logoColor=959DA5 'Build binaries' [Release Downloads]: https://img.shields.io/github/downloads/TypeScriptPlayground/Serial/total?label=Downloads%20&labelColor=343b42&logo=docusign&logoColor=959DA5 'Total Release Downloads' # Serial -[![Build]](https://github.com/TypeScriptPlayground/Serial/actions/workflows/build.yml) +[![Build binaries]](https://github.com/TypeScriptPlayground/Serial/actions/workflows/build.yml) [![Release Downloads]](https://github.com/TypeScriptPlayground/Serial/releases) the deno mascot dinosaur standing in the rain From a1056a620980666acfa60fcd080d442a7ba75667 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sat, 27 May 2023 18:51:24 +0200 Subject: [PATCH 038/138] cmake --- CMakeLists.txt | 9 ++++++++- src/CMakeLists.txt | 15 +++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 74d2f24..e273611 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,13 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.26) set(PROJECT_N serialport) project(${PROJECT_N} VERSION 1.0) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED True) + add_subdirectory(src) + +target_include_directories(${PROJECT_N} PUBLIC include) + +message("boo") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 23bea7d..a257592 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,8 +1,15 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.26) + +set(PROJECT_N serialport) +project(${PROJECT_N} VERSION 1.0) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) +include_directories(${PROJECT_N} PUBLIC include) + +message("boo") + set(LIB true) file(GLOB_RECURSE SRCS ${PROJECT_SOURCE_DIR}/src/*.cpp) @@ -20,13 +27,15 @@ MACRO(header_directories return_list includes_base_folder extention ) ENDMACRO() # using said macro. -header_directories(INCLUDES ${PROJECT_SOURCE_DIR}/src/include/ hpp) +header_directories(INCLUDES ${PROJECT_SOURCE_DIR}/src/include/ h) message("src files:") foreach(file ${SRCS}) message(STATUS ${file}) endforeach() +message("hey") + message("include directories:") foreach(dir ${INCLUDES}) message(STATUS ${dir}) @@ -38,6 +47,4 @@ else() add_executable(${PROJECT_N} ${SRCS}) endif(LIB) -target_include_directories(${PROJECT_N} PUBLIC include) - # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-shared -fPIC -Wall") From df18ea9b68f5534eff06bfb8cbc4f3173a814799 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 18:52:52 +0200 Subject: [PATCH 039/138] Delete baudrate.ts --- lib/constants/baudrate.ts | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 lib/constants/baudrate.ts diff --git a/lib/constants/baudrate.ts b/lib/constants/baudrate.ts deleted file mode 100644 index 6914ce1..0000000 --- a/lib/constants/baudrate.ts +++ /dev/null @@ -1,25 +0,0 @@ -interface Baudrate { - B1200: 1200, - B2400: 2400, - B9600: 9600, - B19200: 19200, - B38400: 38400, - B57600: 57600, - B74880: 74880, - B115200: 115200, - B230400: 230400, - B250000: 250000 -} - -export const baudrate : Baudrate = { - B1200: 1200, - B2400: 2400, - B9600: 9600, - B19200: 19200, - B38400: 38400, - B57600: 57600, - B74880: 74880, - B115200: 115200, - B230400: 230400, - B250000: 250000 -} From 305901782bc4110f388fa54dff74bf7767453c22 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 18:52:54 +0200 Subject: [PATCH 040/138] Create binary_extensions.ts --- lib/constants/binary_extensions.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/constants/binary_extensions.ts diff --git a/lib/constants/binary_extensions.ts b/lib/constants/binary_extensions.ts new file mode 100644 index 0000000..e69de29 From 7fc7186649bd6f4e1400a16f416ac4738942b4a3 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 18:52:56 +0200 Subject: [PATCH 041/138] Update Serial.ts --- lib/Serial.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Serial.ts b/lib/Serial.ts index 49dbfaa..ca7da44 100644 --- a/lib/Serial.ts +++ b/lib/Serial.ts @@ -10,6 +10,8 @@ import { SerialFunctions } from "./interfaces/serial_functions.d.ts"; import { SerialOptions } from "./interfaces/serial_options.d.ts"; import { loadBinaryForOS } from "./load_binary_for_os.ts"; +const pathToBinariesDirectory = './lib/bin'; + export class Serial { private _isOpen : boolean; private _dl : SerialFunctions; @@ -19,7 +21,7 @@ export class Serial { */ constructor() { this._isOpen = false; - this._dl = loadBinaryForOS('./lib/bin', Deno.build.os); + this._dl = loadBinaryForOS(pathToBinariesDirectory, Deno.build.os); } /** From fe54876273b746a36d4fe1c612126a1e1b2fc9ea Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sat, 27 May 2023 18:56:04 +0200 Subject: [PATCH 042/138] cmake --- CMakeLists.txt | 4 +--- src/CMakeLists.txt | 4 ---- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e273611..86542ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,4 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) add_subdirectory(src) -target_include_directories(${PROJECT_N} PUBLIC include) - -message("boo") +target_include_directories(${PROJECT_N} PUBLIC include) \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a257592..f79384e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,8 +8,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) include_directories(${PROJECT_N} PUBLIC include) -message("boo") - set(LIB true) file(GLOB_RECURSE SRCS ${PROJECT_SOURCE_DIR}/src/*.cpp) @@ -34,8 +32,6 @@ foreach(file ${SRCS}) message(STATUS ${file}) endforeach() -message("hey") - message("include directories:") foreach(dir ${INCLUDES}) message(STATUS ${dir}) From 82205e649a98bddfc94c279e1fb9f41b4e89e1cc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 27 May 2023 16:58:26 +0000 Subject: [PATCH 043/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19968 -> 19968 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 722ee6a8f155e1ecb4b846f22674d9bb1b715c2e..354b1505ee0179b892fa2f357ec40a10bce73c7d 100644 GIT binary patch delta 25 ecmZpe!`Lu~af1LO({i)TLX1uNAbOfXmMj2lKnO7a delta 25 ecmZpe!`Lu~af1LO(?jjeLX1uNAbOfXmMj2pU Date: Sat, 27 May 2023 19:00:55 +0200 Subject: [PATCH 044/138] Update mod.ts --- mod.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod.ts b/mod.ts index a643f41..57749b1 100644 --- a/mod.ts +++ b/mod.ts @@ -1,5 +1,5 @@ export { Serial } from './lib/Serial.ts'; -export { baudrate } from './lib/constants/baudrate.ts'; +export { baudrates } from './lib/constants/baudrates.ts'; export { dataBits } from './lib/constants/data_bits.ts'; export { parity } from './lib/constants/parity.ts'; export { stopBits } from './lib/constants/stop_bits.ts'; From c996474ad1bb22ee2794b88febfee9c32f6801ba Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 19:05:41 +0200 Subject: [PATCH 045/138] Update binary_extensions.ts --- lib/constants/binary_extensions.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/constants/binary_extensions.ts b/lib/constants/binary_extensions.ts index e69de29..509bf17 100644 --- a/lib/constants/binary_extensions.ts +++ b/lib/constants/binary_extensions.ts @@ -0,0 +1,14 @@ +import { ObjectValuesMap } from "../types/object_values_map.ts"; + +export const binaryExtensions : {[key : string] : string} = { + windows: 'dll', + linux: 'so', + darwin: '', + freebsd: '', + netbsd: '', + aix: '', + solaris: '', + illumos: '' +} as const; + +export type BinaryExtension = ObjectValuesMap From 0cca986979454d238d9267d38fedad8ca715d176 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 19:05:43 +0200 Subject: [PATCH 046/138] Update load_binary_for_os.ts --- lib/load_binary_for_os.ts | 44 ++++++++++++--------------------------- 1 file changed, 13 insertions(+), 31 deletions(-) diff --git a/lib/load_binary_for_os.ts b/lib/load_binary_for_os.ts index 3adf1ac..8169ee5 100644 --- a/lib/load_binary_for_os.ts +++ b/lib/load_binary_for_os.ts @@ -1,3 +1,4 @@ +import { binaryExtensions } from "./constants/binary_extensions.ts"; import { SerialFunctions } from "./interfaces/serial_functions.d.ts"; import { registerSerialFunctions } from "./register_serial_functions.ts"; @@ -8,38 +9,19 @@ import { registerSerialFunctions } from "./register_serial_functions.ts"; * @returns A serial functions object with all the functions from the binary */ export function loadBinaryForOS(path : string, os : string) : SerialFunctions { - let libSuffix = ''; + if (!binaryExtensions[os]) { + throw new Error( + `There is currently no implementation for this operating system. + We are currently working on an implementation for all missing operating systems. + Current stage: - switch(os) { - case 'windows': { - libSuffix = 'dll'; - break; - } - - case 'linux': - case 'darwin': - case 'freebsd': - case 'netbsd': - case 'aix': - case 'solaris': - case 'illumos': { - throw new Error( - `There is currently no implementation for this operating system. - We are currently working on an implementation for all missing operating systems. - Current stage: - - - Windows (implemented) - - Linux (in progress) - - For more information feel free to check out the repository: - https://github.com/TypeScriptPlayground/Serial#compatibility` - ); - } - - default: { - break; - } + - Windows (implemented) + - Linux (in progress) + + For more information feel free to check out the repository: + https://github.com/TypeScriptPlayground/Serial#compatibility` + ); } - return registerSerialFunctions(path, os, libSuffix); + return registerSerialFunctions(path, os, binaryExtensions[os]); } From d8469c60fadb0184416ab71ae3447764d31043de Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 19:10:51 +0200 Subject: [PATCH 047/138] Update binary_extensions.ts --- lib/constants/binary_extensions.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/constants/binary_extensions.ts b/lib/constants/binary_extensions.ts index 509bf17..7929e76 100644 --- a/lib/constants/binary_extensions.ts +++ b/lib/constants/binary_extensions.ts @@ -1,5 +1,3 @@ -import { ObjectValuesMap } from "../types/object_values_map.ts"; - export const binaryExtensions : {[key : string] : string} = { windows: 'dll', linux: 'so', @@ -11,4 +9,3 @@ export const binaryExtensions : {[key : string] : string} = { illumos: '' } as const; -export type BinaryExtension = ObjectValuesMap From 22bbf9eae9c1cdaca3851fcc51d1c044e0f418af Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sat, 27 May 2023 20:24:31 +0200 Subject: [PATCH 048/138] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index c954b95..ae75b70 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,10 @@ This library provides an interface for the communication with serial devices and - Linux write currently not working ## Examples - How to use +To use this library you need the following flags to run it: +- `--unstable` +- `--allow-ffi` + ### Ports Get a list with all serial ports and their info that are currently available on your system. From 940276c1c0f99e3eac36b73670fba3eff280ba4f Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 13:58:34 +0200 Subject: [PATCH 049/138] Updated files --- CMakeLists.txt | 4 +-- lib/bin/windows.dll | Bin 19968 -> 39936 bytes lib/register_serial_functions.ts | 15 +++++++++ src/CMakeLists.txt | 2 +- src/include/serial.h | 3 ++ src/include/serial_windows.h | 4 +++ src/include/status_codes.h | 2 +- src/src/serial.cpp | 6 +++- src/src/serial_windows.cpp | 56 ++++++++++++++++++++----------- 9 files changed, 68 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 86542ba..89b4704 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.26) +cmake_minimum_required(VERSION 3.25) set(PROJECT_N serialport) project(${PROJECT_N} VERSION 1.0) @@ -8,4 +8,4 @@ set(CMAKE_CXX_STANDARD_REQUIRED True) add_subdirectory(src) -target_include_directories(${PROJECT_N} PUBLIC include) \ No newline at end of file +target_include_directories(${PROJECT_N} PUBLIC include) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 354b1505ee0179b892fa2f357ec40a10bce73c7d..b0d598b669c51e014141d5e425913eef4e2d82e2 100644 GIT binary patch literal 39936 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 NSN5-;|MM;IzX7R!K+*sJ literal 19968 zcmeHv3wTsTwr+KjPC}sR2GbZsw86$iBOwq_Fa*0vH&$b}Mo17Jkc6ZI8S|QckieBO z*dR39R_4w_&z+frf@jV=JR^GMK)^XehhP#E7YSpS$t5&V5oyPaTc9zT-OF>c;#@YbsaftU{ex(~28+-l! zvFzug-k8#6@V+snbWLs0))Z)59jL6gRaG`LG=^-e{I)>2!B*Q~bKSGlR^M3d&oh}a z>>BIW=RLFMspS{m*VE%R|N9d1ar>X%`+9I{j>_ZFJJusVoN+ zN_bwFj+aHCtr)(FCoz^PNJEf43j!$>Pco}ORke{0zM5AlmU|dGf;PVee1aOcGS)*K zH8HlGCQ5&{Ggbo9$^O`h%G)9b7^tmXp zmgvTj7YGKbKo&Y_1w#B5BPBcz>Nnu8YeYrT5reKoJuhX39tUF!hjRZtF&;Bb#8mg@ zPlVm!>3uj|MJR)(R~nK3>Db}rqhTa!Rki;2M&>hzmGfww-NK_GdlrvAVz)V$@yJ;l z|5rtQ9`#5AUg;Aqee5lK)x2dB=7e`Sv&?{=$bcni_C}o+`N$27b*9|L`tIdY7mq$< z&*zbDGcSC#*}RX;kxMc!Z0F{My*yTC;L@A&4~>j@scx!AdYebTVc}9Yk2Yj+>7?8u zxD}!mF_P-+bGa0Yc%^k&yzp1ew|k_cXv&ZG z^4xZB;Xw0Ei(@JCxbz!dcnkwM$z#O^UPKErFptN0HZSZpKYk8l?HkMY0npRRBkkGp zD_5bv&2jUlEgCMQx)r+8BidX-j*|lG5mZAV=A-g0#3b?ZZHKUUSJif_MI!753PK# zL*AJT7V;zXPIzcOmO1Z(73B<{4QSIRUBX=G6A{)Yf=ji+_?CO4)%FTs%s#;*z2(Ie z*=Sm5HVQG=!P(%2a`VkRmU2_#Y}{qw8!w6B&*w2GrlZ~b_%-MN)1mL6n2vZhY5S(} z+KlWNIV0ov=EI>3Ih`u#(}8Koy-2p$;*+|((HaW`yaUtXi`{Z9k9=VXRB2Naw~@6M%nk}_A$v*>SaV)dYBfa5^Ei%Y|kGxm`|0gqbU>u~Mp;#qsaAKw^s5SBR!lb1m zatZRDSmtdycL$Y=X(Pk0NSr&N%0oHMa_35#IT?yMA|Isp5yw)o;K@1;!uPz2-pu#K zd2DGqkB)|Ar<=zm$z9iz;Kq|EKOlGPs6zd;yNuLmYBeq>0HDL9p_kQa-A|^cK z9@A-g*iiF6swrJUWjGd8m#b0zLWdz_+E3dztW0i$uhl$Z7xh#=LLuP9dCY6K$uEDY zC_H9;_ck;Tgvr!5%5yNUE6|fX1-ueO5vW#PM&)T&D%b2akH;2cX}z|#NPZu?4*6_& zuyJBtMS6O8ltWvGayk_2+c#6!n@@zsaOpLo_5K_U3gV(z=J3$E9HbBIKXvx3W%miU zVIz0ok@~&TrGEGCUi&+{V9}s zV@=tf$Ok>1=%Rr>>!3sLL>;fx-q=eIBPDPv4b=izvJUJnWb#IB5MR?TrG!z3rV;<)|?Tv=d@h7f;pH)R?cQUeM9x%# z!tbD>vomda-&~gzzf61Q#hyV1u`!mU!>*g#ovrbF_trF*bPx>QR)@0#!+8;DFORu1 z5jcb=5Mdt;4#VEt>E6M5pFzeO^Jn^UKlBy;!Mx=+DJbl6@1;tf$mf>eByZIJqS)r& z;W6J1*?$cp<4)JK9jvd!C!O^~-Z1+L"q%(c#p2!yyeCCCH9mNu9v44&zUrI;c3QP=`T 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 { + console.log('Callback from C++!'); + }); + + serialFunctions.serialSetCallBackFunction(callback.pointer); return { open: serialFunctions.serialOpen, @@ -94,3 +108,4 @@ export function registerSerialFunctions( getAvailablePorts: serialFunctions.serialGetAvailablePorts } } + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f79384e..c32a32d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.26) +cmake_minimum_required(VERSION 3.25) set(PROJECT_N serialport) project(${PROJECT_N} VERSION 1.0) diff --git a/src/include/serial.h b/src/include/serial.h index 687047e..1afa3fc 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -19,6 +19,7 @@ # define systemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) windowsSystemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) # define systemWrite(buffer, bufferSize, timeout, multiplier) windowsSystemWrite(buffer, bufferSize, timeout, multiplier) # define systemGetAvailablePorts(buffer, bufferSize, separator) windowsSystemGetAvailablePorts(buffer, bufferSize, separator) +# define systemSetCallbackFunction(f_pointer) windowsSetCallbackFunction(f_pointer) #endif // Linux, Apple @@ -36,6 +37,8 @@ extern "C" { #endif + MODULE_API auto serialSetCallBackFunction(void (*func)()) -> void; + MODULE_API auto serialOpen( void* port, const int baudrate, diff --git a/src/include/serial_windows.h b/src/include/serial_windows.h index 0b5f7d8..4cb1509 100644 --- a/src/include/serial_windows.h +++ b/src/include/serial_windows.h @@ -6,10 +6,14 @@ #include #include "status_codes.h" +extern void (*callback)(); + extern HANDLE hSerialPort; extern DCB dcbSerialParams; extern COMMTIMEOUTS timeouts; +void windowsSetCallbackFunction(void (*func)()); + auto windowsSystemOpen( void* port, const int baudrate, diff --git a/src/include/status_codes.h b/src/include/status_codes.h index 0569e3f..83eb667 100644 --- a/src/include/status_codes.h +++ b/src/include/status_codes.h @@ -11,4 +11,4 @@ enum class StatusCodes { NOT_FOUND_ERROR = -9 }; -#define returnStatus(status) return static_cast(status) +#define status(status) static_cast(status) diff --git a/src/src/serial.cpp b/src/src/serial.cpp index d3e362d..75d2b32 100644 --- a/src/src/serial.cpp +++ b/src/src/serial.cpp @@ -1,5 +1,9 @@ #include "serial.h" -// test for ci + +void serialSetCallBackFunction(void (*func)()) { + systemSetCallbackFunction(func); +} + auto serialOpen( void* port, const int baudrate, diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index c9cddf8..c0ca3f6 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -7,6 +7,14 @@ DCB dcbSerialParams = {0}; COMMTIMEOUTS timeouts = {0}; std::string data; +void (*callback)(); + +void windowsSetCallbackFunction(void (*func)()){ + callback = func; +} + + + /** * @fn auto open(void* port, const int baudrate, const int dataBits, const int parity, const int stopBits) -> int * @brief Opens the specified connection to a serial device. @@ -25,6 +33,8 @@ auto windowsSystemOpen( const int stopBits ) -> int { + callback(); + char *portName = static_cast(port); dcbSerialParams.DCBlength = sizeof(DCB); @@ -41,13 +51,13 @@ auto windowsSystemOpen( // Error if open fails if (hSerialPort == INVALID_HANDLE_VALUE) { - returnStatus(StatusCodes::INVALID_HANDLE_ERROR); + return status(StatusCodes::INVALID_HANDLE_ERROR); } // Error if configuration get fails if (!GetCommState(hSerialPort, &dcbSerialParams)) { CloseHandle(hSerialPort); - returnStatus(StatusCodes::GET_STATE_ERROR); + return status(StatusCodes::GET_STATE_ERROR); } dcbSerialParams.BaudRate = baudrate; @@ -57,8 +67,12 @@ auto windowsSystemOpen( // Error if configuration set fails if (!SetCommState(hSerialPort, &dcbSerialParams)) { - CloseHandle(hSerialPort); - returnStatus(StatusCodes::SET_STATE_ERROR); + // Error if close fails + if (!CloseHandle(hSerialPort)) { + return status(StatusCodes::CLOSE_HANDLE_ERROR); + } + + return status(StatusCodes::SET_STATE_ERROR); } timeouts.ReadIntervalTimeout = 50; @@ -69,11 +83,15 @@ auto windowsSystemOpen( // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { - CloseHandle(hSerialPort); - returnStatus(StatusCodes::SET_TIMEOUT_ERROR); + // Error if close fails + if (!CloseHandle(hSerialPort)) { + return status(StatusCodes::CLOSE_HANDLE_ERROR); + } + + return status(StatusCodes::SET_TIMEOUT_ERROR); } - returnStatus(StatusCodes::SUCCESS); + return status(StatusCodes::SUCCESS); } /** @@ -84,15 +102,15 @@ auto windowsSystemOpen( auto windowsSystemClose() -> int { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { - returnStatus(StatusCodes::INVALID_HANDLE_ERROR); + return status(StatusCodes::INVALID_HANDLE_ERROR); } // Error if close fails if (!CloseHandle(hSerialPort)) { - returnStatus(StatusCodes::CLOSE_HANDLE_ERROR); + return status(StatusCodes::CLOSE_HANDLE_ERROR); } - returnStatus(StatusCodes::SUCCESS); + return status(StatusCodes::SUCCESS); } /** @@ -113,7 +131,7 @@ auto windowsSystemRead( ) -> int { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { - returnStatus(StatusCodes::INVALID_HANDLE_ERROR); + return status(StatusCodes::INVALID_HANDLE_ERROR); } timeouts.ReadIntervalTimeout = timeout; @@ -122,14 +140,14 @@ auto windowsSystemRead( // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { - returnStatus(StatusCodes::SET_TIMEOUT_ERROR); + return status(StatusCodes::SET_TIMEOUT_ERROR); } DWORD bytesRead; // Error if read fails if (!ReadFile(hSerialPort, buffer, bufferSize, &bytesRead, NULL)) { - returnStatus(StatusCodes::READ_ERROR); + return status(StatusCodes::READ_ERROR); } return bytesRead; @@ -155,7 +173,7 @@ auto windowsSystemReadUntil( ) -> int { if (hSerialPort == INVALID_HANDLE_VALUE) { - returnStatus(StatusCodes::INVALID_HANDLE_ERROR); + return status(StatusCodes::INVALID_HANDLE_ERROR); } timeouts.ReadIntervalTimeout = timeout; @@ -164,7 +182,7 @@ auto windowsSystemReadUntil( // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { - returnStatus(StatusCodes::SET_TIMEOUT_ERROR); + return status(StatusCodes::SET_TIMEOUT_ERROR); } data = ""; @@ -175,7 +193,7 @@ auto windowsSystemReadUntil( // Error if read fails if (!ReadFile(hSerialPort, bufferChar, sizeof(bufferChar), &bytesRead, NULL)) { - returnStatus(StatusCodes::READ_ERROR); + return status(StatusCodes::READ_ERROR); } if (bytesRead == 0) { @@ -208,12 +226,12 @@ auto windowsSystemWrite(void* buffer, const int bufferSize, const int timeout, c // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { - returnStatus(StatusCodes::SET_TIMEOUT_ERROR); + return status(StatusCodes::SET_TIMEOUT_ERROR); } // Error if write fails if (!WriteFile(hSerialPort, buffer, bufferSize, &bytesWritten, NULL)) { - returnStatus(StatusCodes::WRITE_ERROR); + return status(StatusCodes::WRITE_ERROR); } return bytesWritten; @@ -258,7 +276,7 @@ auto windowsSystemGetAvailablePorts( // Error if buffer size is to small if (result.length() + 1 > bufferSize) { - returnStatus(StatusCodes::BUFFER_ERROR); + return status(StatusCodes::BUFFER_ERROR); } memcpy(buffer, result.c_str(), result.length() + 1); From de3113c2bfbbce7a2c3874b609606406cc533d4f Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 14:02:24 +0200 Subject: [PATCH 050/138] Update register_serial_functions.ts --- lib/register_serial_functions.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index c8b4c64..281780a 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -5,6 +5,9 @@ export function registerSerialFunctions( os : string, libSuffix : string ) : SerialFunctions { + console.log(`Opening: ${path}/${os}.${libSuffix}`); + + const serialFunctions = Deno.dlopen(`${path}/${os}.${libSuffix}`, { 'serialSetCallBackFunction': { parameters: ['function'], From 8029a9b10a7afa2e4975525764c5aaa85e81c551 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 14:09:17 +0200 Subject: [PATCH 051/138] update --- lib/register_serial_functions.ts | 8 +++++--- src/include/serial.h | 2 +- src/include/serial_windows.h | 4 ++-- src/src/serial.cpp | 2 +- src/src/serial_windows.cpp | 6 +++--- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 281780a..0875ac1 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -93,11 +93,13 @@ export function registerSerialFunctions( }).symbols const callback = new Deno.UnsafeCallback({ - parameters: [], + parameters: [ + 'i32' + ], result: "void", } as const, - () => { - console.log('Callback from C++!'); + (code) => { + console.log('Callback from C++ with code:', code); }); serialFunctions.serialSetCallBackFunction(callback.pointer); diff --git a/src/include/serial.h b/src/include/serial.h index 1afa3fc..9916847 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -37,7 +37,7 @@ extern "C" { #endif - MODULE_API auto serialSetCallBackFunction(void (*func)()) -> void; + MODULE_API auto serialSetCallBackFunction(void (*func)(int code)) -> void; MODULE_API auto serialOpen( void* port, diff --git a/src/include/serial_windows.h b/src/include/serial_windows.h index 4cb1509..b9711bc 100644 --- a/src/include/serial_windows.h +++ b/src/include/serial_windows.h @@ -6,13 +6,13 @@ #include #include "status_codes.h" -extern void (*callback)(); +extern void (*callback)(int code); extern HANDLE hSerialPort; extern DCB dcbSerialParams; extern COMMTIMEOUTS timeouts; -void windowsSetCallbackFunction(void (*func)()); +void windowsSetCallbackFunction(void (*func)(int code)); auto windowsSystemOpen( void* port, diff --git a/src/src/serial.cpp b/src/src/serial.cpp index 75d2b32..69830a6 100644 --- a/src/src/serial.cpp +++ b/src/src/serial.cpp @@ -1,6 +1,6 @@ #include "serial.h" -void serialSetCallBackFunction(void (*func)()) { +void serialSetCallBackFunction(void (*func)(int code)) { systemSetCallbackFunction(func); } diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index c0ca3f6..28e6a0d 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -7,9 +7,9 @@ DCB dcbSerialParams = {0}; COMMTIMEOUTS timeouts = {0}; std::string data; -void (*callback)(); +void (*callback)(int code); -void windowsSetCallbackFunction(void (*func)()){ +void windowsSetCallbackFunction(void (*func)(int code)){ callback = func; } @@ -33,7 +33,7 @@ auto windowsSystemOpen( const int stopBits ) -> int { - callback(); + callback(69); char *portName = static_cast(port); From 7f10adb174727e61042afcac3a3232f05d4440c2 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 14:23:15 +0200 Subject: [PATCH 052/138] compile --- src/include/serial.h | 2 +- src/include/serial_windows.h | 4 ++-- src/src/serial.cpp | 2 +- src/src/serial_windows.cpp | 8 +++++--- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/include/serial.h b/src/include/serial.h index 9916847..e339c37 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -37,7 +37,7 @@ extern "C" { #endif - MODULE_API auto serialSetCallBackFunction(void (*func)(int code)) -> void; + MODULE_API auto serialSetCallBackFunction(void (*func)(int code, void* buffer, int size)) -> void; MODULE_API auto serialOpen( void* port, diff --git a/src/include/serial_windows.h b/src/include/serial_windows.h index b9711bc..e220988 100644 --- a/src/include/serial_windows.h +++ b/src/include/serial_windows.h @@ -6,13 +6,13 @@ #include #include "status_codes.h" -extern void (*callback)(int code); +extern void (*callback)(int code, void* buffer, int size); extern HANDLE hSerialPort; extern DCB dcbSerialParams; extern COMMTIMEOUTS timeouts; -void windowsSetCallbackFunction(void (*func)(int code)); +void windowsSetCallbackFunction(void (*func)(int code, void* buffer, int size)); auto windowsSystemOpen( void* port, diff --git a/src/src/serial.cpp b/src/src/serial.cpp index 69830a6..889c22c 100644 --- a/src/src/serial.cpp +++ b/src/src/serial.cpp @@ -1,6 +1,6 @@ #include "serial.h" -void serialSetCallBackFunction(void (*func)(int code)) { +void serialSetCallBackFunction(void (*func)(int code, void* buffer, int size)) { systemSetCallbackFunction(func); } diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 28e6a0d..6ddce31 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -7,9 +7,9 @@ DCB dcbSerialParams = {0}; COMMTIMEOUTS timeouts = {0}; std::string data; -void (*callback)(int code); +void (*callback)(int code, void* buffer, int size); -void windowsSetCallbackFunction(void (*func)(int code)){ +void windowsSetCallbackFunction(void (*func)(int code, void* buffer, int size)){ callback = func; } @@ -33,7 +33,9 @@ auto windowsSystemOpen( const int stopBits ) -> int { - callback(69); + static std::string str = "hey"; + + callback(69, static_cast(&str), str.length()); char *portName = static_cast(port); From 94999caa160489d4d4fbaaea7a8c7cecbf6ea321 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 14:52:15 +0200 Subject: [PATCH 053/138] new error handling --- src/include/serial.h | 8 ++--- src/include/serial_windows.h | 10 +++--- src/src/serial.cpp | 8 ++--- src/src/serial_windows.cpp | 64 +++++++++++++++++++++++++----------- 4 files changed, 58 insertions(+), 32 deletions(-) diff --git a/src/include/serial.h b/src/include/serial.h index e339c37..b4cb704 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -37,17 +37,17 @@ extern "C" { #endif - MODULE_API auto serialSetCallBackFunction(void (*func)(int code, void* buffer, int size)) -> void; + MODULE_API auto serialSetCallBackFunction(void (*func)(int code, void* buffer)) -> void; - MODULE_API auto serialOpen( + MODULE_API void serialOpen( void* port, const int baudrate, const int dataBits, const int parity = 0, const int stopBits = 0 - ) -> int; + ); - MODULE_API auto serialClose() -> int; + MODULE_API void serialClose(); MODULE_API auto serialRead( void* buffer, diff --git a/src/include/serial_windows.h b/src/include/serial_windows.h index e220988..c876d58 100644 --- a/src/include/serial_windows.h +++ b/src/include/serial_windows.h @@ -6,23 +6,23 @@ #include #include "status_codes.h" -extern void (*callback)(int code, void* buffer, int size); +extern void (*callback)(int code, void* buffer); extern HANDLE hSerialPort; extern DCB dcbSerialParams; extern COMMTIMEOUTS timeouts; -void windowsSetCallbackFunction(void (*func)(int code, void* buffer, int size)); +void windowsSetCallbackFunction(void (*func)(int code, void* buffer)); -auto windowsSystemOpen( +void windowsSystemOpen( void* port, const int baudrate, const int dataBits, const int parity = 0, const int stopBits = 0 -) -> int; +); -auto windowsSystemClose() -> int; +void windowsSystemClose(); auto windowsSystemRead( void* buffer, diff --git a/src/src/serial.cpp b/src/src/serial.cpp index 889c22c..3689e70 100644 --- a/src/src/serial.cpp +++ b/src/src/serial.cpp @@ -1,20 +1,20 @@ #include "serial.h" -void serialSetCallBackFunction(void (*func)(int code, void* buffer, int size)) { +void serialSetCallBackFunction(void (*func)(int code, void* buffer)) { systemSetCallbackFunction(func); } -auto serialOpen( +void serialOpen( void* port, const int baudrate, const int dataBits, const int parity, const int stopBits -) -> int { +) { return systemOpen(port, baudrate, dataBits, parity, stopBits); } -auto serialClose() -> int { +void serialClose() { return systemClose(); } diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 6ddce31..fdbb1cd 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -1,3 +1,4 @@ +#include #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) #include "serial_windows.h" @@ -7,9 +8,38 @@ DCB dcbSerialParams = {0}; COMMTIMEOUTS timeouts = {0}; std::string data; -void (*callback)(int code, void* buffer, int size); +void (*callback)(int code, void* buffer); + +namespace helper { + void Callback(StatusCodes errorCode){ + DWORD code = GetLastError(); + LPSTR buffer = nullptr; + + DWORD result = FormatMessageA( + FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + nullptr, + code, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + reinterpret_cast(&buffer), + 0, + nullptr); + + static std::string errorMessage; + if (result != 0 && buffer != nullptr) + { + errorMessage = buffer; + LocalFree(buffer); + } + else + { + errorMessage = "Unknown error"; + } + + callback(status(errorCode), static_cast(&errorMessage)); + } +} -void windowsSetCallbackFunction(void (*func)(int code, void* buffer, int size)){ +void windowsSetCallbackFunction(void (*func)(int code, void* buffer)){ callback = func; } @@ -25,17 +55,13 @@ void windowsSetCallbackFunction(void (*func)(int code, void* buffer, int size)){ * @param stopBits The stop bits * @return Returns the current status code */ -auto windowsSystemOpen( +void windowsSystemOpen( void* port, const int baudrate, const int dataBits, const int parity, const int stopBits -) -> int { - - static std::string str = "hey"; - - callback(69, static_cast(&str), str.length()); +) { char *portName = static_cast(port); @@ -53,13 +79,13 @@ auto windowsSystemOpen( // Error if open fails if (hSerialPort == INVALID_HANDLE_VALUE) { - return status(StatusCodes::INVALID_HANDLE_ERROR); + helper::Callback(StatusCodes::INVALID_HANDLE_ERROR); } // Error if configuration get fails if (!GetCommState(hSerialPort, &dcbSerialParams)) { CloseHandle(hSerialPort); - return status(StatusCodes::GET_STATE_ERROR); + helper::Callback(StatusCodes::GET_STATE_ERROR); } dcbSerialParams.BaudRate = baudrate; @@ -71,10 +97,10 @@ auto windowsSystemOpen( if (!SetCommState(hSerialPort, &dcbSerialParams)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - return status(StatusCodes::CLOSE_HANDLE_ERROR); + helper::Callback(StatusCodes::CLOSE_HANDLE_ERROR); } - return status(StatusCodes::SET_STATE_ERROR); + helper::Callback(StatusCodes::SET_STATE_ERROR); } timeouts.ReadIntervalTimeout = 50; @@ -87,13 +113,13 @@ auto windowsSystemOpen( if (!SetCommTimeouts(hSerialPort, &timeouts)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - return status(StatusCodes::CLOSE_HANDLE_ERROR); + helper::Callback(StatusCodes::CLOSE_HANDLE_ERROR); } - return status(StatusCodes::SET_TIMEOUT_ERROR); + helper::Callback(StatusCodes::SET_TIMEOUT_ERROR); } - return status(StatusCodes::SUCCESS); + helper::Callback(StatusCodes::SUCCESS); } /** @@ -101,18 +127,18 @@ auto windowsSystemOpen( * @brief Closes the specified connection to a serial device. * @return Returns the current status code */ -auto windowsSystemClose() -> int { +void windowsSystemClose() { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { - return status(StatusCodes::INVALID_HANDLE_ERROR); + helper::Callback(StatusCodes::INVALID_HANDLE_ERROR); } // Error if close fails if (!CloseHandle(hSerialPort)) { - return status(StatusCodes::CLOSE_HANDLE_ERROR); + helper::Callback(StatusCodes::CLOSE_HANDLE_ERROR); } - return status(StatusCodes::SUCCESS); + helper::Callback(StatusCodes::SUCCESS); } /** From 2a1c10ea7b6b09169649519ae8ca8d475ff44afd Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 14:52:15 +0200 Subject: [PATCH 054/138] new error handling --- src/include/serial.h | 8 ++--- src/include/serial_windows.h | 10 +++--- src/src/serial.cpp | 8 ++--- src/src/serial_windows.cpp | 64 ++++++++++++++++++++++++------------ 4 files changed, 56 insertions(+), 34 deletions(-) diff --git a/src/include/serial.h b/src/include/serial.h index e339c37..b4cb704 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -37,17 +37,17 @@ extern "C" { #endif - MODULE_API auto serialSetCallBackFunction(void (*func)(int code, void* buffer, int size)) -> void; + MODULE_API auto serialSetCallBackFunction(void (*func)(int code, void* buffer)) -> void; - MODULE_API auto serialOpen( + MODULE_API void serialOpen( void* port, const int baudrate, const int dataBits, const int parity = 0, const int stopBits = 0 - ) -> int; + ); - MODULE_API auto serialClose() -> int; + MODULE_API void serialClose(); MODULE_API auto serialRead( void* buffer, diff --git a/src/include/serial_windows.h b/src/include/serial_windows.h index e220988..c876d58 100644 --- a/src/include/serial_windows.h +++ b/src/include/serial_windows.h @@ -6,23 +6,23 @@ #include #include "status_codes.h" -extern void (*callback)(int code, void* buffer, int size); +extern void (*callback)(int code, void* buffer); extern HANDLE hSerialPort; extern DCB dcbSerialParams; extern COMMTIMEOUTS timeouts; -void windowsSetCallbackFunction(void (*func)(int code, void* buffer, int size)); +void windowsSetCallbackFunction(void (*func)(int code, void* buffer)); -auto windowsSystemOpen( +void windowsSystemOpen( void* port, const int baudrate, const int dataBits, const int parity = 0, const int stopBits = 0 -) -> int; +); -auto windowsSystemClose() -> int; +void windowsSystemClose(); auto windowsSystemRead( void* buffer, diff --git a/src/src/serial.cpp b/src/src/serial.cpp index 889c22c..3689e70 100644 --- a/src/src/serial.cpp +++ b/src/src/serial.cpp @@ -1,20 +1,20 @@ #include "serial.h" -void serialSetCallBackFunction(void (*func)(int code, void* buffer, int size)) { +void serialSetCallBackFunction(void (*func)(int code, void* buffer)) { systemSetCallbackFunction(func); } -auto serialOpen( +void serialOpen( void* port, const int baudrate, const int dataBits, const int parity, const int stopBits -) -> int { +) { return systemOpen(port, baudrate, dataBits, parity, stopBits); } -auto serialClose() -> int { +void serialClose() { return systemClose(); } diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 6ddce31..474f802 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -1,3 +1,4 @@ +#include #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) #include "serial_windows.h" @@ -7,9 +8,38 @@ DCB dcbSerialParams = {0}; COMMTIMEOUTS timeouts = {0}; std::string data; -void (*callback)(int code, void* buffer, int size); +void (*callback)(int code, void* buffer); + +namespace helper { + void Callback(StatusCodes errorCode){ + DWORD code = GetLastError(); + LPSTR buffer = nullptr; + + DWORD result = FormatMessageA( + FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + nullptr, + code, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + reinterpret_cast(&buffer), + 0, + nullptr); + + static std::string errorMessage; + if (result != 0 && buffer != nullptr) + { + errorMessage = buffer; + LocalFree(buffer); + } + else + { + errorMessage = "Unknown error"; + } + + callback(status(errorCode), static_cast(&errorMessage)); + } +} -void windowsSetCallbackFunction(void (*func)(int code, void* buffer, int size)){ +void windowsSetCallbackFunction(void (*func)(int code, void* buffer)){ callback = func; } @@ -25,17 +55,13 @@ void windowsSetCallbackFunction(void (*func)(int code, void* buffer, int size)){ * @param stopBits The stop bits * @return Returns the current status code */ -auto windowsSystemOpen( +void windowsSystemOpen( void* port, const int baudrate, const int dataBits, const int parity, const int stopBits -) -> int { - - static std::string str = "hey"; - - callback(69, static_cast(&str), str.length()); +) { char *portName = static_cast(port); @@ -53,13 +79,13 @@ auto windowsSystemOpen( // Error if open fails if (hSerialPort == INVALID_HANDLE_VALUE) { - return status(StatusCodes::INVALID_HANDLE_ERROR); + helper::Callback(StatusCodes::INVALID_HANDLE_ERROR); } // Error if configuration get fails if (!GetCommState(hSerialPort, &dcbSerialParams)) { CloseHandle(hSerialPort); - return status(StatusCodes::GET_STATE_ERROR); + helper::Callback(StatusCodes::GET_STATE_ERROR); } dcbSerialParams.BaudRate = baudrate; @@ -71,10 +97,10 @@ auto windowsSystemOpen( if (!SetCommState(hSerialPort, &dcbSerialParams)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - return status(StatusCodes::CLOSE_HANDLE_ERROR); + helper::Callback(StatusCodes::CLOSE_HANDLE_ERROR); } - return status(StatusCodes::SET_STATE_ERROR); + helper::Callback(StatusCodes::SET_STATE_ERROR); } timeouts.ReadIntervalTimeout = 50; @@ -87,13 +113,11 @@ auto windowsSystemOpen( if (!SetCommTimeouts(hSerialPort, &timeouts)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - return status(StatusCodes::CLOSE_HANDLE_ERROR); + helper::Callback(StatusCodes::CLOSE_HANDLE_ERROR); } - return status(StatusCodes::SET_TIMEOUT_ERROR); + helper::Callback(StatusCodes::SET_TIMEOUT_ERROR); } - - return status(StatusCodes::SUCCESS); } /** @@ -101,18 +125,16 @@ auto windowsSystemOpen( * @brief Closes the specified connection to a serial device. * @return Returns the current status code */ -auto windowsSystemClose() -> int { +void windowsSystemClose() { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { - return status(StatusCodes::INVALID_HANDLE_ERROR); + helper::Callback(StatusCodes::INVALID_HANDLE_ERROR); } // Error if close fails if (!CloseHandle(hSerialPort)) { - return status(StatusCodes::CLOSE_HANDLE_ERROR); + helper::Callback(StatusCodes::CLOSE_HANDLE_ERROR); } - - return status(StatusCodes::SUCCESS); } /** From 1fabbc5f6a3b838f6c7dcb91ca787c6712168106 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 13:42:00 +0000 Subject: [PATCH 055/138] linux error handling implementation --- CMakeLists.txt | 2 +- src/CMakeLists.txt | 2 +- src/include/serial.h | 1 + src/include/serial_unix.h | 10 +++++++--- src/src/serial_unix.cpp | 23 ++++++++++++++++++----- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89b4704..90d3fa3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.25) +cmake_minimum_required(VERSION 3.22) set(PROJECT_N serialport) project(${PROJECT_N} VERSION 1.0) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c32a32d..6329d11 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.25) +cmake_minimum_required(VERSION 3.22) set(PROJECT_N serialport) project(${PROJECT_N} VERSION 1.0) diff --git a/src/include/serial.h b/src/include/serial.h index b4cb704..690fec7 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -31,6 +31,7 @@ # define systemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) unixSystemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) # define systemWrite(buffer, bufferSize, timeout, multiplier) unixSystemWrite(buffer, bufferSize, timeout, multiplier) # define systemGetAvailablePorts(buffer, bufferSize, separator) unixSystemGetAvailablePorts(buffer, bufferSize, separator) +# define systemSetCallbackFunction(f_pointer) unixSetCallbackFunction(f_pointer) #endif #ifdef __cplusplus diff --git a/src/include/serial_unix.h b/src/include/serial_unix.h index f33647e..76bb5bb 100644 --- a/src/include/serial_unix.h +++ b/src/include/serial_unix.h @@ -14,15 +14,19 @@ extern int hSerialPort; extern termios2 tty; -auto unixSystemOpen( +extern void (*callback)(int code, void* buffer); + +void unixSetCallbackFunction(void (*func)(int code, void* buffer)); + +void unixSystemOpen( void* port, const int baudrate, const int dataBits, const int parity = 0, const int stopBits = 0 -) -> int; +); -auto unixSystemClose() -> int; +void unixSystemClose(); auto unixSystemRead( void* buffer, diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index 9373752..48d20fc 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -6,13 +6,26 @@ int hSerialPort; termios2 tty; -auto unixSystemOpen( +void (*callback)(int code, void* buffer); + +namespace helper { + void Callback(StatusCodes errorCode){ + static std::string msg = ""; + callback(status(errorCode), static_cast(&msg)); + } +} + +void windowsSetCallbackFunction(void (*func)(int code, void* buffer)){ + callback = func; +} + +void unixSystemOpen( void* port, const int baudrate, const int dataBits, const int parity, const int stopBits -) -> int { +) { char *portName = static_cast(port); // Open new serial connection hSerialPort = open(portName, O_RDWR); @@ -98,11 +111,11 @@ auto unixSystemOpen( // Save tty settings, also checking for error ioctl(hSerialPort, TCSETS2, &tty); - returnStatus(StatusCodes::SUCCESS); + // returnStatus(StatusCodes::SUCCESS); } -auto unixSystemClose() -> int { - return close(hSerialPort); +void unixSystemClose() { + close(hSerialPort); } auto unixSystemRead( From 93f155af557daf033c4af6f581327c9116fb8770 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 13:43:29 +0000 Subject: [PATCH 056/138] Commited compiled binaries --- lib/bin/linux.so | Bin 17208 -> 17952 bytes lib/bin/windows.dll | Bin 21504 -> 21504 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index f65dbc1c1b98ee5ac022161b2b0a4085f6b42af5..6d1dcbebcc9601843449ea49c397506ef7249d17 100644 GIT binary patch literal 17952 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 V`LZkx7rFHPE0x4-hk}C@{{t2Xim(6x delta 3912 zcmZuz3viUx6~6b+ZrEM+kz&`Kc*vM<_vF5eP~vHnhPh zR!I;-P1o4PQyrwxiB|g>Eura*bf(fgP_bgWl!~#Vb<4DN8JH3XorzHSd+z=3MfmNV zx%a#0JLkUdJ@*VeNssTRiMh&mmL4cy>=QHQ!LB>IFg#{g-{8A&`AAPgzl%6gEj=BQYX+iokP9LwBsxGq!!^ z$q(YmxMS0TnKvtbdQX^jlYu!GGc%rsnau9VAQqykwJ(k;FHjrP{0;fdjHM zg_%t#!R;3kQY#dzgrdhZz-nWr#2IDH39-QQ(>8%>n}kJdzkihLv5yHo@&Wa}@2ZWV4XF<~?m=7q;`Z_KSoLo0Hsa+gt?a@u=W_ zc;MNs`0y-bzaVzb*oMcgkOQIv`BJb~o;t-2jfs`J;&@kiWan%sm(Yc}D<)a1glI!<@Sq9C^cGVEr zg|Ne8ZXZ1AcEW(WG*D z;6aabsMX(|@$0NDwEL<)rz3=GDQYHU(o=XH zz|XzM*J|;)($<>GU2ZMjT$-izchdA4UDvg~%jsi?39Y~W6ZDE&zx67EnyIclEpE+Z z_1@twyPonC^{}Om2}Jw1xc#D0_-;-CeHRYq6qffQMRr!K()QMWpS@zO@1I>xEndF? z`Lz9}uBW%)U~gF0&xcgboVE8OBl=^zbKz$u`8|{T>Zf@@o8@5kqs zE%RomrL7w$;PHQHnd~*UG}Gg zE4$gR$G(%~WnCXY%(|lMrx1gPDa6=SU0;VUJ2I*3%o(bPPJBo)#2{ij;ujD*5jDgf z#C3=X#7@N2HC_K5BKeQ5ClMovX+#yVKp`+0oMWAfW2-Q$cs5lbTI>rfnb7qJYaBK zcO>eb+vpB9y8VsrtVXx3c{=yDOK?gBxGed{uur@dxw*&{W1VR3tTwle+ipQ#g?CB{ z^VgvNm^srq&6Yr_4y{Tt7XY2zKranNXLmaw=0E&p=_I97L|dMiCud2@%=6zaGf&Nu z+W^v_fFo4sJwdIk|m1xFV0pzeqMXh!r+~JO;_X z$nA59{L>^qhL!)ffIohY7opm%6~kAXaxy8#6sJqz(1No2F7qzEBo^eATZMvCrg(mX z>Me>_Jc5^hnmmUJr#B5*B#|&I)UD^!E|Bv*Xn@BGeFzGU;kwKETSVM^MMcF~^6!f;We0 zKjv-m!e#gZuM3-`DKh(zX_rl*79+{e1(N?2t&BkLvp6pgUk96sIlwFjicxnRFTcXd zS=)tW!ZhwKsDdRf?+Bga<-9}}Tzu{e=G$@bR2$y(JE*4Qd;MVZ3ZVlier zXqrPVj4bj&XLSyIWXm7ASlvdUqvltzp!RO)wguo_#Cw-^LSbDIe5vkk7_4g@DyrW@ z;m8+%LfawQ5YCofLZUwd9&ZR`OJ^bxoyTZH$eSs=gv3UmYS^I(mN^S`u~)hhi4!=G z4-TsSZ0U3)qAwa%ceCFi8g{jNjm2_=W7Zrb~RPorCS+?-=ZWR zTM9mDs`e%uL__8ZFhwBR+<-oEPjlEMANgPe6?|IB=Ad_2Wp;!NGZs?}XiGI6hMJa! kya~an7~8YNLRmlbw^TSHi#b8cEHK)#SovBlTyH7+A5v)x*#H0l diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 2348b28f20a05f008847be93a862dcb27c21ac39..8f7bef0ef231bc814e33d98fb4b0900776144d77 100644 GIT binary patch delta 110 zcmZoz!Pu~ZaRUb+IXuOR0^B>GOeCEvN_q?6#VjkTwDghqd zB`Og>d53tQI0$U+6E#x+={{!KBrf?@l7Yd-hk@Y(kd{zjVE6-MD*)+^&56GA*#H#L BDxLrU delta 110 zcmZoz!Pu~ZaRUb>`41a)Z1t8tGInj4M F8vsGjD-8eu From 55f53655a619531c750a8952340d1c0b977448ec Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 15:56:28 +0200 Subject: [PATCH 057/138] typescript --- lib/interfaces/serial_functions.d.ts | 14 +++++++------- lib/register_serial_functions.ts | 9 +++++---- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/lib/interfaces/serial_functions.d.ts b/lib/interfaces/serial_functions.d.ts index 6a2f695..9ad0d53 100644 --- a/lib/interfaces/serial_functions.d.ts +++ b/lib/interfaces/serial_functions.d.ts @@ -4,34 +4,34 @@ import { Parity } from "../constants/parity.ts"; import { StopBits } from "../constants/stop_bits.ts"; export interface SerialFunctions { - open: ( + open : ( port : Uint8Array, baudrate : Baudrate, dataBits : DataBits, parity : Parity, stopBits : StopBits - ) => number, - close: () => number, - read: ( + ) => void, + close : () => void, + read : ( buffer : Uint8Array, bufferSize : number, timeout : number, multiplier : number ) => number, - readUntil: ( + readUntil : ( buffer : Uint8Array, bufferSize : number, timeout : number, multiplier : number, searchString : Uint8Array ) => number, - write: ( + write : ( buffer : Uint8Array, bufferSize : number, timeout : number, multiplier : number ) => number, - getAvailablePorts: ( + getAvailablePorts : ( buffer : Uint8Array, bufferSize : number, separator : Uint8Array diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 0875ac1..c70c6dc 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -27,7 +27,7 @@ export function registerSerialFunctions( 'i32' ], // Status code - result: 'i32' + result: 'void' }, 'serialClose': { parameters: [], @@ -94,12 +94,13 @@ export function registerSerialFunctions( const callback = new Deno.UnsafeCallback({ parameters: [ - 'i32' + 'i32', + 'buffer' ], result: "void", } as const, - (code) => { - console.log('Callback from C++ with code:', code); + (code, message) => { + console.log('Callback from C++ with code:', code, '\nmessage:', Deno.UnsafePointerView.getCString(message!)); }); serialFunctions.serialSetCallBackFunction(callback.pointer); From 2fb812af6ad923bf5f21ce7bedcc0a8adb453c56 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 15:57:20 +0200 Subject: [PATCH 058/138] Update register_serial_functions.ts --- lib/register_serial_functions.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 0875ac1..16d83be 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -6,7 +6,6 @@ export function registerSerialFunctions( libSuffix : string ) : SerialFunctions { console.log(`Opening: ${path}/${os}.${libSuffix}`); - const serialFunctions = Deno.dlopen(`${path}/${os}.${libSuffix}`, { 'serialSetCallBackFunction': { From 487e6dd4a40db655e0d99423d7f83b85020089a5 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 16:02:03 +0200 Subject: [PATCH 059/138] Update Serial.ts --- lib/Serial.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/Serial.ts b/lib/Serial.ts index ca7da44..4c1c6e5 100644 --- a/lib/Serial.ts +++ b/lib/Serial.ts @@ -43,15 +43,13 @@ export class Serial { baudrate : Baudrate, serialOptions? : SerialOptions ) : void { - const result = this._dl.open( + this._dl.open( encode(port + '\0'), baudrate, serialOptions?.dataBits || dataBits.EIGHT, serialOptions?.parity || parity.NONE, serialOptions?.stopBits || stopBits.ONE ); - - checkForErrorCode(result); this._isOpen = true; } @@ -60,9 +58,7 @@ export class Serial { * Closes the serial connection. */ close() { - const result = this._dl.close(); - - checkForErrorCode(result); + this._dl.close(); this._isOpen = false; } From b2af4ed3082550183581dcca4ac6e2d8e9e5b176 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 16:09:02 +0200 Subject: [PATCH 060/138] Updated C++ code --- lib/register_serial_functions.ts | 2 +- src/include/serial.h | 6 +++--- src/include/serial_windows.h | 2 +- src/src/serial.cpp | 4 ++-- src/src/serial_windows.cpp | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index e7223f9..7b05415 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -8,7 +8,7 @@ export function registerSerialFunctions( console.log(`Opening: ${path}/${os}.${libSuffix}`); const serialFunctions = Deno.dlopen(`${path}/${os}.${libSuffix}`, { - 'serialSetCallBackFunction': { + 'serialError': { parameters: ['function'], result: 'void' }, diff --git a/src/include/serial.h b/src/include/serial.h index 690fec7..bbf062b 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -19,7 +19,7 @@ # define systemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) windowsSystemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) # define systemWrite(buffer, bufferSize, timeout, multiplier) windowsSystemWrite(buffer, bufferSize, timeout, multiplier) # define systemGetAvailablePorts(buffer, bufferSize, separator) windowsSystemGetAvailablePorts(buffer, bufferSize, separator) -# define systemSetCallbackFunction(f_pointer) windowsSetCallbackFunction(f_pointer) +# define systemError(f_pointer) windowsSystemError(f_pointer) #endif // Linux, Apple @@ -31,14 +31,14 @@ # define systemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) unixSystemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) # define systemWrite(buffer, bufferSize, timeout, multiplier) unixSystemWrite(buffer, bufferSize, timeout, multiplier) # define systemGetAvailablePorts(buffer, bufferSize, separator) unixSystemGetAvailablePorts(buffer, bufferSize, separator) -# define systemSetCallbackFunction(f_pointer) unixSetCallbackFunction(f_pointer) +# define systemError(f_pointer) unixSystemError(f_pointer) #endif #ifdef __cplusplus extern "C" { #endif - MODULE_API auto serialSetCallBackFunction(void (*func)(int code, void* buffer)) -> void; + MODULE_API auto serialError(void (*func)(int code, void* buffer)) -> void; MODULE_API void serialOpen( void* port, diff --git a/src/include/serial_windows.h b/src/include/serial_windows.h index c876d58..4da6743 100644 --- a/src/include/serial_windows.h +++ b/src/include/serial_windows.h @@ -12,7 +12,7 @@ extern HANDLE hSerialPort; extern DCB dcbSerialParams; extern COMMTIMEOUTS timeouts; -void windowsSetCallbackFunction(void (*func)(int code, void* buffer)); +void windowsSystemError(void (*func)(int code, void* buffer)); void windowsSystemOpen( void* port, diff --git a/src/src/serial.cpp b/src/src/serial.cpp index 3689e70..9d168d6 100644 --- a/src/src/serial.cpp +++ b/src/src/serial.cpp @@ -1,7 +1,7 @@ #include "serial.h" -void serialSetCallBackFunction(void (*func)(int code, void* buffer)) { - systemSetCallbackFunction(func); +void serialError(void (*func)(int code, void* buffer)) { + systemError(func); } void serialOpen( diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 474f802..6ffe7dd 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -39,7 +39,7 @@ namespace helper { } } -void windowsSetCallbackFunction(void (*func)(int code, void* buffer)){ +void windowsError(void (*func)(int code, void* buffer)){ callback = func; } From 194cd955a36a8410e0a1ab670c13f81f8afdb8bb Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 16:10:20 +0200 Subject: [PATCH 061/138] Update register_serial_functions.ts --- lib/register_serial_functions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 7b05415..c484724 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -102,7 +102,7 @@ export function registerSerialFunctions( console.log('Callback from C++ with code:', code, '\nmessage:', Deno.UnsafePointerView.getCString(message!)); }); - serialFunctions.serialSetCallBackFunction(callback.pointer); + serialFunctions.serialError(callback.pointer); return { open: serialFunctions.serialOpen, From 9b71f5fdbe3de1402f848775a4dd430d948c88fd Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 16:13:54 +0200 Subject: [PATCH 062/138] Update serial_unix.cpp --- src/src/serial_unix.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index 48d20fc..d2d903e 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -15,7 +15,7 @@ namespace helper { } } -void windowsSetCallbackFunction(void (*func)(int code, void* buffer)){ +void unixSystemError(void (*func)(int code, void* buffer)){ callback = func; } From be6b38922f60915b7327eca79c54b0ded27978e5 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 16:16:04 +0200 Subject: [PATCH 063/138] Update serial_unix.h --- src/include/serial_unix.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/include/serial_unix.h b/src/include/serial_unix.h index 76bb5bb..b45a15c 100644 --- a/src/include/serial_unix.h +++ b/src/include/serial_unix.h @@ -16,7 +16,7 @@ extern termios2 tty; extern void (*callback)(int code, void* buffer); -void unixSetCallbackFunction(void (*func)(int code, void* buffer)); +void unixSystemError(void (*func)(int code, void* buffer)); void unixSystemOpen( void* port, From 92e4cb177a24de42b24ea0495fbde96191531744 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 16:19:30 +0200 Subject: [PATCH 064/138] Update serial_windows.cpp --- src/src/serial_windows.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 6ffe7dd..b241b96 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -39,7 +39,7 @@ namespace helper { } } -void windowsError(void (*func)(int code, void* buffer)){ +void windowsSystemError(void (*func)(int code, void* buffer)){ callback = func; } From 4a20188e4f4b07ef14178271f3649ea99bcebd6e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 14:21:02 +0000 Subject: [PATCH 065/138] Commited compiled binaries --- lib/bin/linux.so | Bin 17952 -> 17872 bytes lib/bin/windows.dll | Bin 21504 -> 21504 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 6d1dcbebcc9601843449ea49c397506ef7249d17..da87e7b101242100b7ba99c9c5898f1b090c5ab4 100644 GIT binary patch delta 1641 zcmZ`(Z%kWN6u+mhf2g#yg|bJ-pbs<^678eLQr8t|jWwc7I`JtGri~H_i6{;m%y-dk6CKC5Q8O?W=Kp`t7%_8Q*?xfBf>7E3em{8hULn9#Il7gPV#9ACS~x zldo+VV9d)8fgWLdL&!Zs&I{RvzWbZ;s^W(gEL&A53G{%FIU#RwiN%x^6E;6s5y)$Y zzzVi57~`w{+jP}>R>w-)#H~dE_^N@<=Xl0%;!abseWW?=Z8QN{Vb*{?y9&oJWmf~& zq))OcHi(nt^8lW=tC6Rv+CD0&mNN6)V=DHPjAd1^mvECZe=V&=dD}J_RYq{AFvWdf z86yt0e^}-pkom3B^A?!*pOE>_O8kh-?5#TYBV2Ig0_j}tP>ziZN1{_NWnUhe%^%)B zE->T1njgT3-jN5e;A(9fmTK)sc}k$KU7Usp?K`8eR&nU!!dW|GHZ~`nrnYD4 z4K3^>PP+1eAdiu>(Pu8moweaVt{Dj7lv@WC-*?}DW;|0j5@@M7lP)IB4WE@xbbE9N zV2?+|gvaInc#Ewb#|a%Hw6q0n$8&_f<8k3Y)6ys2T?(AXM8i5p{a$SJYj6d-{jb1I zW6ggX;4b6hHeHSILUE$E6T}P4sj}yV;8bTS7Ds3JC=~H{I0#F4F+Au?QgJx(J9E;| zsq0X{oq7;DjOX-0o3E?t<(v4t1R|80_q!(heNdkHsF`}F@v*8l4FUuFIc+0k*C|1XJ8NW5NV^I|!wM%t;J`K_v_BrNgj>FnoGFpRfI zF7kC?jXe2%SjtRH%_ZnF+|#Yv*2$`gzt3;N`|nELsv0?PwOb8@s8jiEs;9CSf9Y0X zw~#NQFQ!5sQzYkklra%=E5?O*BZTt%bJ=}k|2t!uho`fd=`>#2HGnONpNwG79AL&` z#pT|gEjJZ>wJ+=|%7?A!B`o*pz785GP8IzmLQ;1YBucNJj5#%z>7(H+?J9keG(JsU avBD!bmyS7~jhQZIu$+!r{z%}T>CnHunHDnu delta 1669 zcma)64QN|c6uu|POY>}!CRx_kbX%KtTer+DZ)v+myKG4|G8A#?9BfR)w(dv5V%o0% zQ0O+1DO<7a8FlK0nbKkpxT8elc=iGbF z_uaq4Iq&*$IC}y{S3}!aAS~z0m@fIrREKH!k6h~;cd}ETEg8A-vD{Ye8vP-W=dhc! zg49G>!u{n(%*<}t5^H|zlIcy!#xWmhCFv5+tExiD^81Uq%~vTjFodx30)KKoR+U*ScI0{8hGV~rK?z8-xLcSz*NEf|r! z5aS-y>zu>VdZ~kMYV4oY*$?261_c6mi&z14Tb0nWlpqgtGS_0`Q6jnQ47oh+7x5(B zl*^wOwgb^pzmoj zrI>EuCvB-4EM?5bj!}#YFf&UEJVyRtAxF5Cy)0ti2M4@z_!doE)35GA6Ol1*x|(MVU0QE9kR#Lk*7D6{y9x?ftL{mpN3Zz{efG z!cyGiY=tU3<5XY`e&|&3zSHi=#`qCNw|MX`r-EzC?2b=jdQk77<+!d)!KcdXa0TNI z1=D4*4_q6~FouyuSK)WGdR3IXE=+hc5YVQ)zX5o)^W~}%;z{5libzk|T%SLZi_;ib zAIiaD$l^=EYM8~yq}zo0^`FMyI(sqI5WkIU-b?&A z*`)ZQ0v#21DxS9+Z#5}!K(~j{9af|h#MFNlzMNPSo44ZyEgoKB{-1raueluX+{VW$ zyZ0YTwWk;ANX$Rv9gkeA{g2KpcHK9Tqkt`&Z<=fttd9oWSy2eZaR$4hs(Xmqi%W6b zg_BWLo)ytqyc-S619pQmfPq+8F4om4EfxFP0&N&dgyqh#K`CHYB5aCp!gmvO{{SIz BQE~tP diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 8f7bef0ef231bc814e33d98fb4b0900776144d77..4765054058c6494654144562d4429c4364031485 100644 GIT binary patch delta 1538 zcmeIx-%C?r7zgm@Y#z~Q5v0@e_I_70g8l(tIDFpsd!F;`-S(c5 zC2eF$OXO*eV2^c5d#b02C}BO9NZjIVlkdgV=?eB|wz zldc9XlG9X5?70d{V%@F0cODPn6F3fEzy+9qNw^L-;XXn1t<)&j*mnt%Q;72Nsn|Ns9lO8@-- z4-`%V3jY^%P-9?dJy6Qi>+#>C`H05L2#_R@ad`7vUSTE8f)JqFfuIgbcR}fCP@={zVM0;L_Gv<{ROfYP5LAo{OC=|fO@9h9B|r5hl0 zJwqN;APP!*L1`l>tpcSbpfm%Nz7Yc%P&y9kP_R5G)OSH8`k?dz zD18S?2S7ErKxr!|tplY+pmY#a{g2IpMw^*|DS7iTQ$JQ-P*T=QO-U?C1SM%jYhg`` zAO;2rkZ2}IRK*zNk^rEX0ux-!1SD3lIo5hVt6*Uu149iEw*&EXAl^7x*U@NlwxeBr zaB7KjVor`zVsf@yX Date: Sun, 28 May 2023 16:22:46 +0200 Subject: [PATCH 066/138] update windows.cpp --- src/src/serial_windows.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index b241b96..8c26ff0 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -27,7 +27,7 @@ namespace helper { static std::string errorMessage; if (result != 0 && buffer != nullptr) { - errorMessage = buffer; + errorMessage = std::string(buffer); LocalFree(buffer); } else From 6c0ffb4f8a5ad3d258e88baad66a03f8e6b71154 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 14:27:24 +0000 Subject: [PATCH 067/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 21504 -> 21504 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 4765054058c6494654144562d4429c4364031485..38d65e0b2ee6d01e9405e71410895645a7dd90fb 100644 GIT binary patch delta 8118 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 F`d|GNhV%dc From 35bdaf9b0f304c5933bb354d85286ef4fb69a602 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 16:36:36 +0200 Subject: [PATCH 068/138] error handling --- src/src/serial_windows.cpp | 57 +++++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 8c26ff0..71320a6 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -11,32 +11,39 @@ std::string data; void (*callback)(int code, void* buffer); namespace helper { - void Callback(StatusCodes errorCode){ - DWORD code = GetLastError(); - LPSTR buffer = nullptr; - - DWORD result = FormatMessageA( - FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, - nullptr, - code, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - reinterpret_cast(&buffer), - 0, - nullptr); - - static std::string errorMessage; - if (result != 0 && buffer != nullptr) - { - errorMessage = std::string(buffer); - LocalFree(buffer); - } - else - { - errorMessage = "Unknown error"; - } - - callback(status(errorCode), static_cast(&errorMessage)); + +std::string GetLastErrorMessage() +{ + DWORD errorCode = GetLastError(); + LPSTR buffer = nullptr; + + DWORD result = FormatMessageA( + FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + nullptr, + errorCode, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + reinterpret_cast(&buffer), + 0, + nullptr); + + std::string errorMessage; + if (result != 0 && buffer != nullptr) + { + errorMessage = buffer; + LocalFree(buffer); } + else + { + errorMessage = "Unknown error"; + } + + return errorMessage; +} + +void Callback(StatusCodes errorCode){ + static auto errorMsg = GetLastErrorMessage(); + callback(status(errorCode), static_cast(&errorMsg)); +} } void windowsSystemError(void (*func)(int code, void* buffer)){ From 075eb6b924925567fd772bcedb26891ee4869dda Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 14:39:23 +0000 Subject: [PATCH 069/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 21504 -> 22528 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 38d65e0b2ee6d01e9405e71410895645a7dd90fb..7b188a648294e5dbdfec5bca120f478372e1be53 100644 GIT binary patch delta 8358 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 From 3c32ae02556c5a15b44389c8c2b85e04c08664b5 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 16:45:36 +0200 Subject: [PATCH 070/138] Update serial_functions.d.ts --- lib/interfaces/serial_functions.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/interfaces/serial_functions.d.ts b/lib/interfaces/serial_functions.d.ts index 9ad0d53..cad8dd5 100644 --- a/lib/interfaces/serial_functions.d.ts +++ b/lib/interfaces/serial_functions.d.ts @@ -4,6 +4,10 @@ import { Parity } from "../constants/parity.ts"; import { StopBits } from "../constants/stop_bits.ts"; export interface SerialFunctions { + error : (callback : ( + code : number, + message : string + ) => void) => void, open : ( port : Uint8Array, baudrate : Baudrate, From 32bf81b7ec8a3c627218b572a9780dedca4305e8 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 16:45:38 +0200 Subject: [PATCH 071/138] Update register_serial_functions.ts --- lib/register_serial_functions.ts | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index c484724..5d2c071 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -91,20 +91,22 @@ export function registerSerialFunctions( } }).symbols - const callback = new Deno.UnsafeCallback({ - parameters: [ - 'i32', - 'buffer' - ], - result: "void", - } as const, - (code, message) => { - console.log('Callback from C++ with code:', code, '\nmessage:', Deno.UnsafePointerView.getCString(message!)); - }); - - serialFunctions.serialError(callback.pointer); - return { + error: (callback) => { + serialFunctions.serialError(new Deno.UnsafeCallback({ + parameters: [ + 'i32', + 'buffer' + ], + result: "void", + } as const, + (code, message) => { + callback( + code, + Deno.UnsafePointerView.getCString(message!) + ) + }).pointer) + }, open: serialFunctions.serialOpen, close: serialFunctions.serialClose, read: serialFunctions.serialRead, From c6b1e3aa3cbfce6c2f65c5be2e3f1ce4959001ad Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Sun, 28 May 2023 16:45:40 +0200 Subject: [PATCH 072/138] Update Serial.ts --- lib/Serial.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/Serial.ts b/lib/Serial.ts index 4c1c6e5..9e05aed 100644 --- a/lib/Serial.ts +++ b/lib/Serial.ts @@ -22,6 +22,9 @@ export class Serial { constructor() { this._isOpen = false; this._dl = loadBinaryForOS(pathToBinariesDirectory, Deno.build.os); + this._dl.error((code, message) => { + throw new Error(`An error has occurred. Error code: ${code}, ${message}`) + }) } /** From 9a929f4546ceeaf879e4df14106d0de83b170744 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 16:49:04 +0200 Subject: [PATCH 073/138] added \0 --- src/src/serial_windows.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 71320a6..3109d9f 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -41,7 +41,8 @@ std::string GetLastErrorMessage() } void Callback(StatusCodes errorCode){ - static auto errorMsg = GetLastErrorMessage(); + static std::string errorMsg = GetLastErrorMessage(); + errorMsg += '\0'; callback(status(errorCode), static_cast(&errorMsg)); } } From 9fe94a156ec376f42acf293178699ea25f7f265c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 14:51:26 +0000 Subject: [PATCH 074/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 22528 -> 23040 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 7b188a648294e5dbdfec5bca120f478372e1be53..fb6b5c842158b323161ff08f4603ff7171685b2a 100644 GIT binary patch delta 7962 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 delta 7439 zcmeHLjbBt{zJKP(f#GEsz&QxW%P43Xfo{Ng0&=;f=}>+5g)(Ss9Z3Hzdi*(akT#rIR*b?Ibf+Q=B6lHZetJZ!*z?wX{8uU26vQbrIhfl`HgU#Z5E$K-A^Jv++DFI&Io4>^QC1=TKz7N%rkC zkMueC!st}zAW_OWu*!SHht@k7`?}xMVcDHTl`C(As`#epJYoMOd~bBhlGsZa^Gb3+ z`uJyzDX(h1lGW^cU|~dKfY5(SjQMI#K~+1CfZRi5I#m|1EWsp&(y?g0F!oc%LU@n< zi3eiRgt|QbOiZCLCy&1ubE)vEix*fjh2a9ez*3m8=sQ(KtG}tDYMPw(&~ZDhgYS$B z6|E`Y4_eZN+Y9(EOSABLUY|L(%OteA_&RI0@STfqv!>5YyBH;X=hV*lUEiy!8mjyj z6)Ki+(5l3+YkGp6F#%b{h+HE{lnI6ATlQOyUBtz>eBqr2UK-abY<2bB8P{wQuE^y_ z;%5k1xjZ(ZCgmimXjEPg72$x^?!?vZ`t zYUcv%e^t86!Iw?FMfmj>{GF+5gjc@c^|oIL%fH~;ZMDLecK)Spd7KZW4yn>@fL>MV zbnt7W&BBM7d|bNSyVj%M2@U1J-DotZN(~v*hPW6RS~FIRD%AcJ4OgrsG9c9vP~(m8 z#lWXwCUU^3k{!gZ|Dg$*ixSos>z(cJPtg1=Qve&qWTgH|(mfk%yivrZiAYr`Os_2q zwH=#B#M@YQRBxsp{Qaz|?mAC3e+&&SFTw?NzY7=?Uqf2PNPG1M?a$DnH101yaL*f@ zDm|*z?dYV|R)bZgm6KXqN3ETs*1GuSX+>)s@X(e&Hc*SkmpNOozMiZ5(SZ_V)%!)4 z4tW|_(gCVu(`$^|Ni|I_rC8pai;Dw0(Or+TIau$sqobJ9cU5U?8ZSxm2%Bs8jY+PB zm%vYJ*o=lp)?;I!t>qvAS8HHtC6|EI2vDW@Y1))UX-$r_!XGP(+;TJ^2P#j^;h!eS zLdxHGMY1zRnS&T1TjyI=L6QB<@5)LiE%WL*eK#e?n9M6dt5VB!z9HrD$Q`rbqgY;; z#Y?B#qzA|f)N~X0&QT>b9kck->1i34gBs0}{T)twz4gU@+^T5TqZNKV)HTZQpT4*@ zG+o<~Ckb}qXsV-b*;jM2nz|E^_5)F&v>Vu@i2Z;@H7G01r$bjEU?}4A)x0RR&i<@c z>A8BpuUNI96IFb1PG6`Xp0|vzJX7Xz?auOPjsA^}I{0mDL6ih+o5&mGt zCR_eYs)cTTJ$7{0WX$Aq?FGr_XJBZEB%KkVrLkBqtE{|@uAG{|*V*g6A5yL~j;j^i zgGprUAwxMT<2d5_wj9#Pr+y$iylC`Ykh1csDs9k8N~d*OR>oCnEm1vchlCnB;$(l# z<7fk;cmgn*-cWuJ+qC>(ZD65El_HmrvtMkP!53uKG$d=iDbU)ogi*1cgB{_jREs#E z-LeYWF^_l*JOMt(EA(!|WtIe0vAhjNl|IG`0mi_E>{r1cf=mogd>>iLu|-r-T0ORD zKzf{<0~SRuW4{V@p0;V!Mo_BsN4?IqFfhN$+p5$~Ou%yeq!NLtyfN#%u&T@xF;3TzUp#<}ko6l?z3b>k+Eb$=Q8&Mt{`3#*1)TzF4(=82jJ5e{V52J8xy6NbR+El3|p1+avbLmU!6y_(k zNf{`A3jtM?cE<6Gak&(X)hP@=Dfno9suJTG7pLypirdui|e7)e%){HsPYZj2gNlo@#aLv zDrh_5HC&%{w0`!{PCRxoQ_d4}PIOv)mL}wS{AqQC{7{}f#skZ`IoR*Z{=A5f=Q)H~ zF+4TDAhjk2V^tmwp+Y&Z`6xCn4k@;SDou~!zsR2_ycNy2 zRH-hSI}0kkQ;4B+EkIGFQ@G9${dY%(vEamJA0p1*Zm_XW+cuOV9zcN6%<0=UD|i#_8POTZ0^A}DHiP*e-_ zIUf`w!O`sRG*iv1g0w45RCF-RL``4d70byy@cyPS`vhsikvlL!qTsj%T~zVJ!^o=e ze)C+mIA;k4<-ujCN?F>_`^HggxvB-$R_6+tc9|)P-(FZL?2qI-3Y|hB-k^o4g~d1) zveJ+w`y1j^$puRZ%B7?`bv@8**X`6u?kK8Wxy?ldmN{kln_-OkUNUig{|lb)XI#GX zrp`Eo$tPmad?zkIjsfqak;4aXP4s>rwkO>ysGVNymgixQgvcWxz5pHX6(HYNmTEY;jid6MF7LKgr!exrtsi`xSIX&3;Hr zU)0i&mfowS_i5?{!vSx(bDI%bVy6}dd_J2hgv$UrJri44I@*tzt{9JE&VH{ z*6hQY@sgJIn)zqN^;4-P`oW`rv?*M?p(NKd%-57muif#!s#1;|xa&Gh(8!hx_C~Vr zyI>EIz5ar|g6s}{u;dZz?b$T@=i_d2V;^0S&2M&>q;5sK6sJp&Hy|b<)fY&WqzJyx zooKxlZ+)%MOce6u@K4;X^Z{HEheEb9s!Gw{ZB!8l&jImVHZLsQ;@#egn()13;420m zG4PauXANYR>;7>D+6^o-@a&a({(A-^1yS4P0;Ftp=_J zYObvYaj#LZ%CILI=&EGhbR$flr&_mH`~)ZbcU1936**z2@>w^(V@5p>R+yv4B)!aV zGJmTg$8o{bY5T=GUf}yuDrcC4-r~MRGj1{^PW)+wirRopZs=Rd0|gatR^ zpPD-%OY#|epq#OXAfG^vR4`_)WQ?9-OJ*>(8bW_y#ZP0*4u4Mse!U{v(oZ^jwf^5$ zdo^D-%Q3^AhkwL6uI=h@uDO8*=0>&$IKesHZq^RYj+xQ9F4jA%@4Z=xLTMbrVR2X6 zH67QWTnl4kR8F&OPET)=bUsTEtiqd0tPf6WvGWz}XRR3=YF#Y!tQ{t>kcG$LWJ0E%#Bbf z2+R~Nu<$aWC0<82`EDWKXOZ-2zBG@*ZgiIKoL9{oJ-NkW;AuFXctjJVJxb`%%T>Bw^JEIq7brh+a@nC#o?o6AHpmN**C0nBA3?rc$UmIF&PzLY;;X+Lng=`gvI&N< z`@z|385^3!t;PjZ1E!>t0HZkM$-OfGc7 zUqiZ}6M7*Vp?3rKLhQI-gTQYMosQ+tA;h;!i2rXG#u%_H5!WIzJitFg?nCE-z&{{d zwLyOj7=%<%rNB2KbD*C9es1U#Lau}mKRFmskobKvIt`xiImqfJygx{J0dgBM2={0i zI_@+0F?DKCJrd{6F~Ym_%Z0+zzuk2J_EfM7>`&x2AyK=G6;>n z4fwDZ3H9_b;9)~295M7WK$}bVAZ0Ll^xaz5~RNz)ae;Vk) z_5U==dP!-6XgvZ3480flilH9@egvV8;!(qP;8!9o6X6FC;t694^?C?b8#>|JhJF|* z73uy-z~2;M{i)&GV7v=Cg&t81UQ*218R+f6yCLRFF^#}I5c1y(j6sy5h6x>r7%}j1 z0-uJ+&H66m2^UilcW>g4LN|0_5#mBs1s~9MmoE1ZtJiK=ic2H JyZDPK{{WK=W`6(x From 064362e15f357babf9825c0db7541df02eb20298 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 16:54:53 +0200 Subject: [PATCH 075/138] error msg --- src/src/serial_windows.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 3109d9f..3c671b9 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -43,6 +43,9 @@ std::string GetLastErrorMessage() void Callback(StatusCodes errorCode){ static std::string errorMsg = GetLastErrorMessage(); errorMsg += '\0'; + + errorMsg = std::string("ich bin ein test callback"); + callback(status(errorCode), static_cast(&errorMsg)); } } From fad82835915311e874d825b502472dfc9fe65ea1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 14:57:10 +0000 Subject: [PATCH 076/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 23040 -> 23552 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index fb6b5c842158b323161ff08f4603ff7171685b2a..fdeb6ff144b37609b06b0631041a5a446a21d0bb 100644 GIT binary patch delta 6292 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 delta 6057 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 d9_t Date: Sun, 28 May 2023 22:16:54 +0200 Subject: [PATCH 077/138] removed callback error msg --- src/include/serial.h | 2 +- src/include/serial_unix.h | 4 +-- src/include/serial_windows.h | 4 +-- src/src/serial.cpp | 2 +- src/src/serial_unix.cpp | 4 +-- src/src/serial_windows.cpp | 60 ++++++------------------------------ 6 files changed, 18 insertions(+), 58 deletions(-) diff --git a/src/include/serial.h b/src/include/serial.h index bbf062b..51d02fc 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -38,7 +38,7 @@ extern "C" { #endif - MODULE_API auto serialError(void (*func)(int code, void* buffer)) -> void; + MODULE_API auto serialError(void (*func)(int code)) -> void; MODULE_API void serialOpen( void* port, diff --git a/src/include/serial_unix.h b/src/include/serial_unix.h index b45a15c..bd8c6ad 100644 --- a/src/include/serial_unix.h +++ b/src/include/serial_unix.h @@ -14,9 +14,9 @@ extern int hSerialPort; extern termios2 tty; -extern void (*callback)(int code, void* buffer); +extern void (*callback)(int code); -void unixSystemError(void (*func)(int code, void* buffer)); +void unixSystemError(void (*func)(int code)); void unixSystemOpen( void* port, diff --git a/src/include/serial_windows.h b/src/include/serial_windows.h index 4da6743..e8ba793 100644 --- a/src/include/serial_windows.h +++ b/src/include/serial_windows.h @@ -6,13 +6,13 @@ #include #include "status_codes.h" -extern void (*callback)(int code, void* buffer); +extern void (*callback)(int code); extern HANDLE hSerialPort; extern DCB dcbSerialParams; extern COMMTIMEOUTS timeouts; -void windowsSystemError(void (*func)(int code, void* buffer)); +void windowsSystemError(void (*func)(int code)); void windowsSystemOpen( void* port, diff --git a/src/src/serial.cpp b/src/src/serial.cpp index 9d168d6..5aa0190 100644 --- a/src/src/serial.cpp +++ b/src/src/serial.cpp @@ -1,6 +1,6 @@ #include "serial.h" -void serialError(void (*func)(int code, void* buffer)) { +void serialError(void (*func)(int code)) { systemError(func); } diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index d2d903e..d1eb51f 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -6,7 +6,7 @@ int hSerialPort; termios2 tty; -void (*callback)(int code, void* buffer); +void (*callback)(int code); namespace helper { void Callback(StatusCodes errorCode){ @@ -15,7 +15,7 @@ namespace helper { } } -void unixSystemError(void (*func)(int code, void* buffer)){ +void unixSystemError(void (*func)(int code)){ callback = func; } diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 3c671b9..69c70c5 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -8,49 +8,9 @@ DCB dcbSerialParams = {0}; COMMTIMEOUTS timeouts = {0}; std::string data; -void (*callback)(int code, void* buffer); +void (*callback)(int code); -namespace helper { - -std::string GetLastErrorMessage() -{ - DWORD errorCode = GetLastError(); - LPSTR buffer = nullptr; - - DWORD result = FormatMessageA( - FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, - nullptr, - errorCode, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - reinterpret_cast(&buffer), - 0, - nullptr); - - std::string errorMessage; - if (result != 0 && buffer != nullptr) - { - errorMessage = buffer; - LocalFree(buffer); - } - else - { - errorMessage = "Unknown error"; - } - - return errorMessage; -} - -void Callback(StatusCodes errorCode){ - static std::string errorMsg = GetLastErrorMessage(); - errorMsg += '\0'; - - errorMsg = std::string("ich bin ein test callback"); - - callback(status(errorCode), static_cast(&errorMsg)); -} -} - -void windowsSystemError(void (*func)(int code, void* buffer)){ +void windowsSystemError(void (*func)(int code)){ callback = func; } @@ -90,13 +50,13 @@ void windowsSystemOpen( // Error if open fails if (hSerialPort == INVALID_HANDLE_VALUE) { - helper::Callback(StatusCodes::INVALID_HANDLE_ERROR); + callback(status(StatusCodes::INVALID_HANDLE_ERROR)); } // Error if configuration get fails if (!GetCommState(hSerialPort, &dcbSerialParams)) { CloseHandle(hSerialPort); - helper::Callback(StatusCodes::GET_STATE_ERROR); + callback(status(StatusCodes::GET_STATE_ERROR)); } dcbSerialParams.BaudRate = baudrate; @@ -108,10 +68,10 @@ void windowsSystemOpen( if (!SetCommState(hSerialPort, &dcbSerialParams)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - helper::Callback(StatusCodes::CLOSE_HANDLE_ERROR); + callback(status(StatusCodes::CLOSE_HANDLE_ERROR)); } - helper::Callback(StatusCodes::SET_STATE_ERROR); + callback(status(StatusCodes::SET_STATE_ERROR)); } timeouts.ReadIntervalTimeout = 50; @@ -124,10 +84,10 @@ void windowsSystemOpen( if (!SetCommTimeouts(hSerialPort, &timeouts)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - helper::Callback(StatusCodes::CLOSE_HANDLE_ERROR); + callback(status(StatusCodes::CLOSE_HANDLE_ERROR)); } - helper::Callback(StatusCodes::SET_TIMEOUT_ERROR); + callback(status(StatusCodes::SET_TIMEOUT_ERROR)); } } @@ -139,12 +99,12 @@ void windowsSystemOpen( void windowsSystemClose() { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { - helper::Callback(StatusCodes::INVALID_HANDLE_ERROR); + callback(status(StatusCodes::INVALID_HANDLE_ERROR)); } // Error if close fails if (!CloseHandle(hSerialPort)) { - helper::Callback(StatusCodes::CLOSE_HANDLE_ERROR); + callback(status(StatusCodes::CLOSE_HANDLE_ERROR)); } } From 1cdf7a1a4e1e06d5b8d815c68ba16b9e3c210b89 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 22:20:10 +0200 Subject: [PATCH 078/138] fix unix --- src/src/serial_unix.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index d1eb51f..29cdc9f 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -11,7 +11,7 @@ void (*callback)(int code); namespace helper { void Callback(StatusCodes errorCode){ static std::string msg = ""; - callback(status(errorCode), static_cast(&msg)); + callback(status(errorCode)); } } From dd3996683ceb027bd14211fe35e2839fe21358fa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 20:24:34 +0000 Subject: [PATCH 079/138] Commited compiled binaries --- lib/bin/linux.so | Bin 17872 -> 17872 bytes lib/bin/windows.dll | Bin 23552 -> 19968 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index da87e7b101242100b7ba99c9c5898f1b090c5ab4..77189c0a7d8510436ff419c26cc532f47e351a0d 100644 GIT binary patch delta 1769 zcmZ`)Z){Ul6u+mhZ*5_Fuid}b;$U6vCd1LL8Dng0Zf`Ou0bwLyW<)mL7(r`lMZUdt*b*r{CEQ%1(}XNqwX*=~ir$%IyO; zKIp-IX*TrWh@`=1WW(?iAImF%F*nbJg#z0p>`GyKg$)V2S=g`eq+Np(V*HY@ox)zn zA~_5;TqSETgGX?yTn?}Bk?$t0Cz~m3IG+Y2{EfJH@Di~-=*iH0J7~^1?mPjpm9#1@ zmr*BlCe1jSvMSVA=zQ$T&|o#jGs3Z>6bleXYz$=@NF?j+G= z@i+WWo&6TyKZU<;GM>$twRF`g)PfO*<{PJS{PCSu+I9dmXi`2#p=hE`rHp7Y&&g+}hFan*Jy!crg9! zebeM66!KU1wCA*k)WXTG^-rj??$X20p*L@C&6Rt^OBC;#!`O*AtIM`V6EnZ0ar{(V zS{}a~Nr^%ey1K<4)Dw$>&URgW?ZSk*CF=sl^4^8RsOG=yOqMd1STMF9WBCQpfgk37 z?mRi0hthqxO!I*k*K14ZdmGa78#mrH&1k|N9BVOYkgThsuBIC)*xsN1=Zg+6*A3(yrRgdmoNVz3tnLqkwvJQp4ZPqRKrpbZhS5cP;=bVfb~VtXn!!Z5}w z3Sql3SP=$rZ1teU(jkyE5BXZ~yOGW)t41)O`C0_3#^c%JUB5 zs`;9Hm{7mCY0n7uC7O#nZ_15wjiZt2^bK=#>a`NI;#2RlTD&x0gJr_5M^BaJ>#~>) zQ|kAkUNr}iw5-~19IYCW@W8^0c*~IsO~#wGqhPFfDgd;DUG-sC3AK?+i7{C3umRu^ bJ?skdKOd5yF{ba70I{p73a;W{(-Z#!{w|R# delta 1804 zcmZ`(Z){Ul6u+mhZ+*q_UQ4&NjLz=p7{ZeuVU^et?ZFyc@_Kos~gAQ%}ih9tte z3?#J_CkF{8q6|%7#<-AY#1GCCBakH!yI=$pKL{#zK{Ck*MzUGYeSI?o@g(QZJ?D4N zJNMr6PAU$mICLF%>IySSKigexTfX`5v$x>rl#jJ|Roe>-Pt?ruHz!2cP0WdH#13Nk zFe*jua$UIQqpxkJWJSaZi6;_IBA!fKgu2b+oI=(#VurfJl|OFvujkiaZp3v`Id(}U zup0*?4yQ>5VL;e&6ENlyTcOsBy=lr7rtCCjIl3z+;dfFV^x}CthotFkHsuae4&hWe z2zFc{bC@hV7?sQ66=8YrQ7sdg%8~`5s_b!u_TUYfw{Ij%L|ys9$C#E?%tI%4i{t58 zhjnZ0AT0&nZ{eSz>IMBmEd1d-bIF`p#e5VO{*?9g8Vf%!>z}|jJhEXGZqEsZ&QUlZ z$`Y4MG&QT(Wzr&Dmz8eJe;x;NxOdn8>^h0y;II}$4(`267?GjH`tC6+^Xs_L!JVI2 z`CG8VanRP(W++OV)D8?-K%!@&sGqoL#-1k_Q`j={2?8cDj};Hode1;F#dFwmmhWos zR+%w7+hDC*OOMcfN^I*x`^&AE$d|We%XslnyR*KD?C9Iaau}0YhXvX-aSL6rjU7U7 z?oRMwBA0u|u0kZZzDP(>0=1~om)j0732W8$P=qJcC0?%?%!)JNtQK9a;i$@SM9m%l z#Y0{X&e1pojC$?91l{*s ziw#BMEYkT+;Y<3u%ukvx%o-EZy9v`6`z<~H?@WdgoTBA{Wb2hkyw*WmB8di9B#}QN z%vfu&5{b!CLPRdfdr1kpDDM+idg@a#?bYvxwSD6+ z;9x~Ok+ZogefzIWM)T1X4BZ|`9~QtwZAip#Qot-bc44pp|K!slY!nq< zbsX`38A{&EWYW~QDbgdP{r71f{h?vf>qxhdZY3QheTH<>xa0Q#xDW!o)a>vE)pf`g zQ48OY8r1R^$Ek(7>Z((f2I^DM)r&=P)B_&4j4K1nAcfrlkN3ynOvY@hi0WFcDkd^T z$a{DtPys0erd=Bs5{)m2{3eMXMbOw%Y0CYrDg4K9DB-op~P4d90K6K=5qPhf6*h@F_(h_^=j^&L4Ww; zCeuQ^L73&H+=OmI?zE7Pj>=BTGYg|mKPIXb+mcmdrqNg3FX3GWmzvt@@xX!`M*Gv> yg3+|l4|IXs7X_Uq^ooK?jGjdf8@TbT9&}b(qqEW&)DKGV4sNfnhCA3(Kl2~;3zhf) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index fdeb6ff144b37609b06b0631041a5a446a21d0bb..488c465af747b2cc53b29796cf54bf18e07c8dc4 100644 GIT binary patch delta 8686 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 NwCDCirX9}c{{kpDDOCUf literal 23552 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 Date: Sun, 28 May 2023 22:52:16 +0200 Subject: [PATCH 080/138] changed namings in cpp code --- src/include/serial.h | 36 ++++++++--------- src/include/serial_unix.h | 14 +++---- src/include/serial_windows.h | 14 +++---- src/src/serial.cpp | 76 ++++++++++++++++++++++++++++++------ src/src/serial_unix.cpp | 14 +++---- src/src/serial_windows.cpp | 76 +++++------------------------------- 6 files changed, 114 insertions(+), 116 deletions(-) diff --git a/src/include/serial.h b/src/include/serial.h index 51d02fc..087b678 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -11,35 +11,33 @@ #endif // Windows -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) # include "serial_windows.h" -# define systemOpen(port, baudrate, dataBits, parity, stopBits) windowsSystemOpen(port, baudrate, dataBits, parity, stopBits) -# define systemClose() windowsSystemClose() -# define systemRead(buffer, bufferSize, timeout, multiplier) windowsSystemRead(buffer, bufferSize, timeout, multiplier) -# define systemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) windowsSystemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) -# define systemWrite(buffer, bufferSize, timeout, multiplier) windowsSystemWrite(buffer, bufferSize, timeout, multiplier) -# define systemGetAvailablePorts(buffer, bufferSize, separator) windowsSystemGetAvailablePorts(buffer, bufferSize, separator) -# define systemError(f_pointer) windowsSystemError(f_pointer) +# define OPEN(port, baudrate, dataBits, parity, stopBits) openWindows(port, baudrate, dataBits, parity, stopBits) +# define CLOSE() closeWindows() +# define READ(buffer, bufferSize, timeout, multiplier) readWindows(buffer, bufferSize, timeout, multiplier) +# define READ_UNTIL(buffer, bufferSize, timeout, multiplier, untilChar) readUntilWindows(buffer, bufferSize, timeout, multiplier, untilChar) +# define WRITE(buffer, bufferSize, timeout, multiplier) writeWindows(buffer, bufferSize, timeout, multiplier) +# define GET_PORTS_INFO(buffer, bufferSize, separator) getPortsInfoWindows(buffer, bufferSize, separator) +# define ON_ERROR(f_pointer) onErrorWindows(f_pointer) #endif // Linux, Apple -#if defined(__unix__) || defined(__unix) || defined(__APPLE__) +#if defined(__unix) || defined(__unix__) || defined(__APPLE__) # include "serial_unix.h" -# define systemOpen(port, baudrate, dataBits, parity, stopBits) unixSystemOpen(port, baudrate, dataBits, parity, stopBits) -# define systemClose() unixSystemClose() -# define systemRead(buffer, bufferSize, timeout, multiplier) unixSystemRead(buffer, bufferSize, timeout, multiplier) -# define systemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) unixSystemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar) -# define systemWrite(buffer, bufferSize, timeout, multiplier) unixSystemWrite(buffer, bufferSize, timeout, multiplier) -# define systemGetAvailablePorts(buffer, bufferSize, separator) unixSystemGetAvailablePorts(buffer, bufferSize, separator) -# define systemError(f_pointer) unixSystemError(f_pointer) +# define OPEN(port, baudrate, dataBits, parity, stopBits) openUnix(port, baudrate, dataBits, parity, stopBits) +# define CLOSE() closeUnix() +# define READ(buffer, bufferSize, timeout, multiplier) readUnix(buffer, bufferSize, timeout, multiplier) +# define READ_UNTIL(buffer, bufferSize, timeout, multiplier, untilChar) readUntilUnix(buffer, bufferSize, timeout, multiplier, untilChar) +# define WRITE(buffer, bufferSize, timeout, multiplier) writeUnix(buffer, bufferSize, timeout, multiplier) +# define GET_PORTS_INFO(buffer, bufferSize, separator) getPortsInfoUnix(buffer, bufferSize, separator) +# define ON_ERROR(f_pointer) onErrorUnix(f_pointer) #endif #ifdef __cplusplus extern "C" { #endif - MODULE_API auto serialError(void (*func)(int code)) -> void; - MODULE_API void serialOpen( void* port, const int baudrate, @@ -77,6 +75,8 @@ extern "C" { const int bufferSize, void* separator ) -> int; + + MODULE_API auto serialOnError(void (*func)(int code)) -> void; #ifdef __cplusplus } diff --git a/src/include/serial_unix.h b/src/include/serial_unix.h index bd8c6ad..6310cc7 100644 --- a/src/include/serial_unix.h +++ b/src/include/serial_unix.h @@ -16,9 +16,9 @@ extern termios2 tty; extern void (*callback)(int code); -void unixSystemError(void (*func)(int code)); +void onErrorUnix(void (*func)(int code)); -void unixSystemOpen( +void openUnix( void* port, const int baudrate, const int dataBits, @@ -26,16 +26,16 @@ void unixSystemOpen( const int stopBits = 0 ); -void unixSystemClose(); +void closeUnix(); -auto unixSystemRead( +auto readUnix( void* buffer, const int bufferSize, const int timeout, const int multiplier ) -> int; -auto unixSystemReadUntil( +auto readUntilUnix( void* buffer, const int bufferSize, const int timeout, @@ -43,14 +43,14 @@ auto unixSystemReadUntil( void* untilChar ) -> int; -auto unixSystemWrite( +auto writeUnix( void* buffer, const int bufferSize, const int timeout, const int multiplier ) -> int; -auto unixSystemGetAvailablePorts( +auto getPortsInfoUnix( void* buffer, const int bufferSize, void* separator diff --git a/src/include/serial_windows.h b/src/include/serial_windows.h index e8ba793..fb8a814 100644 --- a/src/include/serial_windows.h +++ b/src/include/serial_windows.h @@ -12,9 +12,9 @@ extern HANDLE hSerialPort; extern DCB dcbSerialParams; extern COMMTIMEOUTS timeouts; -void windowsSystemError(void (*func)(int code)); +void onErrorWindows(void (*func)(int code)); -void windowsSystemOpen( +void openWindows( void* port, const int baudrate, const int dataBits, @@ -22,16 +22,16 @@ void windowsSystemOpen( const int stopBits = 0 ); -void windowsSystemClose(); +void closeWindows(); -auto windowsSystemRead( +auto readWindows( void* buffer, const int bufferSize, const int timeout, const int multiplier ) -> int; -auto windowsSystemReadUntil( +auto readUntilWindows( void* buffer, const int bufferSize, const int timeout, @@ -39,14 +39,14 @@ auto windowsSystemReadUntil( void* untilChar ) -> int; -auto windowsSystemWrite( +auto writeWindows( void* buffer, const int bufferSize, const int timeout, const int multiplier ) -> int; -auto windowsSystemGetAvailablePorts( +auto getPortsInfoWindows( void* buffer, const int bufferSize, void* separator diff --git a/src/src/serial.cpp b/src/src/serial.cpp index 5aa0190..8789579 100644 --- a/src/src/serial.cpp +++ b/src/src/serial.cpp @@ -1,9 +1,15 @@ #include "serial.h" -void serialError(void (*func)(int code)) { - systemError(func); -} - +/** +* @fn void serialOpen(void* port, const int baudrate, const int dataBits, const int parity, const int stopBits) +* @brief Opens the specified connection to a serial device. +* @param port The port to open the serial connection to +* @param baudrate The baudrate for the serial connection when reading/writing +* @param dataBits The data bits +* @param parity The parity bits +* @param stopBits The stop bits +* @return Returns the current status code +*/ void serialOpen( void* port, const int baudrate, @@ -11,22 +17,48 @@ void serialOpen( const int parity, const int stopBits ) { - return systemOpen(port, baudrate, dataBits, parity, stopBits); + return OPEN(port, baudrate, dataBits, parity, stopBits); } +/** +* @fn void serialClose() +* @brief Closes the specified connection to a serial device. +* @return Returns the current status code +*/ void serialClose() { - return systemClose(); + return CLOSE(); } +/** +* @fn auto serialRead(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int +* @brief Reads the specified number of bytes into the buffer. +* **It is not guaranteed that the complete buffer will be fully read.** +* @param buffer The buffer in which the bytes should be read into +* @param bufferSize The size of the buffer +* @param timeout Timeout to cancel the read +* @param multiplier The time multiplier between reading +* @return Returns the current status code (negative) or number of bytes read +*/ auto serialRead( void* buffer, const int bufferSize, const int timeout, const int multiplier ) -> int { - return systemRead(buffer, bufferSize, timeout, multiplier); + return READ(buffer, bufferSize, timeout, multiplier); } +/** +* @fn auto serialReadUntil(void* buffer, const int bufferSize, const int timeout, const int mutilplier, void* searchString) -> int +* @brief Reads until the specified string is found. If the specified string is not found, the buffer is read full until there are no more bytes to read. +* **It is not guaranteed that the complete buffer will be fully read.** +* @param buffer The buffer in which the bytes should be read into +* @param bufferSize The size of the buffer +* @param timeout Timeout to cancel the read +* @param multiplier The time multiplier between reading +* @param searchString The string to search for +* @return Returns the current status code (negative) or number of bytes read +*/ auto serialReadUntil( void* buffer, const int bufferSize, @@ -34,22 +66,44 @@ auto serialReadUntil( const int multiplier, void* untilChar ) -> int { - return systemReadUntil(buffer, bufferSize, timeout, multiplier, untilChar); + return READ_UNTIL(buffer, bufferSize, timeout, multiplier, untilChar); } +/** +* @fn auto serialWrite(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int +* @brief Writes the buffer to the serial device. +* **It is not guaranteed that the complete buffer will be fully written.** +* @param buffer The buffer in which the bytes should be read into +* @param bufferSize The size of the buffer +* @param timeout Timeout to cancel the read +* @param multiplieer The time multiplier between writing +* @return Returns the current status code (negative) or number of bytes written +*/ auto serialWrite( void* buffer, const int bufferSize, const int timeout, const int multiplier ) -> int { - return systemWrite(buffer, bufferSize, timeout, multiplier); + return WRITE(buffer, bufferSize, timeout, multiplier); } -auto serialGetAvailablePorts( +/** +* @fn auto serialGetPortsInfo(void* buffer, const int bufferSize, void* separator) -> int +* @brief Get all the available serial ports. +* @param buffer The buffer in which the bytes should be read into +* @param bufferSize The size of the buffer +* @param separator The separator for the array buffer +* @return Returns the current status code (negative) or number of ports found +*/ +auto serialGetPortsInfo( void* buffer, const int bufferSize, void* separator ) -> int { - return systemGetAvailablePorts(buffer, bufferSize, separator); + return GET_PORTS_INFO(buffer, bufferSize, separator); +} + +void serialOnError(void (*func)(int code)) { + ON_ERROR(func); } diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index 29cdc9f..8b808e0 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -15,11 +15,11 @@ namespace helper { } } -void unixSystemError(void (*func)(int code)){ +void onErrorUnix(void (*func)(int code)){ callback = func; } -void unixSystemOpen( +void openUnix( void* port, const int baudrate, const int dataBits, @@ -114,11 +114,11 @@ void unixSystemOpen( // returnStatus(StatusCodes::SUCCESS); } -void unixSystemClose() { +void closeUnix() { close(hSerialPort); } -auto unixSystemRead( +auto readUnix( void* buffer, const int bufferSize, const int timeout, @@ -127,7 +127,7 @@ auto unixSystemRead( return read(hSerialPort, static_cast(buffer), bufferSize); } -auto unixSystemReadUntil( +auto readUntilUnix( void* buffer, const int bufferSize, const int timeout, @@ -137,7 +137,7 @@ auto unixSystemReadUntil( return 0; } -auto unixSystemWrite( +auto writeUnix( void* buffer, const int bufferSize, const int timeout, @@ -149,7 +149,7 @@ auto unixSystemWrite( return write(hSerialPort, tmp.c_str(), tmp.length() + 1); } -// auto unixSystemGetAvailablePorts( +// auto getPortsInfoUnix( // void* buffer, // const int bufferSize, // void* separator diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 69c70c5..9bd8108 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -10,23 +10,7 @@ std::string data; void (*callback)(int code); -void windowsSystemError(void (*func)(int code)){ - callback = func; -} - - - -/** -* @fn auto open(void* port, const int baudrate, const int dataBits, const int parity, const int stopBits) -> int -* @brief Opens the specified connection to a serial device. -* @param port The port to open the serial connection to -* @param baudrate The baudrate for the serial connection when reading/writing -* @param dataBits The data bits -* @param parity The parity bits -* @param stopBits The stop bits -* @return Returns the current status code -*/ -void windowsSystemOpen( +void openWindows( void* port, const int baudrate, const int dataBits, @@ -91,12 +75,7 @@ void windowsSystemOpen( } } -/** -* @fn auto close() -> int -* @brief Closes the specified connection to a serial device. -* @return Returns the current status code -*/ -void windowsSystemClose() { +void closeWindows() { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { callback(status(StatusCodes::INVALID_HANDLE_ERROR)); @@ -108,17 +87,7 @@ void windowsSystemClose() { } } -/** -* @fn auto read(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int -* @brief Reads the specified number of bytes into the buffer. -* **It is not guaranteed that the complete buffer will be fully read.** -* @param buffer The buffer in which the bytes should be read into -* @param bufferSize The size of the buffer -* @param timeout Timeout to cancel the read -* @param multiplier The time multiplier between reading -* @return Returns the current status code (negative) or number of bytes read -*/ -auto windowsSystemRead( +auto readWindows( void* buffer, const int bufferSize, const int timeout, @@ -148,18 +117,7 @@ auto windowsSystemRead( return bytesRead; } -/** -* @fn auto readUntil(void* buffer, const int bufferSize, const int timeout, const int mutilplier, void* searchString) -> int -* @brief Reads until the specified string is found. If the specified string is not found, the buffer is read full until there are no more bytes to read. -* **It is not guaranteed that the complete buffer will be fully read.** -* @param buffer The buffer in which the bytes should be read into -* @param bufferSize The size of the buffer -* @param timeout Timeout to cancel the read -* @param multiplier The time multiplier between reading -* @param searchString The string to search for -* @return Returns the current status code (negative) or number of bytes read -*/ -auto windowsSystemReadUntil( +auto readUntilWindows( void* buffer, const int bufferSize, const int timeout, @@ -203,17 +161,7 @@ auto windowsSystemReadUntil( return data.length(); } -/** -* @fn auto write(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int -* @brief Writes the buffer to the serial device. -* **It is not guaranteed that the complete buffer will be fully written.** -* @param buffer The buffer in which the bytes should be read into -* @param bufferSize The size of the buffer -* @param timeout Timeout to cancel the read -* @param multiplieer The time multiplier between writing -* @return Returns the current status code (negative) or number of bytes written -*/ -auto windowsSystemWrite(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int { +auto writeWindows(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int { DWORD bytesWritten; timeouts.WriteTotalTimeoutConstant = timeout; @@ -232,15 +180,7 @@ auto windowsSystemWrite(void* buffer, const int bufferSize, const int timeout, c return bytesWritten; } -/** -* @fn auto getAvailablePorts(void* buffer, const int bufferSize, void* separator) -> int -* @brief Get all the available serial ports. -* @param buffer The buffer in which the bytes should be read into -* @param bufferSize The size of the buffer -* @param separator The separator for the array buffer -* @return Returns the current status code (negative) or number of ports found -*/ -auto windowsSystemGetAvailablePorts( +auto getPortsInfoWindows( void* buffer, const int bufferSize, void* separator @@ -279,4 +219,8 @@ auto windowsSystemGetAvailablePorts( return portsCounter; } +void onErrorWindows(void (*func)(int code)){ + callback = func; +} + #endif From a9e5d66789d8f60e5595f86c4abfaa418b4ec932 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 22:53:02 +0200 Subject: [PATCH 081/138] naming --- src/src/serial_windows.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 9bd8108..087edcb 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -8,7 +8,7 @@ DCB dcbSerialParams = {0}; COMMTIMEOUTS timeouts = {0}; std::string data; -void (*callback)(int code); +void (*callback)(int errorCode); void openWindows( void* port, @@ -219,7 +219,7 @@ auto getPortsInfoWindows( return portsCounter; } -void onErrorWindows(void (*func)(int code)){ +void onErrorWindows(void (*func)(int errorCode)){ callback = func; } From b9ba589518218df63cbb1e7c94bb2da6d0e0af26 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 20:55:12 +0000 Subject: [PATCH 082/138] Commited compiled binaries --- lib/bin/linux.so | Bin 17872 -> 17816 bytes lib/bin/windows.dll | Bin 19968 -> 17408 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 77189c0a7d8510436ff419c26cc532f47e351a0d..b0a5d6669f99b65b53b6c4c5502e02938f081e3d 100644 GIT binary patch delta 2693 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 diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 488c465af747b2cc53b29796cf54bf18e07c8dc4..63fd463142b1d0f8bbac30e826a570dda9a5b4e6 100644 GIT binary patch delta 8345 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 E0@%tz{Qv*} literal 19968 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 From e86761dd705662b469fd03860e399ccb853912a3 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 22:57:34 +0200 Subject: [PATCH 083/138] using more callbacks --- src/src/serial_windows.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 087edcb..8dff37c 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -95,7 +95,7 @@ auto readWindows( ) -> int { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { - return status(StatusCodes::INVALID_HANDLE_ERROR); + callback(status(StatusCodes::INVALID_HANDLE_ERROR)); } timeouts.ReadIntervalTimeout = timeout; @@ -104,14 +104,14 @@ auto readWindows( // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { - return status(StatusCodes::SET_TIMEOUT_ERROR); + callback(status(StatusCodes::SET_TIMEOUT_ERROR)); } - DWORD bytesRead; + DWORD bytesRead = 0; // Error if read fails if (!ReadFile(hSerialPort, buffer, bufferSize, &bytesRead, NULL)) { - return status(StatusCodes::READ_ERROR); + callback(status(StatusCodes::READ_ERROR)); } return bytesRead; @@ -126,7 +126,7 @@ auto readUntilWindows( ) -> int { if (hSerialPort == INVALID_HANDLE_VALUE) { - return status(StatusCodes::INVALID_HANDLE_ERROR); + callback(status(StatusCodes::INVALID_HANDLE_ERROR)); } timeouts.ReadIntervalTimeout = timeout; @@ -135,7 +135,7 @@ auto readUntilWindows( // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { - return status(StatusCodes::SET_TIMEOUT_ERROR); + callback(status(StatusCodes::SET_TIMEOUT_ERROR)); } data = ""; @@ -146,7 +146,7 @@ auto readUntilWindows( // Error if read fails if (!ReadFile(hSerialPort, bufferChar, sizeof(bufferChar), &bytesRead, NULL)) { - return status(StatusCodes::READ_ERROR); + callback(status(StatusCodes::READ_ERROR)); } if (bytesRead == 0) { @@ -162,19 +162,19 @@ auto readUntilWindows( } auto writeWindows(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int { - DWORD bytesWritten; + DWORD bytesWritten = 0; timeouts.WriteTotalTimeoutConstant = timeout; timeouts.WriteTotalTimeoutMultiplier = multiplier; // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { - return status(StatusCodes::SET_TIMEOUT_ERROR); + callback(status(StatusCodes::SET_TIMEOUT_ERROR)); } // Error if write fails if (!WriteFile(hSerialPort, buffer, bufferSize, &bytesWritten, NULL)) { - return status(StatusCodes::WRITE_ERROR); + callback(status(StatusCodes::WRITE_ERROR)); } return bytesWritten; @@ -211,7 +211,8 @@ auto getPortsInfoWindows( // Error if buffer size is to small if (result.length() + 1 > bufferSize) { - return status(StatusCodes::BUFFER_ERROR); + callback(status(StatusCodes::BUFFER_ERROR)); + return 0; } memcpy(buffer, result.c_str(), result.length() + 1); From 7866c2f73399737580659cfc28f7b0ab4a22b53b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 21:00:17 +0000 Subject: [PATCH 084/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 17408 -> 17408 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 63fd463142b1d0f8bbac30e826a570dda9a5b4e6..bf275872e5869cdcea418a71afef8d773fc894e7 100644 GIT binary patch delta 4708 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 delta 4657 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 PXOc(Af`*9`4r~7hMf#|} From 7da9239a78b816074472f540aa27374a33763f5d Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 23:05:47 +0200 Subject: [PATCH 085/138] updated ts --- lib/Serial.ts | 8 ++++---- lib/interfaces/serial_functions.d.ts | 5 ++--- lib/register_serial_functions.ts | 26 +++++++++----------------- 3 files changed, 15 insertions(+), 24 deletions(-) diff --git a/lib/Serial.ts b/lib/Serial.ts index 9e05aed..776f05d 100644 --- a/lib/Serial.ts +++ b/lib/Serial.ts @@ -22,9 +22,9 @@ export class Serial { constructor() { this._isOpen = false; this._dl = loadBinaryForOS(pathToBinariesDirectory, Deno.build.os); - this._dl.error((code, message) => { - throw new Error(`An error has occurred. Error code: ${code}, ${message}`) - }) + this._dl.error((code) => { + throw new Error(`An error has occurred. Error code: ${code}`); + }); } /** @@ -152,7 +152,7 @@ export class Serial { */ getPortsInfo() : Ports[] { const buffer = new Uint8Array(2048); - const result = this._dl.getAvailablePorts( + const result = this._dl.getPortsInfo( buffer, buffer.length, encode(',' + '\0') diff --git a/lib/interfaces/serial_functions.d.ts b/lib/interfaces/serial_functions.d.ts index cad8dd5..581e358 100644 --- a/lib/interfaces/serial_functions.d.ts +++ b/lib/interfaces/serial_functions.d.ts @@ -5,8 +5,7 @@ import { StopBits } from "../constants/stop_bits.ts"; export interface SerialFunctions { error : (callback : ( - code : number, - message : string + code : number ) => void) => void, open : ( port : Uint8Array, @@ -35,7 +34,7 @@ export interface SerialFunctions { timeout : number, multiplier : number ) => number, - getAvailablePorts : ( + getPortsInfo : ( buffer : Uint8Array, bufferSize : number, separator : Uint8Array diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 5d2c071..7b67f36 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -8,10 +8,6 @@ export function registerSerialFunctions( console.log(`Opening: ${path}/${os}.${libSuffix}`); const serialFunctions = Deno.dlopen(`${path}/${os}.${libSuffix}`, { - 'serialError': { - parameters: ['function'], - result: 'void' - }, 'serialOpen': { parameters: [ // Port @@ -77,7 +73,7 @@ export function registerSerialFunctions( // Status code/Bytes written result: 'i32' }, - 'serialGetAvailablePorts': { + 'serialGetPortsInfo': { parameters: [ // Buffer 'buffer', @@ -88,31 +84,27 @@ export function registerSerialFunctions( ], // Status code/Amount of ports result: 'i32' + }, + 'serialOnError': { + parameters: ['function'], + result: 'void' } }).symbols return { error: (callback) => { - serialFunctions.serialError(new Deno.UnsafeCallback({ - parameters: [ - 'i32', - 'buffer' - ], + serialFunctions.serialOnError(new Deno.UnsafeCallback({ + parameters: ['i32'], result: "void", } as const, - (code, message) => { - callback( - code, - Deno.UnsafePointerView.getCString(message!) - ) - }).pointer) + (code) => {callback(code)}).pointer) }, open: serialFunctions.serialOpen, close: serialFunctions.serialClose, read: serialFunctions.serialRead, readUntil: serialFunctions.serialReadUntil, write: serialFunctions.serialWrite, - getAvailablePorts: serialFunctions.serialGetAvailablePorts + getPortsInfo: serialFunctions.serialGetPortsInfo } } From 005ddb79a9f4660e05dd7ee392fb2b876cef4592 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 23:07:16 +0200 Subject: [PATCH 086/138] get posts info fix --- src/include/serial.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/include/serial.h b/src/include/serial.h index 087b678..a85a6c8 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -70,7 +70,7 @@ extern "C" { const int multiplier ) -> int; - MODULE_API auto serialGetAvailablePorts( + MODULE_API auto serialGetPortsInfo( void* buffer, const int bufferSize, void* separator From b0c3cf06ff386e8a0c4ed5b51957c382d126ae6b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 21:10:24 +0000 Subject: [PATCH 087/138] Commited compiled binaries --- lib/bin/linux.so | Bin 17816 -> 17808 bytes lib/bin/windows.dll | Bin 17408 -> 19968 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index b0a5d6669f99b65b53b6c4c5502e02938f081e3d..806152c7815d8adb13a14d48339706fa216bdc9e 100644 GIT binary patch delta 926 zcmZuuO=uHQ5T3U`*-e{j8l#&uNo}gwA8I#&HX&4Oa;S-DZIt2hkiYKuT?_0E(N9WF4W{m#O4BoY6j^r zt!7%Sn34D4WjU(G;rA!z;@#9ceuwLuHtatBGXLPiE+ZPHL5i;UwLezFnTpRR>>D9D&?c&mx_2H z6|&ywISK#Now@xh z7wMV#** zYSgJ0E}E@i4c(^6a+osrvQ6updCi5NdwfjBjb0<}r-yFkWdb%k>Li_@xR2s_za60V zg^Xe}VXz|4W%u!9!U)beOz$@4bDSpTJHh;dRkFVeo8dRIy#hP2F=+%7^w|8Y*tQBs ztV~i@aIA0SKQp(M`p!s}aX8B8+Npliy;)~>xQV6yq&r6g<&wiHd25chh8yJ79!R(1 RX-#EkF*T56udp=G_7}G5wzvQQ delta 942 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 O%3Fc{?fEaFf&U9nqebul delta 8172 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 From 8aece0970c01002e2add879deb129225423457b1 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 23:24:30 +0200 Subject: [PATCH 088/138] added returns --- lib/register_serial_functions.ts | 2 -- src/include/serial_windows.h | 6 ++++-- src/src/serial_windows.cpp | 31 ++++++++++++++++++++++--------- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 7b67f36..20c4cac 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -5,8 +5,6 @@ export function registerSerialFunctions( os : string, libSuffix : string ) : SerialFunctions { - console.log(`Opening: ${path}/${os}.${libSuffix}`); - const serialFunctions = Deno.dlopen(`${path}/${os}.${libSuffix}`, { 'serialOpen': { parameters: [ diff --git a/src/include/serial_windows.h b/src/include/serial_windows.h index fb8a814..c3d9caf 100644 --- a/src/include/serial_windows.h +++ b/src/include/serial_windows.h @@ -8,12 +8,12 @@ extern void (*callback)(int code); +#define CALLBACK_STOP(errorCode) callback(status(errorCode)); return; + extern HANDLE hSerialPort; extern DCB dcbSerialParams; extern COMMTIMEOUTS timeouts; -void onErrorWindows(void (*func)(int code)); - void openWindows( void* port, const int baudrate, @@ -52,4 +52,6 @@ auto getPortsInfoWindows( void* separator ) -> int; +void onErrorWindows(void (*func)(int code)); + #endif diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 8dff37c..8430899 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -1,3 +1,4 @@ +#include #include #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) #include "serial_windows.h" @@ -34,13 +35,17 @@ void openWindows( // Error if open fails if (hSerialPort == INVALID_HANDLE_VALUE) { - callback(status(StatusCodes::INVALID_HANDLE_ERROR)); + CALLBACK_STOP(StatusCodes::INVALID_HANDLE_ERROR); } // Error if configuration get fails if (!GetCommState(hSerialPort, &dcbSerialParams)) { - CloseHandle(hSerialPort); - callback(status(StatusCodes::GET_STATE_ERROR)); + // Error if close fails + if (!CloseHandle(hSerialPort)) { + CALLBACK_STOP(StatusCodes::CLOSE_HANDLE_ERROR); + } + + CALLBACK_STOP(StatusCodes::GET_STATE_ERROR); } dcbSerialParams.BaudRate = baudrate; @@ -52,10 +57,10 @@ void openWindows( if (!SetCommState(hSerialPort, &dcbSerialParams)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - callback(status(StatusCodes::CLOSE_HANDLE_ERROR)); + CALLBACK_STOP(StatusCodes::CLOSE_HANDLE_ERROR); } - callback(status(StatusCodes::SET_STATE_ERROR)); + CALLBACK_STOP(StatusCodes::SET_STATE_ERROR); } timeouts.ReadIntervalTimeout = 50; @@ -68,22 +73,22 @@ void openWindows( if (!SetCommTimeouts(hSerialPort, &timeouts)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - callback(status(StatusCodes::CLOSE_HANDLE_ERROR)); + CALLBACK_STOP(StatusCodes::CLOSE_HANDLE_ERROR); } - callback(status(StatusCodes::SET_TIMEOUT_ERROR)); + CALLBACK_STOP(StatusCodes::SET_TIMEOUT_ERROR); } } void closeWindows() { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { - callback(status(StatusCodes::INVALID_HANDLE_ERROR)); + CALLBACK_STOP(StatusCodes::INVALID_HANDLE_ERROR); } // Error if close fails if (!CloseHandle(hSerialPort)) { - callback(status(StatusCodes::CLOSE_HANDLE_ERROR)); + CALLBACK_STOP(StatusCodes::CLOSE_HANDLE_ERROR); } } @@ -96,6 +101,7 @@ auto readWindows( // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { callback(status(StatusCodes::INVALID_HANDLE_ERROR)); + return 0; } timeouts.ReadIntervalTimeout = timeout; @@ -105,6 +111,7 @@ auto readWindows( // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { callback(status(StatusCodes::SET_TIMEOUT_ERROR)); + return 0; } DWORD bytesRead = 0; @@ -112,6 +119,7 @@ auto readWindows( // Error if read fails if (!ReadFile(hSerialPort, buffer, bufferSize, &bytesRead, NULL)) { callback(status(StatusCodes::READ_ERROR)); + return 0; } return bytesRead; @@ -127,6 +135,7 @@ auto readUntilWindows( if (hSerialPort == INVALID_HANDLE_VALUE) { callback(status(StatusCodes::INVALID_HANDLE_ERROR)); + return 0; } timeouts.ReadIntervalTimeout = timeout; @@ -136,6 +145,7 @@ auto readUntilWindows( // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { callback(status(StatusCodes::SET_TIMEOUT_ERROR)); + return 0; } data = ""; @@ -147,6 +157,7 @@ auto readUntilWindows( // Error if read fails if (!ReadFile(hSerialPort, bufferChar, sizeof(bufferChar), &bytesRead, NULL)) { callback(status(StatusCodes::READ_ERROR)); + return 0; } if (bytesRead == 0) { @@ -170,11 +181,13 @@ auto writeWindows(void* buffer, const int bufferSize, const int timeout, const i // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { callback(status(StatusCodes::SET_TIMEOUT_ERROR)); + return 0; } // Error if write fails if (!WriteFile(hSerialPort, buffer, bufferSize, &bytesWritten, NULL)) { callback(status(StatusCodes::WRITE_ERROR)); + return 0; } return bytesWritten; From 3af54b31bcdf4a7e733223fba9c689950cbf325f Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 23:27:23 +0200 Subject: [PATCH 089/138] fix --- src/src/serial_windows.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 8430899..48848f0 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -1,5 +1,3 @@ -#include -#include #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) #include "serial_windows.h" From 7d4c67ac7adc5a626460ab158588d9a48049eb4c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 21:29:34 +0000 Subject: [PATCH 090/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19968 -> 19968 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 13a6e865b24f3b027f1e7bcf9299be6ff6b074fd..d97230002f90b7adf5368fdd7132e7881fb25a03 100644 GIT binary patch delta 5489 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 delta 5522 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 From 803ab985aefddeea45156cb0df827c842a1d1eec Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 23:44:09 +0200 Subject: [PATCH 091/138] test --- src/src/serial_windows.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 48848f0..357c307 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -171,6 +171,12 @@ auto readUntilWindows( } auto writeWindows(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int { + // Error if handle is invalid + if (hSerialPort == INVALID_HANDLE_VALUE) { + callback(status(StatusCodes::INVALID_HANDLE_ERROR)); + return 0; + } + DWORD bytesWritten = 0; timeouts.WriteTotalTimeoutConstant = timeout; From 3a5c73bc8155cbca25970b5fa12d12555fab7166 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 21:46:14 +0000 Subject: [PATCH 092/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19968 -> 19968 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index d97230002f90b7adf5368fdd7132e7881fb25a03..95ccb384b640f9af14c49400a8d8e610870bfd14 100644 GIT binary patch delta 5485 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 delta 5537 zcmeHL{a;j78b1f;0s{;K$OQz10cI3IaAX9>5FJ`{uL{1uWxkfLrCXnzDJ-|a23O%W zX?wJ7TidMd(`s2^qlsEJi3$~(si~E=l&)UFPw}xbHMhIpbLWm)f5HB+_v3TE&-0w; zdCqg*o-^zgKC~%N8L^*6uINKZ=abB6*h@3nK|@VcTOJ{Y4CPGD%4DU&HX6mg7V_vh78%*k z{8}y{HS&Q`@~4t~Sb3feiyUa#*^`j2TvfCUAf#QAPbxEhWmL`9MV_Y~=8m$^$!ud( zsWl;okZQTgT02UH{bcKd$}bi|M*EY?N6Ck4{3EIIt%ZFXRag?6gvbL_@v$O3aue({ zk7~IE&dO%Uqx{K(!+z`8nCKZamAw)@oStGAq934(*i_>bx`J&pIwH7#63{A0<6 zbiQ`2l3)C~FVdEeD3^M%?)WU)&dla@^iS*sGmE%vWP=i(papDK!u@m~%S)V2x3ZOq zm6*uB#LaXio0BvwaZMB5I?G<}PTu)*r#Z~k$ zo1StXO=B%7HS|N4m^u|pu{d=Rox+Z$&g%Jk0wJ>SSvg;Y8Z!?yE8t2qQmoQC7M@kPfPs81l^Z$v*01z%Bj^*wa$@jDBj#S1(!%yket*Y&vb2#6w?XhBx(L8e& zNV36Z=eec&O;iiaPnog^8s#1ql~I(@UkmO@@%>CaiPiEU z$1z+qNp4leKeKTeIo`KT$dCJ6#NZe%0Y}tu2iG0Q@7#q><#ROH4?)?fnId^^@AyD@ zSC>0?fC;Uh`EB97Au#`7FU7pgRV{0UHz6x0BhmO_re~k5)P)4E5rI75yS`~eT)w(D zx1z4X4PPRE=2_&sMjyFP84*e`fAtq0E7F|JBOBq1?0DJ>xqK~7n?^B~$g$A;fban} zSMs%~-0n(Nb*@k;85Q11sO)T4;NkRxQ8ZTr-1^g+qiD zr&QHbE8T0_1_oz$32Vw+s6Xb3 zQzDUP<41}bOGtRon-iCO6_GGjaTYyM%08IzBY7NC>_$mZUW9^=C7G*^OY(lcYOJaE za=MXOv*zR4H)QpTU%1emU61jQM7il{b|A}^G6vNN5v2xtWj}StXvIny$<(X?(MNt( z)h)#chneHCX*p){{Ph_+QY41sU6lE7Zi z?&V#Wg7|*ZG=TC{=+yO7UWb2u&~3p&m4*7VdH-Vcw+gig5P<-$5*164`yW+x)vKQ2 zN;URbl21!MCvjUPT!ja;l-$^cLwmRbYMmtasFqEyiYQ#_C#tZbl#Q?qn>PdzR|mbO zUzH5CtwFG$LwW6*J{gOz;?N+B?HR1RhXj@TuzSi^XneLepywNNH->Z^b2Wafc)(pb zo$-b5997 zWbJuHlNLeYYm06brh@6gJA}#LDzCIy+)iJcrB$ea$S**HP!6scR!6JyPFIzm_M}Ou zp%!b$&<>BuXUasctD$$2o#By-O@L(H7;N#`YS<&zJbIb^&DuZXN0d=XeqKR1$-nWm zflD8aa0FHHIQ!b_qKz!iHi;IqM{Jfjt<0jZyHxQy`-iQ}yBBo~=Bl^{j4E!@#I`*~ z1L0NFa<`<~>bS0<+8T|b`^YWE;XtIId4Xis~<@DZT?v6hYUdskUjDlnZxO6~924 zljOivM0KcGKFL4XI#=QcYd5>mrwqRc9DQx{2D__o@4^cxEs{JUO==jCpo$%ko2j)~T5HkT zT&?Y|wO^u$sy4gEmuRh9YoF5Exmr6>Ypb-j>^8j?Ki*cYsX_x^Wy|`Fn8pL4itC@` zZ(NIY>OAl-{6fG7c`=uF+>*C&`Q=-38<#iSlIL={o*4^@iZ5SA6xS4O+2n5;Yb;6! zH0wh@J1g1zg5ta<@Y94F*k|!a6`uK$Ec*NLt-GG^kR1nbG22;?pSS2cRpoDG zU!>0;#^EqIB;=zFZL%u9`%)og2|X;mToa+hH&(|PIxb{6{ZqXgbm{S_A*=a1j@8kr zW0sCFI$oI)vj1GicXZsWNs1+(Kh9WQUI7j>t(NE=$KZbad)C zR>$c&-lOAE9Us=QPRDTEXEpiO_#}ODsH=~TM9(zra7Nc(*70o}pVRSi9cSuj*YSdm zM|Au_PvlN64-H2LZW&1G_$>|NgQX#P{ckYr@@1g2XaJ?bK(7Ih(TG56;2HbF5j7R~ zTW%644`-njm8~6=f_fN9$%_;kMn9Te!gnR?b{AFO)v)P01N!$W12dX;E{S(j@_Q~MF#138S zN<_&7bug1NgLbff&H;(e>X66LBtm`xIoT3tb`IAX4U`yi3F$^UeCHm^$199=zl7Bg z*jDH83MjRnL@}C(ZX*%rM-g#QBoRvzJGd8rbKHf5oC6ukxHTao`x7z≫4#WK?o1 zYz>j2c@>nQTh)Qz4;rM)AAvu4TR)di@qYHlA*m_h3{7~xzUNOEyuL4DuMT-MR~oC0 z`m2Wj##jvfdQkJ&r*l%+%sc8L$T;@p9VwAvWqOW^kNZ7^P2}^(&oPZ8$n!yUth7A4 z*Yn`Eg5Cjr2>KM%0qSPU%DrB`vElEPiQruLHzBMc*4X==6`>Kh*U95*b>I|IHE^unjvW1k$Rysh8hferK~2ahkw$ zEC(G0fAi*o=QnsaZfZApj_-luszZ1Xd?xstw;4RY)ytD{E5LJH0a^^6qZd>QzAl-t zH6stwp{(Zjh2FEMiFQQil`|jJcJ64%z$KuS;Fkh7>paJuI^PWJ(0PtO>ikvU^u9Q$ z7>VOr5Rb!glg@MeHwa^Si2`Oh$_*db4U9wCc^1wb?I0~7;9WXD6ZnkIKMQ;l#0O{s z#ugBAg8Kqx&>8TXf%`yL!SiRK3&dky0uC+2v&o%@77{YCKmJbl3UmPcQs9#yH+(k$U3Lr%{Y>CL2NH4~{5D_*h!4i`tr9|hfPM$ihNs{L_2V(=V;I*(_SJOoOEFP>KN49EhW7j0gGn=u)VywEx^ l7)M@YInR-o&U7wt=5f$F;Ol_rK`Tcy+M_NIKl*Zy{{jGZyvYCn From 6b1da12563c0962600c55c7b1995535ad20e25a7 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Sun, 28 May 2023 23:59:37 +0200 Subject: [PATCH 093/138] fix --- src/src/serial_windows.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 357c307..7e1e552 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -9,6 +9,17 @@ std::string data; void (*callback)(int errorCode); +bool isSerialPortClosed(HANDLE hSerialPort) { + DWORD modemStatus; + if (!GetCommModemStatus(hSerialPort, &modemStatus)) { + // Fehler beim Abrufen des Modemstatus + return false; + } + + // Überprüfen, ob die Verbindung geschlossen wurde + return (modemStatus == 0x00); +} + void openWindows( void* port, const int baudrate, @@ -130,7 +141,7 @@ auto readUntilWindows( const int multiplier, void* searchString ) -> int { - + // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { callback(status(StatusCodes::INVALID_HANDLE_ERROR)); return 0; @@ -170,9 +181,14 @@ auto readUntilWindows( return data.length(); } -auto writeWindows(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int { - // Error if handle is invalid - if (hSerialPort == INVALID_HANDLE_VALUE) { +auto writeWindows( + void* buffer, + const int bufferSize, + const int timeout, + const int multiplier +) -> int { + + if (isSerialPortClosed(hSerialPort)){ callback(status(StatusCodes::INVALID_HANDLE_ERROR)); return 0; } From be8c6fc31d597087a5f657cacc399733e20a7c77 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 22:02:51 +0000 Subject: [PATCH 094/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19968 -> 19968 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 95ccb384b640f9af14c49400a8d8e610870bfd14..ccc68cef243078411d96daa7e245447b3a165fbe 100644 GIT binary patch delta 6138 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 Date: Mon, 29 May 2023 00:06:35 +0200 Subject: [PATCH 095/138] fix --- src/src/serial_windows.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 7e1e552..8dbe2a7 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -13,7 +13,7 @@ bool isSerialPortClosed(HANDLE hSerialPort) { DWORD modemStatus; if (!GetCommModemStatus(hSerialPort, &modemStatus)) { // Fehler beim Abrufen des Modemstatus - return false; + return true; } // Überprüfen, ob die Verbindung geschlossen wurde From ffae7a480be6f4c1e7e1c039e5d651d52d676e0b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 28 May 2023 22:09:05 +0000 Subject: [PATCH 096/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19968 -> 19968 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index ccc68cef243078411d96daa7e245447b3a165fbe..0d4f312fcccd4b5d2745c6484810591ee9ab3ee2 100644 GIT binary patch delta 3220 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 i!Z}A?1!-L2 Date: Mon, 29 May 2023 13:39:53 +0200 Subject: [PATCH 097/138] minimized cpp code --- src/include/serial.h | 24 -------- src/include/serial_unix.h | 59 ------------------- src/include/serial_windows.h | 57 ------------------ src/src/serial.cpp | 109 ----------------------------------- src/src/serial_unix.cpp | 24 +++++--- src/src/serial_windows.cpp | 22 ++++--- 6 files changed, 31 insertions(+), 264 deletions(-) delete mode 100644 src/include/serial_unix.h delete mode 100644 src/include/serial_windows.h delete mode 100644 src/src/serial.cpp diff --git a/src/include/serial.h b/src/include/serial.h index a85a6c8..04a668e 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -10,30 +10,6 @@ # define MODULE_API #endif -// Windows -#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) -# include "serial_windows.h" -# define OPEN(port, baudrate, dataBits, parity, stopBits) openWindows(port, baudrate, dataBits, parity, stopBits) -# define CLOSE() closeWindows() -# define READ(buffer, bufferSize, timeout, multiplier) readWindows(buffer, bufferSize, timeout, multiplier) -# define READ_UNTIL(buffer, bufferSize, timeout, multiplier, untilChar) readUntilWindows(buffer, bufferSize, timeout, multiplier, untilChar) -# define WRITE(buffer, bufferSize, timeout, multiplier) writeWindows(buffer, bufferSize, timeout, multiplier) -# define GET_PORTS_INFO(buffer, bufferSize, separator) getPortsInfoWindows(buffer, bufferSize, separator) -# define ON_ERROR(f_pointer) onErrorWindows(f_pointer) -#endif - -// Linux, Apple -#if defined(__unix) || defined(__unix__) || defined(__APPLE__) -# include "serial_unix.h" -# define OPEN(port, baudrate, dataBits, parity, stopBits) openUnix(port, baudrate, dataBits, parity, stopBits) -# define CLOSE() closeUnix() -# define READ(buffer, bufferSize, timeout, multiplier) readUnix(buffer, bufferSize, timeout, multiplier) -# define READ_UNTIL(buffer, bufferSize, timeout, multiplier, untilChar) readUntilUnix(buffer, bufferSize, timeout, multiplier, untilChar) -# define WRITE(buffer, bufferSize, timeout, multiplier) writeUnix(buffer, bufferSize, timeout, multiplier) -# define GET_PORTS_INFO(buffer, bufferSize, separator) getPortsInfoUnix(buffer, bufferSize, separator) -# define ON_ERROR(f_pointer) onErrorUnix(f_pointer) -#endif - #ifdef __cplusplus extern "C" { #endif diff --git a/src/include/serial_unix.h b/src/include/serial_unix.h deleted file mode 100644 index 6310cc7..0000000 --- a/src/include/serial_unix.h +++ /dev/null @@ -1,59 +0,0 @@ -#pragma once -#if defined(__unix__) || defined(__unix) || defined(__APPLE__) - -#include // String function definitions -#include // UNIX standard function definitions -#include // File control definitions -#include // Used for TCGETS2, which is required for custom baud rates -#include -#include -// #include - -#include "status_codes.h" - -extern int hSerialPort; -extern termios2 tty; - -extern void (*callback)(int code); - -void onErrorUnix(void (*func)(int code)); - -void openUnix( - void* port, - const int baudrate, - const int dataBits, - const int parity = 0, - const int stopBits = 0 -); - -void closeUnix(); - -auto readUnix( - void* buffer, - const int bufferSize, - const int timeout, - const int multiplier -) -> int; - -auto readUntilUnix( - void* buffer, - const int bufferSize, - const int timeout, - const int multiplier, - void* untilChar -) -> int; - -auto writeUnix( - void* buffer, - const int bufferSize, - const int timeout, - const int multiplier -) -> int; - -auto getPortsInfoUnix( - void* buffer, - const int bufferSize, - void* separator -) -> int; - -#endif diff --git a/src/include/serial_windows.h b/src/include/serial_windows.h deleted file mode 100644 index c3d9caf..0000000 --- a/src/include/serial_windows.h +++ /dev/null @@ -1,57 +0,0 @@ -#pragma once -#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) - -#include -#include -#include -#include "status_codes.h" - -extern void (*callback)(int code); - -#define CALLBACK_STOP(errorCode) callback(status(errorCode)); return; - -extern HANDLE hSerialPort; -extern DCB dcbSerialParams; -extern COMMTIMEOUTS timeouts; - -void openWindows( - void* port, - const int baudrate, - const int dataBits, - const int parity = 0, - const int stopBits = 0 -); - -void closeWindows(); - -auto readWindows( - void* buffer, - const int bufferSize, - const int timeout, - const int multiplier -) -> int; - -auto readUntilWindows( - void* buffer, - const int bufferSize, - const int timeout, - const int multiplier, - void* untilChar -) -> int; - -auto writeWindows( - void* buffer, - const int bufferSize, - const int timeout, - const int multiplier -) -> int; - -auto getPortsInfoWindows( - void* buffer, - const int bufferSize, - void* separator -) -> int; - -void onErrorWindows(void (*func)(int code)); - -#endif diff --git a/src/src/serial.cpp b/src/src/serial.cpp deleted file mode 100644 index 8789579..0000000 --- a/src/src/serial.cpp +++ /dev/null @@ -1,109 +0,0 @@ -#include "serial.h" - -/** -* @fn void serialOpen(void* port, const int baudrate, const int dataBits, const int parity, const int stopBits) -* @brief Opens the specified connection to a serial device. -* @param port The port to open the serial connection to -* @param baudrate The baudrate for the serial connection when reading/writing -* @param dataBits The data bits -* @param parity The parity bits -* @param stopBits The stop bits -* @return Returns the current status code -*/ -void serialOpen( - void* port, - const int baudrate, - const int dataBits, - const int parity, - const int stopBits -) { - return OPEN(port, baudrate, dataBits, parity, stopBits); -} - -/** -* @fn void serialClose() -* @brief Closes the specified connection to a serial device. -* @return Returns the current status code -*/ -void serialClose() { - return CLOSE(); -} - -/** -* @fn auto serialRead(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int -* @brief Reads the specified number of bytes into the buffer. -* **It is not guaranteed that the complete buffer will be fully read.** -* @param buffer The buffer in which the bytes should be read into -* @param bufferSize The size of the buffer -* @param timeout Timeout to cancel the read -* @param multiplier The time multiplier between reading -* @return Returns the current status code (negative) or number of bytes read -*/ -auto serialRead( - void* buffer, - const int bufferSize, - const int timeout, - const int multiplier -) -> int { - return READ(buffer, bufferSize, timeout, multiplier); -} - -/** -* @fn auto serialReadUntil(void* buffer, const int bufferSize, const int timeout, const int mutilplier, void* searchString) -> int -* @brief Reads until the specified string is found. If the specified string is not found, the buffer is read full until there are no more bytes to read. -* **It is not guaranteed that the complete buffer will be fully read.** -* @param buffer The buffer in which the bytes should be read into -* @param bufferSize The size of the buffer -* @param timeout Timeout to cancel the read -* @param multiplier The time multiplier between reading -* @param searchString The string to search for -* @return Returns the current status code (negative) or number of bytes read -*/ -auto serialReadUntil( - void* buffer, - const int bufferSize, - const int timeout, - const int multiplier, - void* untilChar -) -> int { - return READ_UNTIL(buffer, bufferSize, timeout, multiplier, untilChar); -} - -/** -* @fn auto serialWrite(void* buffer, const int bufferSize, const int timeout, const int multiplier) -> int -* @brief Writes the buffer to the serial device. -* **It is not guaranteed that the complete buffer will be fully written.** -* @param buffer The buffer in which the bytes should be read into -* @param bufferSize The size of the buffer -* @param timeout Timeout to cancel the read -* @param multiplieer The time multiplier between writing -* @return Returns the current status code (negative) or number of bytes written -*/ -auto serialWrite( - void* buffer, - const int bufferSize, - const int timeout, - const int multiplier -) -> int { - return WRITE(buffer, bufferSize, timeout, multiplier); -} - -/** -* @fn auto serialGetPortsInfo(void* buffer, const int bufferSize, void* separator) -> int -* @brief Get all the available serial ports. -* @param buffer The buffer in which the bytes should be read into -* @param bufferSize The size of the buffer -* @param separator The separator for the array buffer -* @return Returns the current status code (negative) or number of ports found -*/ -auto serialGetPortsInfo( - void* buffer, - const int bufferSize, - void* separator -) -> int { - return GET_PORTS_INFO(buffer, bufferSize, separator); -} - -void serialOnError(void (*func)(int code)) { - ON_ERROR(func); -} diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index 8b808e0..1612f6a 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -1,5 +1,15 @@ #if defined(__unix__) || defined(__unix) || defined(__APPLE__) -#include "serial_unix.h" +#include "serial.h" +#include // String function definitions +#include // UNIX standard function definitions +#include // File control definitions +#include // Used for TCGETS2, which is required for custom baud rates +#include +#include +// #include + +#include "status_codes.h" + // namespace fs = std::filesystem; @@ -15,11 +25,11 @@ namespace helper { } } -void onErrorUnix(void (*func)(int code)){ +void serialOnError(void (*func)(int code)){ callback = func; } -void openUnix( +void serialOpen( void* port, const int baudrate, const int dataBits, @@ -114,11 +124,11 @@ void openUnix( // returnStatus(StatusCodes::SUCCESS); } -void closeUnix() { +void serialClose() { close(hSerialPort); } -auto readUnix( +auto serialRead( void* buffer, const int bufferSize, const int timeout, @@ -127,7 +137,7 @@ auto readUnix( return read(hSerialPort, static_cast(buffer), bufferSize); } -auto readUntilUnix( +auto serialReadUntil( void* buffer, const int bufferSize, const int timeout, @@ -137,7 +147,7 @@ auto readUntilUnix( return 0; } -auto writeUnix( +auto serialWrite( void* buffer, const int bufferSize, const int timeout, diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 8dbe2a7..586fb43 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -1,5 +1,9 @@ #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -#include "serial_windows.h" +#include "serial.h" +#include +#include +#include +#include "status_codes.h" HANDLE hSerialPort; @@ -9,6 +13,8 @@ std::string data; void (*callback)(int errorCode); +#define CALLBACK_STOP(errorCode) callback(status(errorCode)); return; + bool isSerialPortClosed(HANDLE hSerialPort) { DWORD modemStatus; if (!GetCommModemStatus(hSerialPort, &modemStatus)) { @@ -20,7 +26,7 @@ bool isSerialPortClosed(HANDLE hSerialPort) { return (modemStatus == 0x00); } -void openWindows( +void serialOpen( void* port, const int baudrate, const int dataBits, @@ -89,7 +95,7 @@ void openWindows( } } -void closeWindows() { +void serialClose() { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { CALLBACK_STOP(StatusCodes::INVALID_HANDLE_ERROR); @@ -101,7 +107,7 @@ void closeWindows() { } } -auto readWindows( +auto serialRead( void* buffer, const int bufferSize, const int timeout, @@ -134,7 +140,7 @@ auto readWindows( return bytesRead; } -auto readUntilWindows( +auto serialReadUntil( void* buffer, const int bufferSize, const int timeout, @@ -181,7 +187,7 @@ auto readUntilWindows( return data.length(); } -auto writeWindows( +auto serialWrite( void* buffer, const int bufferSize, const int timeout, @@ -213,7 +219,7 @@ auto writeWindows( return bytesWritten; } -auto getPortsInfoWindows( +auto serialGetPortsInfo( void* buffer, const int bufferSize, void* separator @@ -253,7 +259,7 @@ auto getPortsInfoWindows( return portsCounter; } -void onErrorWindows(void (*func)(int errorCode)){ +void serialOnError(void (*func)(int errorCode)){ callback = func; } From f808a583457adcab79153f4edd6bb27c37a6aafe Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 11:42:20 +0000 Subject: [PATCH 098/138] Commited compiled binaries --- lib/bin/linux.so | Bin 17808 -> 17360 bytes lib/bin/windows.dll | Bin 19968 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 806152c7815d8adb13a14d48339706fa216bdc9e..549db8d9efa7ff8f8008296568dd96d509b18330 100644 GIT binary patch delta 3758 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 DXiOr} diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 0d4f312fcccd4b5d2745c6484810591ee9ab3ee2..c3415ca1fed96a075379259867ee2fd07c6a00a6 100644 GIT binary patch delta 9875 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 TW9RIhbvx^KF5T^PHw*s_#r;fG literal 19968 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 M0sZ^)Uql1{1{VHV-2eap From bdd6c47f8a0f17460e2fe7b7e1db016b8805a5e7 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Mon, 29 May 2023 13:42:52 +0200 Subject: [PATCH 099/138] fix --- src/src/serial_windows.cpp | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 586fb43..66750db 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -15,17 +15,6 @@ void (*callback)(int errorCode); #define CALLBACK_STOP(errorCode) callback(status(errorCode)); return; -bool isSerialPortClosed(HANDLE hSerialPort) { - DWORD modemStatus; - if (!GetCommModemStatus(hSerialPort, &modemStatus)) { - // Fehler beim Abrufen des Modemstatus - return true; - } - - // Überprüfen, ob die Verbindung geschlossen wurde - return (modemStatus == 0x00); -} - void serialOpen( void* port, const int baudrate, @@ -194,11 +183,6 @@ auto serialWrite( const int multiplier ) -> int { - if (isSerialPortClosed(hSerialPort)){ - callback(status(StatusCodes::INVALID_HANDLE_ERROR)); - return 0; - } - DWORD bytesWritten = 0; timeouts.WriteTotalTimeoutConstant = timeout; From d300f00dfa7838d86e4869470e3b5116d85a8090 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 11:45:01 +0000 Subject: [PATCH 100/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 19456 -> 18944 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index c3415ca1fed96a075379259867ee2fd07c6a00a6..b1dfeb7ffcd155e7991cefbce5d9aa4b3a9f3060 100644 GIT binary patch delta 5298 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 delta 5360 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 VyKQ%Hch~MCyL)$^X|+jx{68Q;4if+X From 231d90689bae0d61a0afed1aa3a9c62cf3799c5d Mon Sep 17 00:00:00 2001 From: Katze719 Date: Mon, 29 May 2023 14:36:05 +0200 Subject: [PATCH 101/138] moved includes --- src/include/serial.h | 4 ++++ src/src/serial_unix.cpp | 4 ---- src/src/serial_windows.cpp | 6 ++---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/include/serial.h b/src/include/serial.h index 04a668e..d52c8ce 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -1,4 +1,8 @@ #pragma once +#include + +#include "status_codes.h" + #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) # ifdef SERIALPORT_EXPORTS diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index 1612f6a..482cc9b 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -1,15 +1,11 @@ #if defined(__unix__) || defined(__unix) || defined(__APPLE__) #include "serial.h" -#include // String function definitions #include // UNIX standard function definitions #include // File control definitions #include // Used for TCGETS2, which is required for custom baud rates #include -#include // #include -#include "status_codes.h" - // namespace fs = std::filesystem; diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 66750db..b30f4b1 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -1,9 +1,7 @@ #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -#include "serial.h" -#include -#include #include -#include "status_codes.h" + +#include "serial.h" HANDLE hSerialPort; From bdecc90b6e920034fba0e8b05d377ec559269c12 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 12:38:28 +0000 Subject: [PATCH 102/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 18944 -> 18944 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index b1dfeb7ffcd155e7991cefbce5d9aa4b3a9f3060..eb525de953856ed9086d33a2bb57aab13f121b66 100644 GIT binary patch delta 639 zcmY+B%PWLY7{;IPGox{t845#*aT%9#_bIXwA8JOipln34P-gL^S-MP$4T_Gkv7jt1 z)F>s387wSmEGWzI2h5b6@Vw?zES`S9^PcmbODB4uMGv%NO}{*f>DorCaH}opRPRQm z)1kpJs60Ily(>YW20%v{u+3!0I*@Yxt7+a`coz!bHS*zIF0hnk3>2q+oBhBolTr!8 zh|To0yVs{VHBkcWFye7CW4pf;m}ll#x5zyvOc$Oo5&Aiqu>FB-=G~&LNUHD@AE9q#+t`SyIio{>z>H=6qKR);LM+1dk&-ZwV3CNSiKP*v(nwg4RE~s^-5{w+ z4E6B`kQzvg^#`;u3ZAz;7@quo=RN1VZ+mX+*oYk)XNK7mPngC|hj6bmRp|8;!LwQd zk5vrMdP&4^7;uaL>ctwa*bD)U0J?p^J+rBT{gzs^>QvP7x0Fxm-D+T;$*)Zy?L_xq zEwR+!>)!rgr`by2fDuoUS?#_mV1@Z)JwnDACwmLenK0{@`y0e>% o5A|+$<;JIbfp11GJNp2ek Date: Mon, 29 May 2023 14:40:35 +0000 Subject: [PATCH 103/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 18944 -> 18944 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index eb525de953856ed9086d33a2bb57aab13f121b66..7eb8f09bccd8623aeaaf8d0add870e9c3dca28db 100644 GIT binary patch delta 24 dcmZpe!q_l{aRDP!*v`#Nj7_>Ax=pW28USbs2u}b2 delta 24 dcmZpe!q_l{aRDRK_BorG7@KrKbemq4GyrZJ2-g4r From 58991354f7941a1fcda4c4b563563708a192cfd0 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:07:11 +0200 Subject: [PATCH 104/138] Updated typescript files --- lib/Serial.ts | 2 +- lib/interfaces/serial_functions.d.ts | 8 ++- lib/register_serial_functions.ts | 77 ++++++++++++++++++---------- 3 files changed, 59 insertions(+), 28 deletions(-) diff --git a/lib/Serial.ts b/lib/Serial.ts index 776f05d..96211f3 100644 --- a/lib/Serial.ts +++ b/lib/Serial.ts @@ -22,7 +22,7 @@ export class Serial { constructor() { this._isOpen = false; this._dl = loadBinaryForOS(pathToBinariesDirectory, Deno.build.os); - this._dl.error((code) => { + this._dl.onError((code) => { throw new Error(`An error has occurred. Error code: ${code}`); }); } diff --git a/lib/interfaces/serial_functions.d.ts b/lib/interfaces/serial_functions.d.ts index 581e358..f45bc38 100644 --- a/lib/interfaces/serial_functions.d.ts +++ b/lib/interfaces/serial_functions.d.ts @@ -4,9 +4,15 @@ import { Parity } from "../constants/parity.ts"; import { StopBits } from "../constants/stop_bits.ts"; export interface SerialFunctions { - error : (callback : ( + onError : (callback : ( code : number ) => void) => void, + onRead : (callback : ( + bytes : number + ) => void) => void, + onWrite : (callback : ( + bytes : number + ) => void) => void, open : ( port : Uint8Array, baudrate : Baudrate, diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 20c4cac..3aebd9f 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -11,13 +11,13 @@ export function registerSerialFunctions( // Port 'buffer', // Baudrate - 'i32', + 'u32', // Data Bits - 'i32', + 'u32', // Parity - 'i32', + 'u32', // Stop Bits - 'i32' + 'u32' ], // Status code result: 'void' @@ -25,77 +25,102 @@ export function registerSerialFunctions( 'serialClose': { parameters: [], // Status code - result: 'i32' + result: 'u32' }, 'serialRead': { parameters: [ // Buffer 'buffer', // Buffer Size - 'i32', + 'u32', // Timeout - 'i32', + 'u32', // Multiplier - 'i32' + 'u32' ], - // Status code/Bytes read - result: 'i32' + // Bytes read + result: 'u32' }, 'serialReadUntil': { parameters: [ // Buffer 'buffer', // Buffer Size - 'i32', + 'u32', // Timeout - 'i32', + 'u32', // Multiplier - 'i32', + 'u32', // SearchString 'buffer' ], - // Status code/Bytes read - result: 'i32' + // Bytes read + result: 'u32' }, 'serialWrite': { parameters: [ // Buffer 'buffer', // Buffer Size - 'i32', + 'u32', // Timeout - 'i32', + 'u32', // Multiplier - 'i32' + 'u32' ], - // Status code/Bytes written - result: 'i32' + // Bytes written + result: 'u32' }, 'serialGetPortsInfo': { parameters: [ // Buffer 'buffer', // Buffer Size - 'i32', + 'u32', // Separator 'buffer' ], - // Status code/Amount of ports - result: 'i32' + // Amount of ports + result: 'u32' }, 'serialOnError': { + // on error callback function + parameters: ['function'], + result: 'void' + }, + 'serialOnRead': { + // on error callback function + parameters: ['function'], + result: 'void' + }, + 'serialOnWrite': { + // on error callback function parameters: ['function'], result: 'void' } }).symbols return { - error: (callback) => { + onError: (callback) => { serialFunctions.serialOnError(new Deno.UnsafeCallback({ - parameters: ['i32'], + parameters: ['u32'], + result: "void", + } as const, + (errorCode) => {callback(errorCode)}).pointer) + }, + onRead: (callback) => { + serialFunctions.serialOnRead(new Deno.UnsafeCallback({ + parameters: ['u32'], + result: "void", + } as const, + (bytes) => {callback(bytes)}).pointer) + }, + onWrite: (callback) => { + serialFunctions.serialOnWrite(new Deno.UnsafeCallback({ + parameters: ['u32'], result: "void", } as const, - (code) => {callback(code)}).pointer) + (bytes) => {callback(bytes)}).pointer) }, open: serialFunctions.serialOpen, close: serialFunctions.serialClose, From 203342c579c0046e8427696cf679c4cc64842c52 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:11:29 +0200 Subject: [PATCH 105/138] Update serial_windows.cpp --- src/src/serial_windows.cpp | 66 +++++++++++++++++++++++++------------- 1 file changed, 43 insertions(+), 23 deletions(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index b30f4b1..eaa2303 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -9,9 +9,9 @@ DCB dcbSerialParams = {0}; COMMTIMEOUTS timeouts = {0}; std::string data; -void (*callback)(int errorCode); - -#define CALLBACK_STOP(errorCode) callback(status(errorCode)); return; +void (*errorCallback)(int errorCode); +void (*readCallback)(int bytes); +void (*writeCallback)(int bytes); void serialOpen( void* port, @@ -37,17 +37,20 @@ void serialOpen( // Error if open fails if (hSerialPort == INVALID_HANDLE_VALUE) { - CALLBACK_STOP(StatusCodes::INVALID_HANDLE_ERROR); + errorCallback(status(StatusCodes::INVALID_HANDLE_ERROR)); + return; } // Error if configuration get fails if (!GetCommState(hSerialPort, &dcbSerialParams)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - CALLBACK_STOP(StatusCodes::CLOSE_HANDLE_ERROR); + errorCallback(status(StatusCodes::CLOSE_HANDLE_ERROR)); + return; } - CALLBACK_STOP(StatusCodes::GET_STATE_ERROR); + errorCallback(status(StatusCodes::GET_STATE_ERROR)); + return; } dcbSerialParams.BaudRate = baudrate; @@ -59,10 +62,12 @@ void serialOpen( if (!SetCommState(hSerialPort, &dcbSerialParams)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - CALLBACK_STOP(StatusCodes::CLOSE_HANDLE_ERROR); + errorCallback(status(StatusCodes::CLOSE_HANDLE_ERROR)); + return; } - CALLBACK_STOP(StatusCodes::SET_STATE_ERROR); + errorCallback(status(StatusCodes::SET_STATE_ERROR)); + return; } timeouts.ReadIntervalTimeout = 50; @@ -75,22 +80,26 @@ void serialOpen( if (!SetCommTimeouts(hSerialPort, &timeouts)) { // Error if close fails if (!CloseHandle(hSerialPort)) { - CALLBACK_STOP(StatusCodes::CLOSE_HANDLE_ERROR); + errorCallback(status(StatusCodes::CLOSE_HANDLE_ERROR)); + return; } - - CALLBACK_STOP(StatusCodes::SET_TIMEOUT_ERROR); + + errorCallback(status(StatusCodes::SET_TIMEOUT_ERROR)); + return; } } void serialClose() { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { - CALLBACK_STOP(StatusCodes::INVALID_HANDLE_ERROR); + errorCallback(status(StatusCodes::INVALID_HANDLE_ERROR)); + return; } // Error if close fails if (!CloseHandle(hSerialPort)) { - CALLBACK_STOP(StatusCodes::CLOSE_HANDLE_ERROR); + errorCallback(status(StatusCodes::CLOSE_HANDLE_ERROR)); + return; } } @@ -102,7 +111,7 @@ auto serialRead( ) -> int { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { - callback(status(StatusCodes::INVALID_HANDLE_ERROR)); + errorCallback(status(StatusCodes::INVALID_HANDLE_ERROR)); return 0; } @@ -112,7 +121,7 @@ auto serialRead( // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { - callback(status(StatusCodes::SET_TIMEOUT_ERROR)); + errorCallback(status(StatusCodes::SET_TIMEOUT_ERROR)); return 0; } @@ -120,10 +129,11 @@ auto serialRead( // Error if read fails if (!ReadFile(hSerialPort, buffer, bufferSize, &bytesRead, NULL)) { - callback(status(StatusCodes::READ_ERROR)); + errorCallback(status(StatusCodes::READ_ERROR)); return 0; } + readCallback(bytesRead); return bytesRead; } @@ -136,7 +146,7 @@ auto serialReadUntil( ) -> int { // Error if handle is invalid if (hSerialPort == INVALID_HANDLE_VALUE) { - callback(status(StatusCodes::INVALID_HANDLE_ERROR)); + errorCallback(status(StatusCodes::INVALID_HANDLE_ERROR)); return 0; } @@ -146,7 +156,7 @@ auto serialReadUntil( // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { - callback(status(StatusCodes::SET_TIMEOUT_ERROR)); + errorCallback(status(StatusCodes::SET_TIMEOUT_ERROR)); return 0; } @@ -158,7 +168,7 @@ auto serialReadUntil( // Error if read fails if (!ReadFile(hSerialPort, bufferChar, sizeof(bufferChar), &bytesRead, NULL)) { - callback(status(StatusCodes::READ_ERROR)); + errorCallback(status(StatusCodes::READ_ERROR)); return 0; } @@ -171,6 +181,7 @@ auto serialReadUntil( memcpy(buffer, data.c_str(), data.length() + 1); + readCallback(data.length()); return data.length(); } @@ -188,16 +199,17 @@ auto serialWrite( // Error if timeout set fails if (!SetCommTimeouts(hSerialPort, &timeouts)) { - callback(status(StatusCodes::SET_TIMEOUT_ERROR)); + errorCallback(status(StatusCodes::SET_TIMEOUT_ERROR)); return 0; } // Error if write fails if (!WriteFile(hSerialPort, buffer, bufferSize, &bytesWritten, NULL)) { - callback(status(StatusCodes::WRITE_ERROR)); + errorCallback(status(StatusCodes::WRITE_ERROR)); return 0; } + writeCallback(bytesWritten); return bytesWritten; } @@ -232,7 +244,7 @@ auto serialGetPortsInfo( // Error if buffer size is to small if (result.length() + 1 > bufferSize) { - callback(status(StatusCodes::BUFFER_ERROR)); + errorCallback(status(StatusCodes::BUFFER_ERROR)); return 0; } @@ -242,7 +254,15 @@ auto serialGetPortsInfo( } void serialOnError(void (*func)(int errorCode)){ - callback = func; + errorCallback = func; +} + +void serialOnRead(void (*func)(int bytes)){ + readCallback = func; +} + +void serialOnWrite(void (*func)(int bytes)){ + writeCallback = func; } #endif From 3c86c0f06dbef20dd34c11e37d59dc967ffaedc7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 15:14:36 +0000 Subject: [PATCH 106/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 18944 -> 18944 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 7eb8f09bccd8623aeaaf8d0add870e9c3dca28db..a371805601de46fd3686f8081b613164ef6fe736 100644 GIT binary patch delta 4436 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 ARsaA1 delta 4449 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 BShfHF From 01487e58a34c9ec4e8b3c8aafd0dfee7c32b7cc1 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:14:51 +0200 Subject: [PATCH 107/138] Update serial_functions.d.ts --- lib/interfaces/serial_functions.d.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/interfaces/serial_functions.d.ts b/lib/interfaces/serial_functions.d.ts index f45bc38..890b9c4 100644 --- a/lib/interfaces/serial_functions.d.ts +++ b/lib/interfaces/serial_functions.d.ts @@ -4,15 +4,6 @@ import { Parity } from "../constants/parity.ts"; import { StopBits } from "../constants/stop_bits.ts"; export interface SerialFunctions { - onError : (callback : ( - code : number - ) => void) => void, - onRead : (callback : ( - bytes : number - ) => void) => void, - onWrite : (callback : ( - bytes : number - ) => void) => void, open : ( port : Uint8Array, baudrate : Baudrate, @@ -44,5 +35,14 @@ export interface SerialFunctions { buffer : Uint8Array, bufferSize : number, separator : Uint8Array - ) => number + ) => number, + onError : (callback : ( + code : number + ) => void) => void, + onRead : (callback : ( + bytes : number + ) => void) => void, + onWrite : (callback : ( + bytes : number + ) => void) => void } From 86078678ac4c9a3996dea5dadf9fd08a5fb4569d Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:14:52 +0200 Subject: [PATCH 108/138] Update serial.h --- src/include/serial.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/include/serial.h b/src/include/serial.h index d52c8ce..ec2c7da 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -58,6 +58,10 @@ extern "C" { MODULE_API auto serialOnError(void (*func)(int code)) -> void; + MODULE_API auto serialOnRead(void (*func)(int bytes)) -> void; + + MODULE_API auto serialOnWrite(void (*func)(int bytes)) -> void; + #ifdef __cplusplus } #endif From f28bc5a8c673c531f232bf5d760c4ebdc1c2d5e4 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:19:10 +0200 Subject: [PATCH 109/138] Update serial.h --- src/include/serial.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/include/serial.h b/src/include/serial.h index ec2c7da..5eae45f 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -14,6 +14,10 @@ # define MODULE_API #endif +extern void (*errorCallback)(int errorCode); +extern void (*readCallback)(int bytes); +extern void (*writeCallback)(int bytes); + #ifdef __cplusplus extern "C" { #endif @@ -56,11 +60,17 @@ extern "C" { void* separator ) -> int; - MODULE_API auto serialOnError(void (*func)(int code)) -> void; + MODULE_API auto inline serialOnError(void (*func)(int code)) -> void { + errorCallback = func; + }; - MODULE_API auto serialOnRead(void (*func)(int bytes)) -> void; + MODULE_API auto inline serialOnRead(void (*func)(int bytes)) -> void { + readCallback = func; + }; - MODULE_API auto serialOnWrite(void (*func)(int bytes)) -> void; + MODULE_API auto inline serialOnWrite(void (*func)(int bytes)) -> void { + writeCallback = func; + }; #ifdef __cplusplus } From 1b7595dc34e05be66bd8ba9c66b547863d7ca308 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:19:12 +0200 Subject: [PATCH 110/138] Update serial_unix.cpp --- src/src/serial_unix.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index 482cc9b..f7bf901 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -12,7 +12,9 @@ int hSerialPort; termios2 tty; -void (*callback)(int code); +void (*errorCallback)(int errorCode); +void (*readCallback)(int bytes); +void (*writeCallback)(int bytes); namespace helper { void Callback(StatusCodes errorCode){ @@ -21,10 +23,6 @@ namespace helper { } } -void serialOnError(void (*func)(int code)){ - callback = func; -} - void serialOpen( void* port, const int baudrate, From c6e43bfc8b116839f84980df6efc81d05a9d6e35 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:19:14 +0200 Subject: [PATCH 111/138] Update serial_windows.cpp --- src/src/serial_windows.cpp | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index eaa2303..f2d0595 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -252,17 +252,4 @@ auto serialGetPortsInfo( return portsCounter; } - -void serialOnError(void (*func)(int errorCode)){ - errorCallback = func; -} - -void serialOnRead(void (*func)(int bytes)){ - readCallback = func; -} - -void serialOnWrite(void (*func)(int bytes)){ - writeCallback = func; -} - #endif From a4f8c14d09750f97c38554e7aa1195fbae7bf67e Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:20:55 +0200 Subject: [PATCH 112/138] Update serial_unix.cpp --- src/src/serial_unix.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index f7bf901..e2452f3 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -16,13 +16,6 @@ void (*errorCallback)(int errorCode); void (*readCallback)(int bytes); void (*writeCallback)(int bytes); -namespace helper { - void Callback(StatusCodes errorCode){ - static std::string msg = ""; - callback(status(errorCode)); - } -} - void serialOpen( void* port, const int baudrate, From 917352ac8002b706d41a4bff5a0a95cfa4f741b4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 15:21:52 +0000 Subject: [PATCH 113/138] Commited compiled binaries --- lib/bin/linux.so | Bin 17360 -> 16872 bytes lib/bin/windows.dll | Bin 18944 -> 18944 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 549db8d9efa7ff8f8008296568dd96d509b18330..1ea6465e34a4c77b374e17ae421b9789920ff7b2 100644 GIT binary patch delta 3250 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 I!NH3E0x&SK7XSbN diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index a371805601de46fd3686f8081b613164ef6fe736..d532c6303f2068cb7184df3752506f56943e398b 100644 GIT binary patch delta 5071 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 YLgt{Y1Y8Gco6f!qY3qrd_Wg)|1BMm)!T Date: Mon, 29 May 2023 17:28:00 +0200 Subject: [PATCH 114/138] Update serial.h --- src/include/serial.h | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/include/serial.h b/src/include/serial.h index 5eae45f..6eded48 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -60,17 +60,11 @@ extern "C" { void* separator ) -> int; - MODULE_API auto inline serialOnError(void (*func)(int code)) -> void { - errorCallback = func; - }; + MODULE_API auto serialOnError(void (*func)(int code)) -> void; - MODULE_API auto inline serialOnRead(void (*func)(int bytes)) -> void { - readCallback = func; - }; + MODULE_API auto serialOnRead(void (*func)(int bytes)) -> void; - MODULE_API auto inline serialOnWrite(void (*func)(int bytes)) -> void { - writeCallback = func; - }; + MODULE_API auto serialOnWrite(void (*func)(int bytes)) -> void; #ifdef __cplusplus } From 1d4eee39ac99fd328dfb717b1d074146a205e1aa Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:28:02 +0200 Subject: [PATCH 115/138] Update serial_windows.cpp --- src/src/serial_windows.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index f2d0595..184b8e0 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -252,4 +252,17 @@ auto serialGetPortsInfo( return portsCounter; } + +auto serialOnError(void (*func)(int code)) -> void { + errorCallback = func; +}; + +auto serialOnRead(void (*func)(int bytes)) -> void { + readCallback = func; +}; + +auto serialOnWrite(void (*func)(int bytes)) -> void { + writeCallback = func; +}; + #endif From 9d7e77fa5b1a916287c9a750e6b45c9e36ac77fa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 15:29:18 +0000 Subject: [PATCH 116/138] Commited compiled binaries --- lib/bin/windows.dll | Bin 18944 -> 19456 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index d532c6303f2068cb7184df3752506f56943e398b..fcf212085095d92ee3342c5402d6ec6f974d9a68 100644 GIT binary patch delta 5219 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 From 0f312e788a80e71ac11751ef6adcf8a1a45a0c43 Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:42:04 +0200 Subject: [PATCH 117/138] Update register_serial_functions.ts --- lib/register_serial_functions.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 3aebd9f..60d0ab2 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -101,6 +101,12 @@ export function registerSerialFunctions( }).symbols return { + open: serialFunctions.serialOpen, + close: serialFunctions.serialClose, + read: serialFunctions.serialRead, + readUntil: serialFunctions.serialReadUntil, + write: serialFunctions.serialWrite, + getPortsInfo: serialFunctions.serialGetPortsInfo, onError: (callback) => { serialFunctions.serialOnError(new Deno.UnsafeCallback({ parameters: ['u32'], @@ -121,13 +127,7 @@ export function registerSerialFunctions( result: "void", } as const, (bytes) => {callback(bytes)}).pointer) - }, - open: serialFunctions.serialOpen, - close: serialFunctions.serialClose, - read: serialFunctions.serialRead, - readUntil: serialFunctions.serialReadUntil, - write: serialFunctions.serialWrite, - getPortsInfo: serialFunctions.serialGetPortsInfo + } } } From 925dbb6206c8f81433117120816ec1e07611761b Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 17:42:06 +0200 Subject: [PATCH 118/138] Update Serial.ts --- lib/Serial.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/Serial.ts b/lib/Serial.ts index 96211f3..8bb631a 100644 --- a/lib/Serial.ts +++ b/lib/Serial.ts @@ -25,6 +25,14 @@ export class Serial { this._dl.onError((code) => { throw new Error(`An error has occurred. Error code: ${code}`); }); + + this._dl.onRead((bytes) => { + console.log('onRead():', bytes); + + }) + this._dl.onWrite((bytes) => { + console.log('onWrite():', bytes); + }) } /** From 72b94aa86be349d00a594b4397af17946866b8fe Mon Sep 17 00:00:00 2001 From: Katze719 Date: Mon, 29 May 2023 15:45:34 +0000 Subject: [PATCH 119/138] Co-authored-by: Mqx --- src/src/serial_unix.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index e2452f3..b62b031 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -146,6 +146,18 @@ auto serialWrite( return write(hSerialPort, tmp.c_str(), tmp.length() + 1); } +auto serialOnError(void (*func)(int code)) -> void { + errorCallback = func; +}; + +auto serialOnRead(void (*func)(int bytes)) -> void { + readCallback = func; +}; + +auto serialOnWrite(void (*func)(int bytes)) -> void { + writeCallback = func; +}; + // auto getPortsInfoUnix( // void* buffer, // const int bufferSize, From f4997af1cb08062f8274f9f2fad72a10fce9f339 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 15:46:53 +0000 Subject: [PATCH 120/138] Commited compiled binaries --- lib/bin/linux.so | Bin 16872 -> 16984 bytes lib/bin/windows.dll | Bin 19456 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 1ea6465e34a4c77b374e17ae421b9789920ff7b2..71fef72ab9804c386fcf233f17ed0d6db16e346c 100644 GIT binary patch delta 2093 zcmZ`)T}%{L6ux(tWp|LD9ex~ED!WUufRT_CH5v*8Nwy0Yu(3l89 zR8nk#L#?JS@Sv$_478J`OKO{?Kgp8xVT}#paecB660M+Vd6}L&a|f}tXLIhi=kMOR zbH97$k0H7=Ovm!*mGS&?VQCZ5WNF+l3(FSWSRS92eG?|#Fp$`Fn>onSrMKUfmi4~A)uF#0OXq*-2XRI9iOQVu9|9^`ht~{^Vj#4t`2NFbn;Qx z%PUV>Wj2i&H4T*|TTycx2V5j^pwXLmJ#2DO8;fm5%|adhtRTLsdUfo5`NJ=&eYXAZ zf;ltseqPYJ`Rz+L@6=AGfX|evG@ECsqXqYwN|MQJ2G*gZ=s-F_u*hORkA{sXcr5QZ z&ZAc(TS&yKC);?kpiSg8YZwsC&w=% zSK`Q4Zue~Q3+$-!_yi%iYm;ag{<|r!z_cK3i*ATIj1c0| z27fxdAsnGj<)$!X`NnRg@SSK^B=H2LMQ|?l1dS=nsXv%XkEb~I5wen!y;k?JW$O+? z>P9Ml9^>}o{AcZDZYy79xDzH^O=lUW6H%iNRP`d_>_b(ZMGPZG5Xb&hRranBF^bQX%A>5}choB|=$7a#Tytzfn}1mQ2<=2%qgROq(U@XJgzaxFamV z%X9-g#ggM&w4c{seqz}UMwaJwtTonss14?eCF;?}SJ~)jLNc-ZUF@_`+&YjWTFz;3 zmt?^&#p#Y|%wwy@ym~?b&$|Y1l}J?4vVYaaMK*e#@Ojt!9M6x#x69VE^Ysj}*+DFo zXaU?UksNz@PM8N9a8FF$)N)$1u@`)$l4FQxw({AG(*fmlX&X)4*g4^L+2tg|p|x4% zc)6Kc8@jaasT{4an4n|#6m12eQcg8kU?4HWfyzSBAd7(|Fj6Ut!<+>M;ti~ng$VaX zfL4_Y24Om2uqq9js&W$yN=+pw=c@Kos=~q^Sum&?16qB724JLG7Q-%W|HQysuuv@v zXL5A!8K5=g!ul5&d}xLFmo^N8Xg&Sz&exQSMvDz;Uruajir}rGCc6a=_{xN6sXps9 N81a?U9+>xS{|D<9s>=WX delta 1670 zcmZ`(Z%iCj5P!3GS8nfGygi@`XyvZaawO%Jqest!E9@za^xgTs3h`73j_rc zO+~ce9}?)aT4O(W(GS(o6x?bGMpM5S(oaj;#ET~O`U#?~LM2ANbe*^RR_g~RnfdL^ z&di(lX5P!c3Cp7}8H3nVO-l9$nN9wwPEDTkIm+BrPRlk+j^ZK3Ydl^xy=b-ZCE4ii~e7xI+3XkKa^TpgD?Ghdg=W9(K|O}jm=4#^zU7q>0hM}8{MSjpe6E|$yNG=+Y{QG^$lu2n zg+5So+|Rf7^KJ2;h<`j^X=mpq-ilwiEklMAQ}0t_ylhQ4y9~Oe<7oj4+F(qWEN*BPx_(r%3mW>DfyZdtvAGb@&Litr-g4B_OeWu2$8dT(0R0=NHRS*4^G z2xGkbHOtZoBZLEh^O0?E5U)k56Cp|<29d((5Qq;E`^j!{gP=Wx1H>O=I{HZMr?iaN ztQ~QM{>+dq%Dwj#hYl9|?Y3PfbpdCicf%r@(b52qYos!~kK=FAo$3|ZO%=I#d0g?~ zQQtA|d!7l&7~Gl-($0JELT!11x0sUvdn9hxc?&reJHXB&#H*BPKB`1~S~;1Rh*v=# z55%?TU*cNwo^aCbxo0fks4R%N_`a;k&zq>o0ag%gcDubI?81$e3;mX59pRrkCbTN> z;sNagC>T&T2DJR!2|gHei3i~xg!)04#^HJm3iw(5Zv4s)ETXu7a`;*=> zg;lbG?zn6hp6}pDQiW5t=jXQkn#(OeiOeC9*&Tx=vPb9%DDipdIK%u4Dlyxj!o8@F zOmbPVm;Uk9HfEh=ykfPdFxQ~^x}wu_He7Gklrs@$D=xl{=@w0nZFQ_M>}yHM?t?)INz02TJddlS{rjLN n^ps+XXT#K-_&Q@)Zvkn+i}Tr?@_2(|eHGWUDH^fF{ndX1CP!ds diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index fcf212085095d92ee3342c5402d6ec6f974d9a68..d69cbfbfa90c78b939903d54907767d0245d8aba 100644 GIT binary patch delta 24 dcmZpe!Pqc^aRDRKy%U?67@KrKbemq4EC6+r35Ngx delta 24 dcmZpe!Pqc^aRDRK!6TcQ7@KrKbemq4EC6!F2}J+^ From bbce86d46fe1b2fa9976e0a6497925e5f0dbf8f5 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Mon, 29 May 2023 15:48:16 +0000 Subject: [PATCH 121/138] fix --- src/src/serial_unix.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index b62b031..9e6115a 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -158,6 +158,10 @@ auto serialOnWrite(void (*func)(int bytes)) -> void { writeCallback = func; }; +auto serialGetPortsInfo(void *buffer, const int bufferSize, void *separator) -> int { + return 0; +} + // auto getPortsInfoUnix( // void* buffer, // const int bufferSize, From 29e89cae06857a97cdd603c06f62bd69b3e72daa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 15:49:35 +0000 Subject: [PATCH 122/138] Commited compiled binaries --- lib/bin/linux.so | Bin 16984 -> 17024 bytes lib/bin/windows.dll | Bin 19456 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 71fef72ab9804c386fcf233f17ed0d6db16e346c..d1655ad71577af90ef9f7912cc76fcffafc91be6 100644 GIT binary patch delta 1294 zcmZuwT}V_x6h3ozx81wyx~preV!7AIAEI5Y{7qc9pe+ots4y@}sK|=^+X#b5s3>}< zwIkuP9VD88F&H3h@IWseNgALte zu}U^ITvhLMXG133*~8}o>Z;9PtHWbK^{HZzrxPC|OpO`@qFALQyl-|NdlbJnbh+fx z{^{daHcuDoo?(gop5IG%f@9B>Y?7MiT2Y=gd<4s5C8W}RdfWa&gH!(kr z_VU3j00;b%2@EXoTF$r9{JX??+L#>_+L7=K&L$||204;PtL{61JjHUy!apzlln&nR z?i_%1Wl$~+Bf}5Y0a&40@=L|tDu4nzu}dAmB{e%|CM1kxqOk$LsP~v(zv^tWJ$KLB z?6DuY8-LYI>7NRUo%j8RuZiB$4QJisw>K9NqZK3n_Y ze~(aq+)%CHTvME#!oi(EkJ%U#3vrTEvwbE;aE;U?y)F?Z?!w0Apwny@sMz0Jr^aRX z;yBSscIYc2)cVilZXr delta 1143 zcmYjPUr19?7(eH3bGvhz)7e^<+m%X1+ck44x^!A#AmpL~dyr-nXh~WrDhLg<^g&7e zB(x_-GB!Qx-Nd$5F&UP;Jjqm*S`~IBs{kh?%bZv-^7tra6 z!V2qJDoMy%>cl;-ylqOd?TLsgPfAHL`DVR=${k5UI-pRBI{F?}Pc6+|@*RXvU+dg^ zP_%y-QejJSIc(uzpkOX0d8j1|GmfI>fXmtBsxyovk~yt{DHLNLcH>gV~N zg^%CoXm3v=B!y&2BscNs)WnMvLX6}jCh#J9jUGmNDBfF25Vyod00|nB+?oVZ1`%(QeO6Gju(knJRb?4J z2`-GWPL3j#;BFFpNV}>=CE5qHw3o)U{?Z!~d^(@$I>f2u2Qy$PnKMie4#btG;bXTdh1pv}}aNH~#=x(a#4mo&ZxrM`mp Iz|H#nf98My6#xJL diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index d69cbfbfa90c78b939903d54907767d0245d8aba..897277a69815e25c688b913590554fb451eb946b 100644 GIT binary patch delta 24 dcmZpe!Pqc^aRDP!%gN15j7_>Ax=pW2765JQ2-N@p delta 24 dcmZpe!Pqc^aRDRKy%U?67@KrKbemq4EC6+r35Ngx From bee57fc8ded132ced524c5653de4f08b18a776c0 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Mon, 29 May 2023 15:57:00 +0000 Subject: [PATCH 123/138] fix --- src/src/serial_unix.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index 9e6115a..1ba0b30 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -1,3 +1,4 @@ +#include #if defined(__unix__) || defined(__unix) || defined(__APPLE__) #include "serial.h" #include // UNIX standard function definitions @@ -143,7 +144,16 @@ auto serialWrite( std::string tmp(static_cast(buffer), bufferSize); - return write(hSerialPort, tmp.c_str(), tmp.length() + 1); + int bytesWritten = write(hSerialPort, tmp.c_str(), tmp.length() + 1); + + if (bytesWritten > 0){ + return bytesWritten; + } + + std::ofstream("log.log", std::ios::out) << bytesWritten; + + errorCallback(status(StatusCodes::WRITE_ERROR)); + return 0; } auto serialOnError(void (*func)(int code)) -> void { From 936ac5fad3b77a93541acf090a3aa33bd5625206 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 15:58:31 +0000 Subject: [PATCH 124/138] Commited compiled binaries --- lib/bin/linux.so | Bin 17024 -> 22640 bytes lib/bin/windows.dll | Bin 19456 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index d1655ad71577af90ef9f7912cc76fcffafc91be6..2b1b398539ea7788227b5801f7c241c52513bcd8 100644 GIT binary patch literal 22640 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 JYp}8Ge*tH=OmP4J literal 17024 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 f`5SfasHKqWWm&x4Eh4h$;2K>5*YD-y&v diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 897277a69815e25c688b913590554fb451eb946b..11539ddc6f23b1e7cddc0448cb33ce47aaa7a091 100644 GIT binary patch delta 5554 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 From 2c3c75ea9fd3ec8f842e713add0bedb6394de8b6 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Mon, 29 May 2023 16:04:27 +0000 Subject: [PATCH 125/138] fix --- lib/register_serial_functions.ts | 44 ++++++++++++++++---------------- src/src/serial_unix.cpp | 8 +++--- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/lib/register_serial_functions.ts b/lib/register_serial_functions.ts index 60d0ab2..94e6351 100644 --- a/lib/register_serial_functions.ts +++ b/lib/register_serial_functions.ts @@ -11,13 +11,13 @@ export function registerSerialFunctions( // Port 'buffer', // Baudrate - 'u32', + 'i32', // Data Bits - 'u32', + 'i32', // Parity - 'u32', + 'i32', // Stop Bits - 'u32' + 'i32' ], // Status code result: 'void' @@ -25,63 +25,63 @@ export function registerSerialFunctions( 'serialClose': { parameters: [], // Status code - result: 'u32' + result: 'i32' }, 'serialRead': { parameters: [ // Buffer 'buffer', // Buffer Size - 'u32', + 'i32', // Timeout - 'u32', + 'i32', // Multiplier - 'u32' + 'i32' ], // Bytes read - result: 'u32' + result: 'i32' }, 'serialReadUntil': { parameters: [ // Buffer 'buffer', // Buffer Size - 'u32', + 'i32', // Timeout - 'u32', + 'i32', // Multiplier - 'u32', + 'i32', // SearchString 'buffer' ], // Bytes read - result: 'u32' + result: 'i32' }, 'serialWrite': { parameters: [ // Buffer 'buffer', // Buffer Size - 'u32', + 'i32', // Timeout - 'u32', + 'i32', // Multiplier - 'u32' + 'i32' ], // Bytes written - result: 'u32' + result: 'i32' }, 'serialGetPortsInfo': { parameters: [ // Buffer 'buffer', // Buffer Size - 'u32', + 'i32', // Separator 'buffer' ], // Amount of ports - result: 'u32' + result: 'i32' }, 'serialOnError': { // on error callback function @@ -109,21 +109,21 @@ export function registerSerialFunctions( getPortsInfo: serialFunctions.serialGetPortsInfo, onError: (callback) => { serialFunctions.serialOnError(new Deno.UnsafeCallback({ - parameters: ['u32'], + parameters: ['i32'], result: "void", } as const, (errorCode) => {callback(errorCode)}).pointer) }, onRead: (callback) => { serialFunctions.serialOnRead(new Deno.UnsafeCallback({ - parameters: ['u32'], + parameters: ['i32'], result: "void", } as const, (bytes) => {callback(bytes)}).pointer) }, onWrite: (callback) => { serialFunctions.serialOnWrite(new Deno.UnsafeCallback({ - parameters: ['u32'], + parameters: ['i32'], result: "void", } as const, (bytes) => {callback(bytes)}).pointer) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index 1ba0b30..3d6fe27 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -5,6 +5,8 @@ #include // File control definitions #include // Used for TCGETS2, which is required for custom baud rates #include +#include +#include // #include @@ -142,15 +144,15 @@ auto serialWrite( const int multiplier ) -> int { - std::string tmp(static_cast(buffer), bufferSize); + const char* tmp = static_cast(buffer); - int bytesWritten = write(hSerialPort, tmp.c_str(), tmp.length() + 1); + int bytesWritten = write(hSerialPort, tmp, bufferSize); if (bytesWritten > 0){ return bytesWritten; } - std::ofstream("log.log", std::ios::out) << bytesWritten; + std::ofstream("log.log", std::ios::out) << strerror(errno); errorCallback(status(StatusCodes::WRITE_ERROR)); return 0; From 1130e27c7f7d124fe392db13799aacfb8afbeaff Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 16:06:09 +0000 Subject: [PATCH 126/138] Commited compiled binaries --- lib/bin/linux.so | Bin 22640 -> 22512 bytes lib/bin/windows.dll | Bin 19456 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 2b1b398539ea7788227b5801f7c241c52513bcd8..7a542daedfa597f1b4bdee74fdb9ec0e5d8d1f11 100644 GIT binary patch delta 4153 zcmai1dvKK16~A{MNj8st1aNnekWKs&HjwOYf*}!`$1Wj!3kxhHA(4km1R~Lxl&};~ z$Al(8)@4o7<8-jnHdKefPAS1qO9jhPw5TIU)KSVG9qQ=J7YCa}5D>-fx!(iVopyS6 zzI)F3oyUEhyWjaHhUvsnI$)=+!Gf|>!9>I+mbBl-)$rM zK7Y0SP*i23DNL7-Pa#;)6m7Z0%?# zTZ5g5baXPNZBsi5tgZ_d&kF=Pn4EpjT9PD73Zh0E4Pq1% zhxL@G;9y2}7mLNDmo$VJk+#rimWF3n)wY4>a5H0yegW1Xk-8Q`y^Bbp%VOSejDpC3R5I=0u zo2^DpLNED$ti1#W^;4{JVu-5!%O#5>Bsw^czJ(GX_J`xNMQ}%NrfD$E;ItOR*}NTR z!@)X(*=ml{UW(INAcESgIIR$;wZR((b4E^__7+U)&3RYkHDG#^d*ieg8E1)1Ayb|jtm&eJpQWf zIE7&Dl$A>zc+awH2)SmMdHbta-ogaAB0(-qkc$%JJjcjb&MeyH3*8j@VzC$>8W*Ax z^@Tncb~84-K;T1bIh!x^w8qAVwKhB$Uuc}~i5mG(FK5C15Zb<%e0$MB=tn_VjojEa z%ph^Pe5Ar%LG~6>gxxHMijz4d)Kma49WrL;J_q49{fLLRDTrT?X&xZBD6} zO-Q(WtR1TIXXvdc@EbnnL*IwXg^!>$-;sL+bC3^}pB-RFf{WUgAU{z6f6344lDyoj z+zsyfhB|)N)pE@KjeJ;>XBXGe%h?eqj$(wZ7y-lgejAIqL($#QXNvf+q~6HSk?ak- zRcOucdXq(|2}ReebFX!;b3g13oE`8*{vaNTFA`*jHZG)Lpe~Gi97k#~j7N)a7z%nh zyt{;*A>)mVm(Q{|+Jf9IJXLgg1zq@az1###dN$8+Q;ILV!^nr9l9Pho^o6Q~hj0ko z>0dGPNE>IzJn}|rI13-D;cSfSs#f9)-`{4r@^3b?`_S!mBa0g;-J600vGPrA32HdIuv3hB_o|F5x5dp&d!k)G+?4?qFsyAx#p&-bTVuwB#nG`W zyfiHiLv}9?gU7$!)^kB4Y{Q^q8EC>|dg6xcU>hRpsPGWeEkvDg8Uu>S7kX=~2T{g* zLvN1lm3bcVtUYl;-(CLP*l&?1BaYc0Xh()Jt7&pu$DV7Y5rvvDF8W6K_zjKxkM z9Y%T)sq0!Sc0Z4e0@-E~LXqtKluz z9PN&A90k61-B)}C$79)`w5iCf#pe>@-Ds~g9+@CM>%m*Rq-Z0~B2!i|kB{*ADPlPc zP1Dwur`~x9`)s^{zchZhd)A@*@3&Mpc`tFR#(N+&en4s*SQ9%rV%@I=tSV8BO;S2Xus@<(64@Oj4 zd>`*umEv3bfLi-64LPaS4r=KE4Vu5E(IWhThQT;*vBh4@pqex{zNhfjayixOmtW7y zYg(~ml>=*v%qop|nN}!GM5Yt_ z3TbZmCn&Zfvb`~(3_b~iHD>ybShB0c0(}bm0I)7mE5)_spCiXvCE6Skd+BrFTaj;s zV++mJHF%C}bXUUYtzx&1O47# z<|`i_KeE`~*&5swkHDJ6^R?oa3G7{*51%Yh~t5gJ-$K}8(`$ZvRoDTRY@@6ze4xJ=nAK4LSD5(4PaX7G?5HxOBDJD ztUz?Lj4E^h23I;$Z^!N5{=hO|$2{{b!)Rmc{vZT;%Fx5LV zmAkLdBU)Hl??|1%w>@ikO`ol=#Tz|Z@6`S9@vUnp)AhL|lRoe^l$qK}BuSzEk->&4 z_6IY%%BfTS3NC@Ju}URW!{WwDMxJe~)LGn;<6#(WEYn37Nz!64HI>m+@HWl*4^-Sc A^#A|> delta 4733 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 yN?kfmgqjs9eAx=pW2765CJ2%i7| delta 24 dcmZpe!Pqc^aRDRKw9}iJ7@KrKbemq4EC6qx2>k#6 From 824ad470a8e0ed55ee355c5834531a5a016e9bf0 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Mon, 29 May 2023 16:09:10 +0000 Subject: [PATCH 127/138] fix --- src/src/serial_unix.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index 3d6fe27..e1775ff 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -15,6 +15,8 @@ int hSerialPort; termios2 tty; +std::ofstream log("log.log", std::ios::out); + void (*errorCallback)(int errorCode); void (*readCallback)(int bytes); void (*writeCallback)(int bytes); @@ -29,12 +31,11 @@ void serialOpen( char *portName = static_cast(port); // Open new serial connection hSerialPort = open(portName, O_RDWR); + + log << strerror(errno); // Error if open fails ioctl(hSerialPort, TCGETS2, &tty); - // if (tcgetattr(hSerialPort, &tty) != 0) { - // returnStatus(StatusCodes::INVALID_HANDLE_ERROR); - // } tty.c_cflag &= ~PARENB; // Clear parity bit, disabling parity (most common) tty.c_cflag &= ~CSTOPB; // Clear stop field, only one stop bit used in communication (most common) @@ -152,7 +153,7 @@ auto serialWrite( return bytesWritten; } - std::ofstream("log.log", std::ios::out) << strerror(errno); + log << strerror(errno); errorCallback(status(StatusCodes::WRITE_ERROR)); return 0; From 4f97208bb80d76c88b016fdc69a985b4d35e7436 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 16:10:55 +0000 Subject: [PATCH 128/138] Commited compiled binaries --- lib/bin/linux.so | Bin 22512 -> 17016 bytes lib/bin/windows.dll | Bin 19456 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 7a542daedfa597f1b4bdee74fdb9ec0e5d8d1f11..45419836d618d64d4c9ba10b8fa51909f349530c 100644 GIT binary patch literal 17016 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 literal 22512 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 l~+$}7u|_KZ&(ZU z_x5gwiiN|5>xiBwstQe;isRdoM!7X@^?KjhR;~4_7CM$d!yztOt6zcsmi1JMWL)bB z#6mclpk@S`-G>p|6gjzjmY1An|PkKbkI6^y1~@*2=Zj}lW7-tUNY~7m!PVT zaVkO{A~$7QwrMw7Hd4z(KJOtHLAb?7zh+40(p6&yDjW43|!4hkNnU5AsY;+a8_0kgsXm&u`Xr1$x;3fr&f#{JEkh=&4tKzPGF>R#Iu zf;Hxl4bIRA4+O(~x`x`|o@rQ>w_$06sCxd zN}ToV`Co~2TC-w(Ue{u}M=9bl7w?P5&-LT=rVYUGieT#VIvG=57lViq$c8o0x&p0H zasIq6#k5NabNN}0X%EtA&CBG~x)-m1jVXO9Kb6y7|82m?HtX{`8&h6q%T+k zH-S>%bvvew$}s7Zj$NPDFUTi&+?K(ePkH@Pp;Oxb4kTFh-AbRS@r?;9gI23J(|f>M z^$(mQ1(>p&Qk$axLz{kD=`$T9KRiD>On5yo; z;#2(hh|=fw7j;ThQG0&eer)iUHho_AVQQafxF50p3pV{-Dqp7jJrT>>^MAvpA6+IT znRc+EqW1jX1x{=1G&U&kx;dX`Y0r;&rXNAag^TrheQu9BUzFv@HU;LHehG~FKI`-P z6`xN!q52PZ1J>hqxevM|!uouE&)DSv5&9%Ce_5Yt8I-O1=6YD8R5@g7$_VQ*on_PK z^}Rz%pUcT+SdaO+&?k(`&+DEUrEf34n-vv3Rpno2!&!f^4X3(Nuu`+{%OvBs#wVG5 zYGR_Zfxd%_%g^&4{r|x%yHqiL(`zJi1;6mCG|rbrX>F#E{)y|P1g&dYgN+sc3%DYX Ac>n+a diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 835b77747483e157634e6c69bf2a7ce8407ac4c4..681062b2ed2fedb699eb9f5de2c1f7bedf9f78bc 100644 GIT binary patch delta 24 dcmZpe!Pqc^aRDP!^SRATj7_>Ax=pW2765KJ2;Bex delta 24 dcmZpe!Pqc^aRDP!>eAx=pW2765CJ2%i7| From ee77ddc4d2a0df583fd7205ce117bdf28d408f82 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Mon, 29 May 2023 16:14:55 +0000 Subject: [PATCH 129/138] fix --- src/src/serial_unix.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index e1775ff..e257163 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -1,6 +1,6 @@ -#include #if defined(__unix__) || defined(__unix) || defined(__APPLE__) #include "serial.h" +#include #include // UNIX standard function definitions #include // File control definitions #include // Used for TCGETS2, which is required for custom baud rates @@ -32,7 +32,13 @@ void serialOpen( // Open new serial connection hSerialPort = open(portName, O_RDWR); - log << strerror(errno); + if(hSerialPort == -1){ + log << strerror(errno); + } + else { + log << hSerialPort; + } + // Error if open fails ioctl(hSerialPort, TCGETS2, &tty); From 33c194e98db939624761fefbaf30d4bf91b19fe9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 16:17:29 +0000 Subject: [PATCH 130/138] Commited compiled binaries --- lib/bin/linux.so | Bin 17016 -> 17072 bytes lib/bin/windows.dll | Bin 19456 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 45419836d618d64d4c9ba10b8fa51909f349530c..33c6050a32389f1fee63eeb6c1ec31a2c0a562a3 100644 GIT binary patch delta 2744 zcmZ8j3v82B6u!6Jt7YqB4@(!I9S_~cwsz31L)OujP5wp1ArA$!z(gK1gok!v#7Jwl znf+;&Y&#@^M%|)f6vb&tBu1c!JX9pD5*;E*B|zE$y0IaP1Afo_A7$<~_nv#c@7#0l zEEmwR7uMEkddCDo)&xdKZhev z{?xn1P*ip4Udi0!r!O%BHP#%g%sL(G2MvMQMAzBiE<6xcS!o929>F>t%<5+;4?EQ+ z`j*(f4E<^weIKIOE(4lkqL&dd(N9FSO>CEoh(%<_M5G0JQr1y7!~JhiLb8dD^yOgy zEP6?hR>Y0OOd@Ux$dK{XvOSUQ*?d{qE8_!`{A`kOgNz3ybMl0Q`$;5MLJDMJCrTDL z=9U3@5B&=6mGBao{y`29nKU7Xj1S2Evt|2!#F_uIZU)RHL|NH4G7%Puhxj4cQ5ee8 zO!+a{&v`^y*@%_7%UldEr1?!-w{Irv)-GGIed{ZA&BW*1O`5lF@NI=y+Dv$?>Zwp; zdXz$mrm&vkX+MukGvIhTR^DHPS_d-7*_+i)3=e0ifEsbUKu3P39RACAQ&3l9GnP42{UHMldE3xUq8{N*dP}=F3$Dx6gdo?Ix|WFrW4=5tn0kN>=?MEYLQHQ75SHvG z#SXJ{m5T!^ieX{)G};2sWf$eBZ~z9m=F7x@=TV8*!`|$M72E?sSQ@NIV77Yrw6-xp z-+qT#23_wW#Gj78DH_b##|(ls$BI{$1j@rp`77~dNQ`*&ds1e5g0-_VHhJ{hejCy6 z$vOnjf1$wx0iv?ZsA(KNHVI9Vg#~-_26~ zI>&z-_ac(Gj*}ISCvf$C;2agbB{t$dE8CnEP-d1`SC9}vhF>}U0nYp|e4Jb6zg$en zsw9?{h%8+JJAKq_J8v=%}2uq7?nBv!@>7%p zD8nej@S4>|WAK@E7PUjvYMNe%kyr$!aM7rWzI6Si(T*)K7NRphpW;!jznGEv$Cb-7K?||4i8 z43}EyAQ;Qm(N5S|W}ye6r_4sH;6$0lXrCgPDT_D@!^pKlfz3i4A&<>THA8ITSOT!y zz8$wVVYivB%63Q;VK;;dLpDHp`NKO|Cdq2-P<%)FpsCzOBhXX+ky*K~6&rSQsPKgz zgyr*=;6(RhI{<&q+hv~ox_*T#6(2d+Ip1WS{I>rrvtj6;&tgTfjRAEmF~_`8Eah=M zgB!*CM4-vB4lPeOOf(D^9i`w^Wt+dmKQ8RQ!{jIS7&KLw%)iU*nX)WRV?|~VV)=d%P3|zcvQKe6BTc(HOZGY^z?!Rh029jFrm%WHe)Ayy09qnAgn>u zfiEU2imZkG)izD5jJ86w+Nn7!YiGgeawd;nNr5U@n;=Abs2%HF=WUY zAc4*r<5Yv3jEYn~Fmcqb8lzFkRz=>0{WUhtp!`2(FchsxSJ41mblZUQ7+|W$uIY12 rp*vx@XAx#Vk7tqQh+V=8;iAW>iB(8iHJH6l?X<@wEsMh1>KXq5z%s8% delta 2537 zcmZ8j4Qv!e6yE8zwA-KSU4L?|0eZ(@XrbLJv>XW6-W|nmvBcJZZ4(GJ1hB@)VUAD~ z=pn6fxio3}f?|vYB1nl4sz)N4C<|1PK(tkZF`xm1@Hd)y3+-{xw~5=@kml!IMRJ+vpA3t7kp7WyTJSpXU2|O zuDrjnq3|>9(&{~9PuC56!woFxS?Jt48U1iwc$Q#&v(7j7Lp8z4Qn)S`eJbT!8rW9a zYH_gF_3;HdWRX~e1~FCvx-k(*!Oy5X~VZ0U1=+XlqkGraG}B;tkEJUka=VHYc_OT-u6U`$j{DxIx9Nz z`;6tB_Hx}s8Y+!I8#J`7K3zGUd@H$9=dr1@D%C-?sp%PNWn4c6kVm_~?gTsV7@JKe zQYB`kU!c1N-SA^N8)c+9m@_&%t$;CmbR_qxrN{PwPT8}wG9;X_f+|6{pE>=Xd)n+I ziA4KHZENI6@q=PP_?#C(?kt~c1t@o8VNKKIh<5}kS-G=L?#z9oL=c9WKyS({XxA4h zcY1e#lsl7N;jm;hlq*M)zUEUp)R3rM&nyUY!}A8hzDBn%4{#_PlNH*KmBaQ^YgS?Q z49r8U-$Ut$dkaFWiB4tJJ=ZvmDYAmUUbWEnU&^XUIqAvWwdGKhiY4s^QBP-59EE z>fY;Tbm4aYM6Dv;WAm`mNV05cjYYOQ_kPP_+cA6SZ>(`sSNP_m@MWgY8frz6Gs0&0 zp$3Ru83)JZYF+N)az0<*kcSg|TT%U82ohO5R6=KRrdpeL#0^(uWegR&Nkcg$ZPP%l z8RtCzYMNhBJJj7NRf@U}8zsan;9#B(kd?3aPL`p*v8h~+c#jnEa^K;_U8yrkAAmW7 zPffF}C{@?N58U{Wsdopr{a?b>3t@Qs()c;Vf;Z|87oRs1D4!%37ez1TdQvHv?(1>R zYPvqGX{WIl!@vPx--xEga0L490UWlK6Yh$k3(<12>h4H zZ~xv&98c@;V}9~r$5T|JY{tnnzj+_2cJ3dU8Y_W?-uTVOn=1RANT|-)k^;LeEpBEe(Mu!HHIhpzU|CVW(s0M!sV~~axY%iVsnth7ZPdq9U zmu^3J{dJ}8g${O*jxCf}7yXP;C9$j;V||$ev0BR3=TCmXp2B|xd~TR-loe-Vb(0>l zUfNUc$nQ6-Cci@8aV`6mkL9DViN8qkgcFUt6Y-(HV1{S2h&h}me?m_5M)|vzXwQ;s zjDkzAvplL_CfS4hO+Ygd+W|HUPY`b=254}ZBsLmsBZ*#**lS3=RO9uGZ=Jb?PU`ly z;pp2dq|{-4*wBV;w6bCm`6_HERd7T~o`hRVXkTE?e_=y*6951J diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 681062b2ed2fedb699eb9f5de2c1f7bedf9f78bc..13c3f140a1c819069510aeaf40f487cf6fa5c935 100644 GIT binary patch delta 5560 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 Date: Mon, 29 May 2023 16:38:11 +0000 Subject: [PATCH 131/138] fix --- src/src/serial_unix.cpp | 48 ++++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index e257163..e90b49c 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -15,7 +15,7 @@ int hSerialPort; termios2 tty; -std::ofstream log("log.log", std::ios::out); +std::ofstream logging("log.log", std::ios::out); void (*errorCallback)(int errorCode); void (*readCallback)(int bytes); @@ -32,16 +32,17 @@ void serialOpen( // Open new serial connection hSerialPort = open(portName, O_RDWR); + // Error if open fails if(hSerialPort == -1){ - log << strerror(errno); - } - else { - log << hSerialPort; + errorCallback(status(StatusCodes::INVALID_HANDLE_ERROR)); + return; } - - // Error if open fails - ioctl(hSerialPort, TCGETS2, &tty); + // Get the current com configuration + if(ioctl(hSerialPort, TCGETS2, &tty) == -1){ + errorCallback(status(StatusCodes::GET_STATE_ERROR)); + return; + } tty.c_cflag &= ~PARENB; // Clear parity bit, disabling parity (most common) tty.c_cflag &= ~CSTOPB; // Clear stop field, only one stop bit used in communication (most common) @@ -69,9 +70,9 @@ void serialOpen( tty.c_ispeed = baudrate; tty.c_ospeed = baudrate; - // Data bits tty.c_cflag &= ~CSIZE; // CSIZE is a mask for the number of bits per character + switch(dataBits) { case 5: tty.c_cflag |= CS5; @@ -87,7 +88,6 @@ void serialOpen( break; } - // parity switch(parity) { case 0: @@ -116,13 +116,22 @@ void serialOpen( } // Save tty settings, also checking for error - ioctl(hSerialPort, TCSETS2, &tty); + if (ioctl(hSerialPort, TCSETS2, &tty) == -1){ + errorCallback(status(StatusCodes::SET_STATE_ERROR)); + return; + } - // returnStatus(StatusCodes::SUCCESS); + return; } void serialClose() { - close(hSerialPort); + // Error if close fails + if (close(hSerialPort) == -1) { + errorCallback(status(StatusCodes::CLOSE_HANDLE_ERROR)); + return; + } + + return; } auto serialRead( @@ -131,7 +140,14 @@ auto serialRead( const int timeout, const int multiplier ) -> int { - return read(hSerialPort, static_cast(buffer), bufferSize); + int bytesRead = read(hSerialPort, static_cast(buffer), bufferSize); + + if (bytesRead >= 0){ + return bytesRead; + } + + errorCallback(status(StatusCodes::READ_ERROR)); + return 0; } auto serialReadUntil( @@ -155,12 +171,10 @@ auto serialWrite( int bytesWritten = write(hSerialPort, tmp, bufferSize); - if (bytesWritten > 0){ + if (bytesWritten >= 0){ return bytesWritten; } - log << strerror(errno); - errorCallback(status(StatusCodes::WRITE_ERROR)); return 0; } From e12c6f3c99ec8bafb0d99ce65f2e9579d9e8bb63 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 16:39:39 +0000 Subject: [PATCH 132/138] Commited compiled binaries --- lib/bin/linux.so | Bin 17072 -> 16624 bytes lib/bin/windows.dll | Bin 19456 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 33c6050a32389f1fee63eeb6c1ec31a2c0a562a3..6e53f1b4f23c3ccae9c27e9fbae17887ce1214d8 100644 GIT binary patch delta 3577 zcmZ`*4Qx}_6@Jf-6WfWO?S#zE28~A(6aul6Xi3aQ5(>jdhiSrcdmp^^mHpp?9Q=lMSH zJa(+>bI*6qJ@?#u&wcky4vBMz#8{bbV9jWGt$DyKs5D?6{jS?oYDh_?qsKg^E?r9K z8olB%O>n_AWf#wjfrX~hAD+MU?uHvm*@xk$eo^;Uus=xFdNd0fS?8dYw1!=Rbhy>; zJs#J&L?h|!Xb!ZCLi`Q3RPSV7y_d~ZWwD@s2|EcnsdtJ$V#o9jHdF0n6Io92ID1j= z5c^ato)r+^COK3hlCvUV+y`$&JjOqvn=eR0Vu^|h))W(70Vn&IF9jGm{!?(Wk8yhn zoai$&!sjyl{5FM$gmJD|OV*(G(P%(x2L2*&HBdiU3Bu|W6YN+3+1m1zXU~~dzChkY z{C)z@HuPO+!IfhOSTFpU&qn&+a6Qz*{;&3!=nxZJKUq)coeq<47nm*ZVwDs47vs36rEIHq-I7! zA_SthlH-b^1cvKJp$kMm?+A<(E~0z=0N`$G@u0edz)1Z(=|>DVh^@I7EDQ`Ax~V@D z51N#OwKz@nVi>z$5q`S%&} zuga$`6xNy9Kwf;zRk9;Crzj_Jw&UQl;I?^1sYE*47Le_bg*%G!DiYHN{sDLx{FmS{ z@EPz~aQapz!0&+1fg9;M+*OpNI`+D&Tnw|HyPgis-a^RakP|&Ccs+y}-~$>69zzSF zxe$o@Bs?S8j_8^s=Ue(_$u*MIB9*;qkfqA+XRnjIk(_5FpKie{d4b4MnO}1GC8uAq z`6Z*AyEzRHJyxvC)kV@Y>59!ya)e-(q8YKeSFtPVLl}^3&zsdbB;=$(iz$Qt1L)O< z82Xo>p#}SZpIrzkiuSUSG2Qj}6O4O-CxKgGLqrb3z^-OsM}Z|WunAy)1*Xm8#Ms{f zyZpJL)J++d@5S}Ro58(_R;&i;r$QIo03KwlS2v?w=xb~_d zfmQh`_j8}*QMnkIesrv|RcvL4D*Hve)0Lj}U3~pCo(SJ$_(AoRf%`bF?Gr?mw%}hx zjnc(>syw2Ny;s#KZfEzap2aM3wL^5W?^Hi4Ze_=+D+>O%c3VR=q~Y7x%jHbg6@QHW=-p5VwOW}QUABm|HgMMv%KYi)KdUp4M!m)3ghT9#|v$L#eUa~D54T!ohU+I;PX zXnaCoWAz8|!L>Jd%;WU!0FB#NOGB-Fl8YK2V51EllZz+3i(P1_GdcOOIGL&Oym)!) zQe&ftjJC@jlUC8Tvh{MEsmrIj7Phje+=x8CAUB#1SEjIcvsk{r*6iYECF|KHf30q( Jm;J!M;y=YyEm8mg literal 17072 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 diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 13c3f140a1c819069510aeaf40f487cf6fa5c935..14f8b0242ff6df5141b36a1d460f9e9320f59814 100644 GIT binary patch delta 24 dcmZpe!Pqc^aRDQf?bXdpj7_>Ax=pW27653$2wwmI delta 24 dcmZpe!Pqc^aRDO}_l3<&j7_>Ax=pW2764=s2k`&^ From 5e12241e3f987d08b7f634786231aaec49dafe16 Mon Sep 17 00:00:00 2001 From: Katze719 Date: Mon, 29 May 2023 18:23:27 +0000 Subject: [PATCH 133/138] Co-authored-by: Mqx --- src/src/serial_unix.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index e90b49c..76f819e 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -1,3 +1,4 @@ +#include #if defined(__unix__) || defined(__unix) || defined(__APPLE__) #include "serial.h" #include @@ -140,6 +141,25 @@ auto serialRead( const int timeout, const int multiplier ) -> int { + + if (ioctl(hSerialPort, TCGETS2, &tty) == -1){ + errorCallback(status(StatusCodes::SET_STATE_ERROR)); + return 0; + } + + if (timeout > 0 && timeout < 100) { + tty.c_cc[VTIME] = 1; + } else { + tty.c_cc[VTIME] = timeout / 100; + } + + tty.c_cc[VMIN] = bufferSize; + + if (ioctl(hSerialPort, TCSETS2, &tty) == -1){ + errorCallback(status(StatusCodes::SET_STATE_ERROR)); + return 0; + } + int bytesRead = read(hSerialPort, static_cast(buffer), bufferSize); if (bytesRead >= 0){ From fbb0ef2cfcb7c8cc0b994f9a3c80ab223efeb7d9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 18:25:06 +0000 Subject: [PATCH 134/138] Commited compiled binaries --- lib/bin/linux.so | Bin 16624 -> 16624 bytes lib/bin/windows.dll | Bin 19456 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index 6e53f1b4f23c3ccae9c27e9fbae17887ce1214d8..c8be3be03f73567e198b716ebf13ff4797385ded 100644 GIT binary patch delta 858 zcmZ9KZAep57{|}Kx|$kiQ+7ouySE^mZ);P71sc2JyaP3c85S`2!FAVK;NI+o#O zS=WwGV9<)7`exn0MPS!VGWu35h{TUEGH7UlEcNzWcNekq<$urb{{QDWFHb6rQ(-LM zEtoT*%`rFjU~j=VlbMV^`=VjnRPfiv!u@jgNjep&G;8f2xZqFa2lEy)Lo9us@91>0 z8T;0Zps%1Mh#=YE7K6VsxX0j42A?o^hb;pV)Mcu~lk}LW566_3rU^1Abo-fnNx}=0(T0SB~uOew>x;juhl)SK}X^~Z}e{i%*i(^i>d0b9kh)7Dn`|=t?Ycn>e)3D-l5Svvqzvau=)$3AE zv`T8P&?EE;Cuc332QqUr>zsI2<%X9!#hKMTRmr6>3x^;%qX*Ofg1wM5f}xPZ!d=r3 zOmEqCR6GTv82l_s8&P*M@aO;Pp=vsB<92yS1dczuyjSvoK?*1(Zbuj8=s;3 z`R#T5Z%s?W@tvS+pqD^x@UTOmc2F6#2{Z=Up@jJwJSf6$>|njOtZ4~-Yi-1OlQ~Gr zM)Q1xzmeZc?AJ|g#2MMbTr4E^R>HTCvKC@(A!cvUIbs(G@67@$#QXK~E1H&V4E=pa zfYk!qe0-5uFB3D;y)ldqqX7KKc8d;QfVm@w%>(o2umxZuuxz0+$fkfjQhd7`is)qB zDI8ad9aDK&rte*SI8LkT2N;>959`|)4@Bdqsb0?pcG&>67hB;1s&F`3Pj8bx7k@*V}@((%y delta 638 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 delta 5560 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 XDj*GL902Zv1n1(jC)l2>em3IYE*5X6 From 89e401ff91437b45df9aa576afe02f912e93a80f Mon Sep 17 00:00:00 2001 From: Katze719 Date: Mon, 29 May 2023 19:02:48 +0000 Subject: [PATCH 135/138] linux fix --- src/src/serial_unix.cpp | 121 ++++++++++++++++++++++--------------- src/src/serial_windows.cpp | 1 + 2 files changed, 72 insertions(+), 50 deletions(-) diff --git a/src/src/serial_unix.cpp b/src/src/serial_unix.cpp index 76f819e..7fca11b 100644 --- a/src/src/serial_unix.cpp +++ b/src/src/serial_unix.cpp @@ -1,4 +1,3 @@ -#include #if defined(__unix__) || defined(__unix) || defined(__APPLE__) #include "serial.h" #include @@ -8,15 +7,11 @@ #include #include #include -// #include - - -// namespace fs = std::filesystem; +#include int hSerialPort; termios2 tty; - -std::ofstream logging("log.log", std::ios::out); +std::string data; void (*errorCallback)(int errorCode); void (*readCallback)(int bytes); @@ -155,7 +150,7 @@ auto serialRead( tty.c_cc[VMIN] = bufferSize; - if (ioctl(hSerialPort, TCSETS2, &tty) == -1){ + if (ioctl(hSerialPort, TCSETS2, &tty) == -1) { errorCallback(status(StatusCodes::SET_STATE_ERROR)); return 0; } @@ -177,7 +172,31 @@ auto serialReadUntil( const int multiplier, void* searchString ) -> int { - return 0; + + data = ""; + + for (int i{0}; i < bufferSize && data.find(std::string(static_cast(searchString))) == std::string::npos; i++) { + char bufferChar[1]; + + // Error if read fails + int bytesRead = read(hSerialPort, static_cast(bufferChar), 1); + if (bytesRead == -1) { + errorCallback(status(StatusCodes::READ_ERROR)); + return 0; + } + + if (bytesRead == 0) { + break; + } + + data.append(std::string(bufferChar, bytesRead)); + } + + memcpy(buffer, data.c_str(), data.length() + 1); + + readCallback(data.length()); + + return data.length(); } auto serialWrite( @@ -191,12 +210,13 @@ auto serialWrite( int bytesWritten = write(hSerialPort, tmp, bufferSize); - if (bytesWritten >= 0){ - return bytesWritten; + if (bytesWritten == -1) { + errorCallback(status(StatusCodes::WRITE_ERROR)); + return 0; } - - errorCallback(status(StatusCodes::WRITE_ERROR)); - return 0; + + writeCallback(bytesWritten); + return bytesWritten; } auto serialOnError(void (*func)(int code)) -> void { @@ -212,44 +232,45 @@ auto serialOnWrite(void (*func)(int bytes)) -> void { }; auto serialGetPortsInfo(void *buffer, const int bufferSize, void *separator) -> int { - return 0; -} + std::string result = ""; -// auto getPortsInfoUnix( -// void* buffer, -// const int bufferSize, -// void* separator -// ) -> int { -// std::string result; + int portsCounter = 0; -// int portsCounter = 0; + DIR* dir = opendir("/dev/serial/by-id"); + if (dir == nullptr) { + // Handle directory not found error + return -1; // Return an appropriate error code or define your own + } -// fs::path p("/dev/serial/by-id"); - -// try { -// if (!exists(p)) { -// returnStatus(StatusCodes::NOT_FOUND_ERROR); -// } - -// else { -// for (auto de : fs::directory_iterator(p)) { -// if (is_symlink(de.symlink_status())) { -// fs::path symlink_points_at = read_symlink(de); -// fs::path canonical_path = fs::canonical(p / symlink_points_at); -// result += canonical_path.generic_string().append(std::string(static_cast(separator))); -// portsCounter++; -// } -// } -// } -// } catch (const fs::filesystem_error &exeption) { -// } - -// if (result.length() + 1 <= bufferSize){ -// memcpy(buffer, result.c_str(), result.length() + 1); -// } else { -// returnStatus(StatusCodes::BUFFER_ERROR); -// } -// return portsCounter; -// } + struct dirent* entry; + while ((entry = readdir(dir)) != nullptr) { + if (entry->d_type == DT_LNK) { + std::string symlinkPath = "/dev/serial/by-id/"; + symlinkPath += entry->d_name; + + char canonicalPath[PATH_MAX]; + if (realpath(symlinkPath.c_str(), canonicalPath) != nullptr) { + result += std::string(canonicalPath) + std::string(static_cast(separator)); + portsCounter++; + } + } + } + + closedir(dir); + + // Remove last trailing comma + if (result.length() > 0) { + result.erase(result.length() - 1); + } + + if (result.length() + 1 <= bufferSize) { + memcpy(buffer, result.c_str(), result.length() + 1); + } else { + errorCallback(status(StatusCodes::BUFFER_ERROR)); + return 0; + } + + return portsCounter; +} #endif diff --git a/src/src/serial_windows.cpp b/src/src/serial_windows.cpp index 184b8e0..1044cbb 100644 --- a/src/src/serial_windows.cpp +++ b/src/src/serial_windows.cpp @@ -50,6 +50,7 @@ void serialOpen( } errorCallback(status(StatusCodes::GET_STATE_ERROR)); + return; } From a7c77a9bce4e6c2599f03e3c8356229bf8adc28a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 May 2023 19:04:41 +0000 Subject: [PATCH 136/138] Commited compiled binaries --- lib/bin/linux.so | Bin 16624 -> 26328 bytes lib/bin/windows.dll | Bin 19456 -> 19456 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/bin/linux.so b/lib/bin/linux.so index c8be3be03f73567e198b716ebf13ff4797385ded..f78d8af4d1c57d8589310feba3987b147bcacc47 100644 GIT binary patch literal 26328 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 DdXiD9 literal 16624 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 L?pYQC3oHH&zl~mw diff --git a/lib/bin/windows.dll b/lib/bin/windows.dll index 8a38f7f72002177b31189a2cd94114de9659600f..420ffef9e7b289dcb875addbee0710897414577c 100644 GIT binary patch delta 5560 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 From 86f47259bea874ccbc5b29b837bb67f8aa4463eb Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 21:09:43 +0200 Subject: [PATCH 137/138] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ae75b70..a976f9a 100644 --- a/README.md +++ b/README.md @@ -31,10 +31,10 @@ This library provides an interface for the communication with serial devices and - Works on different operating systems (check [compatibility](#compatibility) for mor info). ## Compatibility -| OS | Tested version | Current state | -|---------|------------------|---------------| -| Windows | Windows 10 (x64) | implemented | -| Linux | - | in progress | +| OS | Tested version | Current state | +|---------|-------------------------|---------------| +| Windows | Windows 10 (x64) | implemented | +| Linux | Ubuntu Server 22.04 LTS | in progress | ## Possible/Known issues - What happens if you open multiple connections from the same instance. From e0739c115f04f92a7e437d7d0e5e00570081729b Mon Sep 17 00:00:00 2001 From: Mqx <62719703+Mqxx@users.noreply.github.com> Date: Mon, 29 May 2023 21:10:02 +0200 Subject: [PATCH 138/138] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a976f9a..4e7f66a 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ This library provides an interface for the communication with serial devices and | OS | Tested version | Current state | |---------|-------------------------|---------------| | Windows | Windows 10 (x64) | implemented | -| Linux | Ubuntu Server 22.04 LTS | in progress | +| Linux | Ubuntu Server 22.04 LTS | implemented | ## Possible/Known issues - What happens if you open multiple connections from the same instance.