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.2.7JsSetup
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.
Download JsSetup 1.0.1Open Source
The Pinchot API used to control JS-50 scan heads is fully open source and can be obtained from GitHub. Use of the official releases is highly recommended, but limited support is provided for those who wish to make use of the API source code.
Pinchot .NET API Source Pinchot C API SourceChangelog
v16.2.7
.NET API
- fix IOExceptionthat would occur on some systems whenStartScanningorGetDiagnosticProfilewas called
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,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
- add support for frame scanning
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 preventing new client from making a clean connection to a scan head when the scan head is already connected to a different client
- fix bug affecting timing of laser during scanning that in rare cases decreased its intensity
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 funciton 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_mbpsinDiscoveredDevice
- 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
- rename udp_packets_receivedtopackets_receivedinjsProfile&jsRawProfile
- rename udp_packets_expectedtopackets_expectedinjsProfile&jsRawProfile
FirmwareUpdate
- improve transfer speed of firmware file to scan head
Pinchot v16 Migration
For more detailed documentation on migrating from v13.x.x and older of the Pinchot API, please reference the article provided here.
Previous
Contact a representative of JoeScan if releases older than version 12.0.1 are required.
Software Update Email List
Sign up here to receive the latest information on JoeScan API and software releases directly to your inbox.
