Software Releases¶
Pinchot API¶
The button below will allow you to download the most up to date software for your JS-50 scan heads. Please note that this API follows semantic versioning to indicate backwards compatibility with software targeting older releases.
Download JoeScan Pinchot API 16.3.0
JsSetup¶
To assist in setting up and configuring JS-50 scan heads, JsSetup is provided as a standalone tool. This tool generates a configuration that defines the entire scan system and can be directly used with the Pinchot API.
Open Source Release¶
Source code for the .NET C# API can be found on the project's Github page; the source for the C API can be found on it's Github page.
Limited customer support is provided for end users incorporating the open source release into their projects; please contact JoeScan if there are questions regarding which release is best suited for a given project.
Changelog¶
v16.2.6¶
.NET API¶
- fix incorrect phase timings if
SetWindowwas called with a larger window afterConnect
v16.2.5¶
.NET API¶
- fix
ScanHead.IsConnectedandScanSystem.IsConnectednot being accurate when a scan head gets disconnected from the network - throw exceptions for methods that try to communicate with a scan head if it has been disconnected from the network, namely
ScanHead.TryTakeNextProfileandScanSystem.TryTakeFrame - fix frame scanning not properly resetting sequence number when stopping and starting scans back-to-back
- add
ScanHead.IsScanningproperty
v16.2.4¶
.NET API¶
- fix delay in frame scanning when not all phaseable elements of a scan head are present in the phase table
C API¶
- fix delay in frame scanning when not all phaseable elements of a scan head are present in the phase table
v16.2.3¶
JS-50 Firmware¶
- improvement to internal calibration data
v16.2.2¶
C API¶
- fix bug in profile queues resulting in incorrect profile available count
v16.2.1¶
.NET API¶
- updated API examples
- removed
Newtonsoft.Jsondependency - obsoleted
ScanHeadConfiguration.SetCameraExposureTimemethod - obsoleted
ScanHead.GetDiagnosticCameraImagemethod overloads without explicit camera exposure argument
C API¶
- updated API examples
- fix bug reading raw profiles from
jsScanHeadGetRawProfiles - add new
statevariable tojsDiscoveredstruct - deprecated
camera_exposure_time_min_us,camera_exposure_time_max_us, andcamera_exposure_time_def_usfields injsScanHeadConfigurationstruct - deprecated
jsScanHeadGetDiagnosticImageCamera,jsScanHeadGetDiagnosticImageLaser, andjsScanHeadGetDiagnosticImagefunctions
JS-50 Firmware¶
- fix bug in scan head discovery causing status to always report
CONNECTED
FirmwareUpdate¶
- speed up firmware update process
- add scan head state column
v16.2.0¶
.NET API¶
- add support for JS-50 Z820 and JS-50 Z830
- add support for frame scanning
- add support for presending configuration data to scan heads
- add new frame scanning interface
IFrame - add new
ScanningModeenum argument toScanSystem.StartScanning - add new method
ScanSystem.TryTakeFrame - add new configuration methods
ScanSystem.PreSendConfigurationandScanSystem.IsConfigured - deprecate
IProfile.PacketsExpectedandIProfile.PacketsReceived
C API¶
- add support for JS-50 Z820 and JS-50 Z830
- add support for frame scanning
- add support for presending configuration data to scan heads
- add new frame scanning function macros
jsProfileIsValidandjsRawProfileIsValid - add new frame scanning functions
jsScanSystemStartFrameScanning,jsScanSystemGetProfilesPerFrame,jsScanSystemWaitUntilFrameAvailable,jsScanSystemIsFrameAvailable,jsScanSystemClearFrames,jsScanSystemGetFrame, andjsScanSystemGetRawFrame - add new initialization functions
jsProfileInitandjsRawProfileInit - add new encoder function
jsScanSystemGetEncoder - add new configuration functions
jsScanSystemConfigureandjsScanSystemIsConfigured - deprecate
packets_receivedandpackets_expectedfields injsProfileinjsRawProfile
JS-50 Firmware¶
- add support for JS-50 Z820 and JS-50 Z830
v16.1.11¶
JS-50 Firmware¶
- add support for non-volatile camera correction
v16.1.10¶
JS-50 Firmware¶
- improvement to internal memory
v16.1.9¶
C API¶
- fix bug in TCP networking code causing high CPU loads
v16.1.8¶
JS-50 Firmware¶
- fixed bug that could prevent internal calibration from loading
v16.1.7¶
.NET API¶
- fix bug that prevented client with multiple network interfaces from connecting to scan heads
- add new property to
ScanHeadnamedClientIpAddressto get theIPAddressof the connected client network interface
C API¶
- fix bug that prevented client with multiple network interfaces from connecting to scan heads
- add new fields
client_name_str,client_ip_addr, andclient_netmasktojsDiscoveredstruct
JS-50 Firmware¶
- fix bug stopping scan data when new connection is made while scan head is still scanning
- fix bug affecting timing of laser during scanning that in rare cases decreased its intesity
v16.1.6¶
JS-50 Firmware¶
- improvement to internal calibration data
v16.1.5¶
C API¶
- fix memory leak in scanning code when
jsScanHeadSetMinimumEncoderTravelis used - fix bug in scanning code caused by unused variable
v16.1.4¶
C API¶
- remove internal dynamic memory allocation for profile buffering
- change internal profile buffering implementation; note with change, old data not read out is no longer overwritten by new data
v16.1.3¶
.NET API¶
- fix bug where point data could be overwritten if profiles were not read out fast enough
- reset
ProfileBufferOverflowedflag onStartScanning
JS-50 Firmware¶
- fix bug where IP address change would prevent connection
v16.1.2¶
C API¶
- fix socket close error on Windows
v16.1.1¶
C API¶
- fix linker error with
jsScanHeadGetAlignmentLaserfunction
v16.1.0¶
.NET API¶
- add new scan head power cycle function
ScanHead.Reboot - add ability to set a
ScanWindowper laser/camera - add new polygonal window function
ScanWindow.CreateScanWindowPolygonal - add new scan data masking function
ScanHead.CreateExclusionMaskandScanHead.SetExclusionMask - add new beta feature brightness correction functions
ScanHead.CreateBrightnessCorrectionandScanHead.SetBrightnessCorrectionin theJoeScan.Pinchot.Betanamespace - change datatype of X/Y data in
Point2Dfromdoubletofloat - fix handling of recoverable network errors
- various performance increases
C API¶
- add new error codes
JS_ERROR_USE_CAMERA_FUNCTIONandJS_ERROR_USE_LASER_FUNCTION - add new scan head power cycle function
jsPowerCycleScanHead - add new rectangular window functions
jsScanHeadSetWindowRectangularCameraandjsScanHeadSetWindowRectangularLaser - add new polygon window functions
jsScanHeadSetPolygonWindow,jsScanHeadSetPolygonWindowCamera, &jsScanHeadSetPolygonWindowLaser - add new scan data masking functions
jsScanHeadSetExclusionMaskCamera&jsScanHeadSetExclusionMaskLaserand structjsExclusionMask - add new encoder driven scanning functions
jsScanHeadSetMinimumEncoderTravelandjsScanHeadSetIdleScanPeriod - add new beta feature brightness correction functions
jsScanHeadSetBrightnessCorrectionCamera_BETA&jsScanHeadSetBrightnessCorrectionLaser_BETAand structjsBrightnessCorrection_BETA
JS-50 Firmware¶
- fix networking bug causing scan head to fail to negotiate link with some network switches
- fix autoexposure bug preventing it from working at fractional scan resolutions
- add support for exclusion masks
- add support for brightness correction
FirmwareUpdate¶
- add ability to update scan heads in parallel
- fix bug preventing ScanSync updates
v16.0.4¶
JS-50 Firmware¶
- fix firmware bug that caused connection error
v16.0.3¶
.NET API¶
- report ethernet link speed
LinkSpeedMbpsinDiscoveredDevice
C API¶
- report ethernet link speed
link_speed_mbpsinjsDiscovered - deprecate
jsScanSystemPhaseInsertCameraConfiguration, usejsScanSystemPhaseInsertConfigurationCamerainstead - deprecate
jsScanSystemPhaseInsertLaserConfiguration, usejsScanSystemPhaseInsertConfigurationLaserinstead
JS-50 Firmware¶
- fix network negotiation failure with 100Base-T switches
- fix "Core" files not being served correctly in web server
ScanSync¶
- firmware release v2.1
- support digital input signal up to 40 volts
v16.0.2¶
.NET API¶
- support for JS-50 MX
C API¶
- support for JS-50 MX
JS-50 Firmware¶
- support for JS-50 MX
v16.0.1¶
.NET API¶
- fix exception when scanning at high speeds for
netstandard2.0
SensorTester¶
- fix bug where non-
Enabledheads would prevent scanning - fix bug where scan heads loaded from configuration file wouldn't get an IP address
v16.0.0¶
.NET API¶
- fix
DisconnectandStopScanningthrowing exceptions when the connect is severed prior to call
C API¶
- use TCP for streaming scan data to client over network
- rename
udp_packets_receivedtopackets_receivedinjsProfile&jsRawProfile - rename
udp_packets_expectedtopackets_expectedinjsProfile&jsRawProfile
FirmwareUpdate¶
- improve transfer speed of firmware file to scan head