Skip to content

Commit bd53446

Browse files
alexanderosternetfabbyrodzikau
authored
Merged Develop into Master (Autodesk#33)
* Added SPI and Enums to Raylase SDK * Added CMake Min Version 3.10 * Added raylase nLight Driver board status update * Deactivated SPI * Added JSON API classes * Added JSON API classes * Fixed JSON Array Implementation * Scanlab SCM Driver: Added Blend Mode, Configuration Patching * Added Remove Children into XLM Document Node * Fixed Layerview point viewer clearing * Updated Client * Fixed external JSON API * Added Raylase Part Suppression * Fixed Journal Reader * Improved Examples * Fixed crash in image format conversion * Raylase Driver: Added part suppression and fixes callback issues * Fixed Visual Studio 2022 * Added UUID Values to JSON Wrapper * Removed TSL and AML Drivers for now * Replaced libjpeg-turbo * Replaced libjpeg-turbo * Implemented JPEG ImageData export/import * JPEG Image loader * Added create Client Dist executable * Linux compile fixes * Linux fixes * Linxu compile fixes * Linxu compile fixes * Updated Camera driver * Updated Example to include camera driver * Added Raylase NLight Driver Implementation * nLight Driver Implementation * Compile fixes for Camera driver * Updated nLight Board API * Implemented Raylase Driver SPI Status and mode dependent max laser power * Raylase Driver: Added 3D Movements * Added Delays for initialization * Raylase Driver: Disarmed before initialization * Updated Lib3MF * Updated Boolean artifact * Added RTC Defocus Factors * Updated API for Lib3MF Update * Scanlab SMC SDK: added headers for power ramps * Refactored Toolpath Layer Interfaces * Updated Raylase driver to API changes * Updated Lib3MF * Updated Lib3MF * Updated Lib3MF API * Refactored layer reader and removed loop toolpath type * Updated Lib3MF Branch * Fixed OIE Recording round trip bit * Updated Lib3MF Binary * Fixed warning in RTC Driver * Add Toolpath SubInterpolation Hatch Data * SMC Driver: Added Power Ramps * Made Power output calibration properly linear in scanlab driver * Added Custom Page update flag * Updated Client Package * Added Pre and Post Segment Delay profile settings * Added Support for Presegment and Postsegment Delays * Added Microvector support for Scanlab Driver * Typo in Scanlab driver * Added JSON Event Streaming * Fixed Stream Connection * Small camera driver fixes for enumerating device information * Scanlab SMC Driver: Fixed IPAddress initialization * Added Machine Resources to Working Directory * Added first OpenCV Driver * Updated OpenCV Build script * OpenCV Driver: Implemented WriteToImage * Linux compile fix * Added OpenCV Windows UTF8 Workaround * Added Microsecond options to RTC Skywriting profiles * Adds support for loading SCANmotionControl.dll v1.0 and its dependency RTCService.dll (Autodesk#22) * Scanlab SMC Driver: Adds support for loading SCANmotionControl.dll v1.0 and its dependency RTCService.dll * Implements the loading of SCANmotionControl.dll v1.0 and its dependency RTCService.dll * Implements the execution of Build using SCANmotionControl.dll v1.0 Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Implemented Additional API for Loading RTCService.dll * Added methods SetRTCServiceDLLResourceName and SetRTCServiceDLLResourceData to support loading of RTCService.dll. * Restored the previous method signatures for SetDLLResources and SetCustomDLLData. Signed-off-by: Yury Rodzikau [email protected] --------- Signed-off-by: Yury Rodzikau <[email protected]> Signed-off-by: Yury Rodzikau [email protected] * Updated SMC Configuration to include Correction Files * Fixed Send To Hardware in SMC Context Instance * Fixed Scanlab Predelay Bug * Scanlab RTC Fix for Hatch Coordinates * Fixed GPIO Sequence Repeat loop * Scanlab Driver: Fixed MCBSP On the Fly Override for OIE Recording * Scanlab OIE: Added Selectable Recording Frequency * Scanlab Driver: Improved OIE Measurement Tag handling * Fixed issue in measurement Tag map * Included first OpenFOAM Driver * Removed fly_2d fix from Scanlab OIE Control Power setting * Added 3MF Binary metadata access by Relationship * Updated Lib3mf * Added Mesh handling to Builds, Extended Working files with writers * Updated Lib3mf * OpenFOAM STL generation * Implements a CSV parser to parse Simulation or rtc_log_record files (Autodesk#24) * Scanlab SMC Driver: Implements loading RTC6 PCIe Firmware * Implements RTC6 PCIe firmware loading if the RTC6 Ethernet IP Address is not specified in the configuration file. * Implements copying of the <SystemConfig> xml node of the configuration file. Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Implements a CSV parser to parse Simulation or rtc_log_record files * Implements a universal customizable CSV parser to parse Simulation or rtc_log_record files for SCANmotionControl V1.0 * Maintains backward compatibility with SCANmotionControl V0.8/0.9 * Upgrade C++ Language Standard for libmcdriver_scanlabsmc to C++17 Signed-off-by: Yury Rodzikau <[email protected]> --------- Signed-off-by: Yury Rodzikau <[email protected]> * Added Triangle Set Access to Mesh Objects * OpenFOAM Driver * Scanlab SMC Driver: Added PCI Support * Updated Lib3mf * Linux fixes * Linux fixes * linux fixes * linux fixes * OpenFOAM Driver: Improved Driver Montoring * Added working File Processes to API * Updated OpenFOAM Driver * Added Working File processes * Compile fixes * Added new OpenCV Wrapper DLL * Added new OpenCV Wrapper DLL * Scanlab SMC Driver: Upgrade of the SCANmotionControl to v1.1 (Autodesk#26) * Support for SCANmotion library version v1.1 has been implemented; * Backward compatibility with SCANmotion version v1.0 has been preserved. Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Refactored CSMCJobInstance::ReadSimulationFile to… (Autodesk#25) * Scanlab SMC Driver: Refactored CSMCJobInstance::ReadSimulationFile to Support Parser Selection Based on SMC Version * Implements logic to select the appropriate SimulationData parser dynamically based on the detected SCANmotionControl version. * Restored the previous SMCJob interface to ensure backward compatibility with existing code. Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Implemented UTF-8 file path support for Windows in simulation file loading * Added platform-specific handling to support long UTF-8 file paths on Windows using MultiByteToWideChar. * Implemented exception generation in AMCF style. Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab SMC Driver: Implements parsing and storing the “laseron” signal as uint32_t instead of bool * Implements parsing and storing the “laseron” signal as uint32_t instead of bool Signed-off-by: Yury Rodzikau <[email protected]> --------- Signed-off-by: Yury Rodzikau <[email protected]> * Added External Process Execution to Driver Environment * Added first Unit Test Framework * Added first Unit Test Framework * Fixed process controller * Fixed Linux build * Refactored Working Directories and added Subdirectory support * Refactored Working Directories and added Subdirectory support * Updated OpenFOAM driver * Linux fixes * Linux fixes * Linux fixes * Added custom Correction factors to Scanlab driver * Linux fixes * Linux fixes * Linux fixes * Linux fixes * Linux fixes * Linux fixes * LibMCEnv: Implements LaserON signal visualization in WebGUI (Autodesk#27) * LibMCEnv: Implements LaserON signal visualization in WebGUI * Extends the DataTableScatterPlotOptions class with the ListDataChannels method for storing and transmitting LaserOn signal; * Implements the ScatterPlotDataChannel(Iterator), ScatterPlotDataColumn(Iterator) classes for storing and transferring additional channels and data columns; * Implements saving and querying of LaserOn signal status to/from the database; * Implements additional HTTP request for acquiring LaserOn signal data on the WebGUI side; * implements additional "LaserOn" mode for LaserOn signal visualization in WebGUI; Signed-off-by: Yury Rodzikau <[email protected]> * AMCF WebClient: Fix incorrect async method invocation in Vue and JS layers * queryPoints: added `return` to ensure caller can await result of async call * queryPointsChannelData: added `return` to propagate async result to calling context * onLayerChanged: added async handling to prevent race conditions during updates Signed-off-by: Yury Rodzikau <[email protected]> * AMCF WebClient/Artifacts: Contains updated client packages with updated githash * Contains updated client packages with updated githash Signed-off-by: Yury Rodzikau <[email protected]> --------- Signed-off-by: Yury Rodzikau <[email protected]> * Scanlab driver: Added laser timing defaults for RTC Drivers * Refactored Signal handling * Updated Client Distribution * Fixed Signal Handling * fixed LPBF User Interface * Updated Unit Test Framework * Linux fixes * Unit Tests * Added Automatic unit testing to Develop branch * Updated build script * Updated build script * Disabled client check on Linux * added libuuid dependency * First iteration of Machine Configurations in LibMCData * Added Machine Configuration Data Model * Database migrator for machine configuration * Scanlab SMC Driver: Implements commands to execute laser init/shutdown sequence (Autodesk#29) * Extends ISMCJob interface with ExecuteLaser(Init/Shutdown)Sequence * Implements API to ExecuteLaser(Init/Shutdown)Sequence Signed-off-by: Yury Rodzikau <[email protected]> * Added Laser Pulse Modulation to Scanlab driver * Added Laser Pulse Modulation to Scanlab driver * Scanlab SMC Driver: Removed debug messages * Raylase Driver: Changed NLight Timing Defaults * Updated Data API to include build job status/size * Updated API Handling to support GET parameters * Fixed build status API * API Handler Build * SMC Driver: Added Laser power setting to ScanMotionControl driver * Updated API Handler * Updated API Handler * Added Videostream class interface * Scanlab SMC Driver: Implemented Power control * Regenerated Headers after merge * Implemented Build API Name and Status update * Implemented Build API Name and Status update * Updated LBPF SMC Code to new API * Fixed Error in Skywriting in Scanlab driver * Enabled Journaling, disabled Recording for now! --------- Signed-off-by: Yury Rodzikau <[email protected]> Signed-off-by: Yury Rodzikau [email protected] Co-authored-by: Alexander Oster <[email protected]> Co-authored-by: yrodzikau <[email protected]>
1 parent 9aa41c3 commit bd53446

File tree

757 files changed

+255064
-26993
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

757 files changed

+255064
-26993
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Build and Test
2+
3+
on:
4+
push:
5+
branches: [ master, develop ]
6+
pull_request:
7+
branches: [ master, develop ]
8+
9+
jobs:
10+
build-and-test:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v4
16+
17+
- name: Show current Git branch
18+
run: git branch --show-current
19+
20+
- name: Install dependencies
21+
run: |
22+
sudo apt-get update
23+
sudo apt-get install -y gcc g++ cmake golang uuid-dev
24+
25+
- name: Run pre-build script
26+
run: |
27+
chmod +x ./build_clean_linux64.sh
28+
./build_clean_linux64.sh
29+
shell: bash
30+
31+
- name: Run unit tests
32+
run: ./build_linux64/Output/amc_unittest

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,9 @@
4343
[submodule "submodules/libjpeg-turbo"]
4444
path = submodules/libjpeg-turbo
4545
url = https://github.com/libjpeg-turbo/libjpeg-turbo.git
46+
[submodule "submodules/TinyJPEG"]
47+
path = submodules/TinyJPEG
48+
url = https://github.com/serge-rgb/TinyJPEG.git
49+
[submodule "submodules/stb"]
50+
path = submodules/stb
51+
url = https://github.com/nothings/stb.git

ACT/LibMC.xml

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -658,10 +658,43 @@
658658
<error name="INVALIDCONTENTSTATEID" code="632" description="Invalid content state ID" />
659659
<error name="INVALIDWIDGETREQUEST" code="633" description="Invalid widget request" />
660660
<error name="SOURCEVARIABLENOTFOUND" code="634" description="Source variable not found" />
661-
662-
663-
664-
661+
<error name="INVALIDEVENTRETURNVALUES" code="635" description="Invalid event return values" />
662+
<error name="INVALIDMODIFIERINTERPOLATIONCOUNT" code="636" description="Invalid modifier interpolation count" />
663+
<error name="INVALIDTOOLPATHMODIFIERTYPE" code="637" description="Invalid toolpath modifier type." />
664+
<error name="INVALIDTOOLPATHMODIFIERFACTOR" code="638" description="Invalid toolpath modifier factor." />
665+
<error name="BINARYMETADATARELATIONSHIPNOTFOUND" code="639" description="Binary metadata relationship not found." />
666+
<error name="ENVIRONMENTVARIABLECHANGEAFTERSTART" code="640" description="Environment variable change after start." />
667+
<error name="INVALIDENVIRONMENTVARIABLENAME" code="641" description="Invalid environment variable name." />
668+
<error name="ENVIRONMENTVARIABLEALREADYEXISTS" code="642" description="Environment variable already exists." />
669+
<error name="REACHEDENVIRONMENTVARIABLELIMIT" code="643" description="Reached Environment variable limit." />
670+
<error name="ENVIRONMENTVARIABLENOTFOUND" code="644" description="Environment Variable not found." />
671+
<error name="INVALIDENVIRONMENTVARIABLEINDEX" code="645" description="Invalid environment variable index." />
672+
<error name="COULDNOTREADPROCESSPIPE" code="646" description="Could not read process pipe." />
673+
<error name="PROCESSEXECUTABLENOTFOUND" code="647" description="Process executable not found." />
674+
<error name="COULDNOTCREATEPROCESSPIPE" code="648" description="Could not create process pipe." />
675+
<error name="CREATEPROCESSFAILED" code="649" description="Create process failed." />
676+
<error name="PROCESSEXECUTABLEDIRECTORYDOESNOTEXIST" code="650" description="Process executable directory does not exist." />
677+
<error name="PROCESSCONTROLTIMEISINVALID" code="651" description="Process control time is invalid." />
678+
<error name="PROCESSWORKINGDIRECTORYDOESNOTEXIST" code="652" description="Process working directory does not exist." />
679+
<error name="PROCESSHASALREADYBEENSTARTED" code="653" description="Process has already been started." />
680+
<error name="PROCESSHANDLINGNOTIMPLEMENTEDONPLATFORM" code="654" description="Process handling not implemented on Platform." />
681+
<error name="INVALIDWRITEBUFFFERPOSITION" code="655" description="Invalid write buffer position." />
682+
<error name="INVALIDWRITEBUFFERSIZE" code="656" description="Invalid write buffer size." />
683+
<error name="CANNOTWRITETOFINISHEDFILE" code="658" description="Cannot write to finished file." />
684+
<error name="WORKINGDIRECTORYHASBEENCLEANED" code="659" description="Working Directory has been cleaned." />
685+
<error name="INVALIDCHARACTERINFILENAME" code="660" description="Invalid character in filename." />
686+
<error name="WORKINGDIRECTORYCEASEDTOEXIST" code="661" description="Working directory ceased to exist." />
687+
<error name="DIRECTORYALREADYEXISTS" code="662" description="Directory already exists." />
688+
<error name="WORKINGDIRECTORYNOTFOUND" code="663" description="Working Directory not found." />
689+
<error name="INVALIDSIGNALREACTIONTIMEOUT" code="664" description="Invalid Signal Reaction Timeout." />
690+
<error name="INVALIDSIGNALQUEUESIZE" code="665" description="Invalid Signal queue size." />
691+
<error name="SIGNALALREADYTRIGGERED" code="666" description="Signal has already been triggered." />
692+
<error name="INVALIDQUERYPARAMETER" code="667" description="Invalid query parameter." />
693+
<error name="DUPLICATEQUERYPARAMETER" code="668" description="Duplicate query parameter." />
694+
<error name="QUERYPARAMETERNOTFOUND" code="669" description="Query parameter not found." />
695+
<error name="INVALIDBUILDJOBSTATUSQUERY" code="670" description="Invalid build job status query." />
696+
<error name="INVALIDNEWBUILDSTATUS" code="671" description="Invalid new build status." />
697+
665698
</errors>
666699

667700

@@ -682,6 +715,10 @@
682715
<option name="Testing" value="3"/>
683716
</enum>
684717

718+
<enum name="StreamConnectionType">
719+
<option name="JSONEventStream" value="1"/>
720+
<option name="JPEGImageStream" value="2"/>
721+
</enum>
685722

686723
<class name="Base">
687724

@@ -712,6 +749,10 @@
712749
<param name="IdleDelay" type="uint32" pass="return" description="Idle Delay." />
713750
</method>
714751

752+
<method name="GetStreamType" description="Returns the stream type.">
753+
<param name="StreamType" type="enum" class="StreamConnectionType" pass="return" description="Content type of the stream." />
754+
</method>
755+
715756
</class>
716757

717758

@@ -744,6 +785,12 @@
744785
<param name="Name" type="string" pass="in" description="Name of the form data field." />
745786
<param name="String" type="string" pass="in" description="DataString that was sent." />
746787
</method>
788+
789+
<method name="SetRequestParameter" description="Sets a request parameter.">
790+
<param name="Name" type="string" pass="in" description="Name of the parameter." />
791+
<param name="Value" type="string" pass="in" description="Value of the parameter." />
792+
</method>
793+
747794

748795
<method name="Handle" description="handles the request.">
749796
<param name="RawBody" type="basicarray" class="uint8" pass="in" description="Raw Body that was sent. Only necessary, if ExpectsRawBody returns true." />

0 commit comments

Comments
 (0)