Skip to content

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.

Download JsSetup

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 SetWindow was called with a larger window after Connect

v16.2.5

.NET API

  • fix ScanHead.IsConnected and ScanSystem.IsConnected not 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.TryTakeNextProfile and ScanSystem.TryTakeFrame
  • fix frame scanning not properly resetting sequence number when stopping and starting scans back-to-back
  • add ScanHead.IsScanning property

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.Json dependency
  • obsoleted ScanHeadConfiguration.SetCameraExposureTime method
  • obsoleted ScanHead.GetDiagnosticCameraImage method overloads without explicit camera exposure argument

C API

  • updated API examples
  • fix bug reading raw profiles from jsScanHeadGetRawProfiles
  • add new state variable to jsDiscovered struct
  • deprecated camera_exposure_time_min_us, camera_exposure_time_max_us, and camera_exposure_time_def_us fields in jsScanHeadConfiguration struct
  • deprecated jsScanHeadGetDiagnosticImageCamera, jsScanHeadGetDiagnosticImageLaser, and jsScanHeadGetDiagnosticImage functions

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 ScanningMode enum argument to ScanSystem.StartScanning
  • add new method ScanSystem.TryTakeFrame
  • add new configuration methods ScanSystem.PreSendConfiguration and ScanSystem.IsConfigured
  • deprecate IProfile.PacketsExpected and IProfile.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 jsProfileIsValid and jsRawProfileIsValid
  • add new frame scanning functions jsScanSystemStartFrameScanning, jsScanSystemGetProfilesPerFrame, jsScanSystemWaitUntilFrameAvailable, jsScanSystemIsFrameAvailable, jsScanSystemClearFrames, jsScanSystemGetFrame, and jsScanSystemGetRawFrame
  • add new initialization functions jsProfileInit and jsRawProfileInit
  • add new encoder function jsScanSystemGetEncoder
  • add new configuration functions jsScanSystemConfigure and jsScanSystemIsConfigured
  • deprecate packets_received and packets_expected fields in jsProfile in jsRawProfile

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 ScanHead named ClientIpAddress to get the IPAddress of 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, and client_netmask to jsDiscovered struct

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 jsScanHeadSetMinimumEncoderTravel is 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 ProfileBufferOverflowed flag on StartScanning

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 jsScanHeadGetAlignmentLaser function

v16.1.0

.NET API

  • add new scan head power cycle function ScanHead.Reboot
  • add ability to set a ScanWindow per laser/camera
  • add new polygonal window function ScanWindow.CreateScanWindowPolygonal
  • add new scan data masking function ScanHead.CreateExclusionMask and ScanHead.SetExclusionMask
  • add new beta feature brightness correction functions ScanHead.CreateBrightnessCorrection and ScanHead.SetBrightnessCorrection in the JoeScan.Pinchot.Beta namespace
  • change datatype of X/Y data in Point2D from double to float
  • fix handling of recoverable network errors
  • various performance increases

C API

  • add new error codes JS_ERROR_USE_CAMERA_FUNCTION and JS_ERROR_USE_LASER_FUNCTION
  • add new scan head power cycle function jsPowerCycleScanHead
  • add new rectangular window functions jsScanHeadSetWindowRectangularCamera and jsScanHeadSetWindowRectangularLaser
  • add new polygon window functions jsScanHeadSetPolygonWindow, jsScanHeadSetPolygonWindowCamera, & jsScanHeadSetPolygonWindowLaser
  • add new scan data masking functions jsScanHeadSetExclusionMaskCamera & jsScanHeadSetExclusionMaskLaser and struct jsExclusionMask
  • add new encoder driven scanning functions jsScanHeadSetMinimumEncoderTravel and jsScanHeadSetIdleScanPeriod
  • add new beta feature brightness correction functions jsScanHeadSetBrightnessCorrectionCamera_BETA & jsScanHeadSetBrightnessCorrectionLaser_BETA and struct jsBrightnessCorrection_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 LinkSpeedMbps in DiscoveredDevice

C API

  • report ethernet link speed link_speed_mbps in jsDiscovered
  • deprecate jsScanSystemPhaseInsertCameraConfiguration, use jsScanSystemPhaseInsertConfigurationCamera instead
  • deprecate jsScanSystemPhaseInsertLaserConfiguration, use jsScanSystemPhaseInsertConfigurationLaser instead

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-Enabled heads would prevent scanning
  • fix bug where scan heads loaded from configuration file wouldn't get an IP address

v16.0.0

.NET API

  • fix Disconnect and StopScanning throwing exceptions when the connect is severed prior to call

C API

  • use TCP for streaming scan data to client over network
  • rename udp_packets_received to packets_received in jsProfile & jsRawProfile
  • rename udp_packets_expected to packets_expected in jsProfile & jsRawProfile

FirmwareUpdate

  • improve transfer speed of firmware file to scan head

Comments