{"id":4949,"date":"2025-05-13T11:47:32","date_gmt":"2025-05-13T11:47:32","guid":{"rendered":"https:\/\/webprojects.cloud\/wordpress\/splatco\/?post_type=spl_download&#038;p=4949"},"modified":"2025-05-22T08:27:19","modified_gmt":"2025-05-22T08:27:19","slug":"sx10508","status":"publish","type":"spl_download","link":"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/","title":{"rendered":"sx10508"},"content":{"rendered":"\n<h6 class=\"wp-block-heading\">1. Download SPLat Firmware<\/h6>\n\n\n\n<div class=\"wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-499968f5 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-text-align-center wp-element-button\" href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/sx10508_1302_release_v4-8.hex\">sx10508 V4.8<\/a><\/div>\n<\/div>\n\n\n\n<p id=\"history\"><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>**\n** Before doing a firmware update, be sure to connect to the first COM port and\n** bring up the menu in a serial terminal program.  Make a note of the RTC\n** calibration value displayed in the title block as you will need to re-enter\n** this after a firmware update.\n** \n\n==========\n== V4.8 ==\n==========\n27 March 2023\n- Debugged Production Test\n\n======================\n== V4.7 (sw V2.1.5) ==\n======================\n17 March 2023\n- Added optional parameter to serial-mode newfile command to allow a file to be named explicitly.\n- Changed board type so it would show up as SPLat rather than HMI430\n- Fixed F3 SD SPI Driver issues\n- Three years plus of system changes:\n   - System: Added SPxTxfrU instruction to generate a CRC16.\n   - Changed SPxTxfrU instruction to a SPxChOut instruction: Load U with the data, V with the length, then issue a CPU SPxChOut command with code 0 for 16 bits and 1 for 24 bits.  Results start at U&#91;1]\n   - Also removed a warning from the VM LCD code.\n   - (System) Added magnitude checking when sending the LSB of an analog value over SEXI\n   - SX10508: Work in progress on debugging the file system problems commencing with the STM32F3 changes in 2016\n   - Modified reset cause determination to put watchdog before pin reset because - at least on the F3 - both seem to be set by the IWDG signal.\n   - Reset cause only seems to be used by one product so far.\n   - Modified order of reset condition testing so watchdog would have first priority.\n   - Added code to handle a Modbus ReadInputRegisters command, faking it to read the RAM.\n   - Added Modbus code also to read and write addresses in the 4000 range and the 5000 range, faking them as RAM locations.\n   - Modified System source files so their ARM_vCrash calls can be trapped.\n   - Updated SPX code for CPU.\n   - Modified LCD code so that if the LCD is OFF and OBLCD_Dim has ever been called, the buttons will be marked as inactive.\n   - Changed checking of pin reset reason in resetInit function before checking standby.\n   - boolean VM_oSPLatLinkConnectivity(void) function is added to splat_vm.c\n   - Turned off VBUS sensing code as it doesn't seem to affect normal operations and allows the VBUS pin to be used for other things.\n   - Modified STM32 F4 register allocation to allow PWM signals to be generated on the N outputs on port E.  This might or might not work.\n   - Modified PWM driver code to cope with inverse outputs correctly.\n   - Modified STM32 PWM code to only include inverted inputs for 405\/407.\n   - Added utility function to check and convert numbers incorrectly converted by FloatMem16S.\n   - Updated source code for FloatMem16S to convert numbers correctly.\n   - CRC16 init value define added.\n   - Added maths functions to the HMI700.\n   - Added hooks in all currently-used device types to run CRC calculations on all transmitted bytes.\n   - Working on making the SPx calls for the CPU more available.\n   - Completed mapping all SPx commands implemented in 32-bit CPU to SPLat functions.\n   - Added commands to implement indexed CRCs, whereby a user can run up to 5 CRC implementations at a time.\n   - Increased allowable Modbus message length from 125 to 253 to allow more registers to be sent at once with the available buffer size.\n   - Added beep when a button is pressed, but only if none are pressed before.\n\n==========\n== V4.6 ==\n==========\n28 May 2020 (on branch SX10508_v4.6)\n- Back-tracked to version 4.4 because it worked.\n- Added XwirePhys command during initialisation of SPLat code to ensure it's set to something\n- Added XWireStop command when selecting User mode to ensure the Xwire code stops running\n\n==========\n== V4.5 ==\n==========\n25 May 2020\n- Added XwirePhys command during initialisation of SPLat code to ensure it's set to something\n- Added XWireStop command when selecting User mode to ensure the Xwire code stops running\n- Included 4 years of system code updates:\n  - OS: STMF4 DAC configuration now allows the buffer to be enabled or disabled\n  - VM: Fixed display of PermStore values in the \"Module\" window in SPLat\/PC as all bytes were off by 1, thus the first byte was always missing and the \"status\" was never correct.\n  - VM: the Xwire LCD master now sends zeroes for the command bytes (blink, etc) otherwise sending these bytes sent garbage and stuffed up the LCD.\n  - OS: created common VTrim module\n  - OS: Updated older projects to use the BILED module\n  - OS: Saw the 1 second timer getting delayed, manifested by ComTestStartTimer taking 13 seconds dignal rather than 10.  Due to timers being deleted before the next timer was fetched.\n  - VM: ComTestStartTimer now using fast tick to avoid expiring after 9 - 10 seconds (only following RUN from SPLat\/PC, power on was always 10s).\n  - VM: XwireGetPollCntr now increments as soon as a packet is received rather than at the start of sending the response, this also fixed a problem where poll count was not incrementing if the slave had no data to return; interpacket time delays have been shortend to increase throughput.\n  - Increased timer stack from 64 to 80\n  - STM32: The watchdog can now have it's timeout set by the application\n  - VM: Fixed STTest which was not working correctly due to a typo.  It was especially worse with small delays.\n  - STM32F0: DIO_vWrite() was HardFaulting when clearing a pin, moved it to the BRR specific register\n  - OS: added UTIL_bBitReverse()\n  - VM: NVReadRec &amp; NVWriteRec were incorrectly expecting a 16 bit address but it's only an 8 bit address.\n  - STM32F3: EEPROM driver is working\n  - STM32: I2C EEPROM device can now be specified at runtime\n  - STM32: Lowered priority given to reporting watchdog resets as it was being reported rather than power on from standby (when the wake from standby was being intentionally triggered by the dog).\n  - VM: simplified Shadow function (write now does a clear too)\n  - VM: SEXI was not working when analogue I\/O didn't start at 0\n  - VM: now able to report analogue I\/O when numbering doesn't start at 0\n  - SPLatVM: SEXI was not turning off blinking outputs when SPLat\/PC connected\n  - SEXI: a duplicate slave entry in the Xwire table now doesn't incorrectly increase the nof I\/O's;\n  - VM: More than 10 analogues, in or out, are now correctly sent to SPLat\/PC.\n  - VM: Now ensure countdown timers are cleared on VM reset\n  - VM: GoIfInOn\/Off\/K were ignoring \"J\"\n  - VM: ComTestStartTimer now using fast tick to avoid expiring after 9 - 10 seconds (only following RUN from SPLat\/PC, power on was always 10s).\n  - VM: XwireGetPollCntr now increments as soon as a packet is received rather than at the start of sending the response, this also fixed a problem where poll count was not incrementing if the slave had no data to return; interpacket time delays have been shortend to increase throughput.\n  - VM: Fixed display of PermStore values in the \"Module\" window in SPLat\/PC as all bytes were off by 1, thus the first byte was always missing and the \"status\" was never correct.\n  - VM: the Xwire LCD master now sends zeroes for the command bytes (blink, etc) otherwise sending these bytes sent garbage and stuffed up the LCD.\n  - OS: Created IO_UNUSED() macro\n  - VM: Created a generic conductivity module.\n  - VM: WaitOnKT wasn't working (incorrect opcode length)\n  - OS: OBLCD now returns a SeqCount whenever the buffer has changed so the caller can refresh only when necessary.\n  - VM: WtoU, QtoU, UtoW, UtoQ, fixToU, floatFromU, would incorrectly error when loading a float into U&#91;16+]\n  - VM: Doing a fGetTimer or Test quickly after starting a timer may sometimes have caused the timer to expire immediately.\n  - STM32F3: now support the DACs\n  - VM: fixed a serious bug in fSTTimeSince &amp; STTest that 2 days after the controller is turned on made both functions think the elapsed time is always greater than 167772.16s.\n  - ARM: The SPLat\/VM on ARM boards was throwing a RAM OutOfBounds error when trying to access byte 250 which is actually the legal last address.\n  - created VM keypad driver\n  - SPLatVM: MemToUV and UVToMem were ignoring the u&#91;n] offset and always starting from u&#91;0].\n  - ARM: volatile in typedef was placing constants in the .data segment, moved volatile keyword to variables themselves.\n  - ARM: created common function for fetching device ID; STM32F4 devices will now report a different USB serial number, hence their COM port assigned by windows will change.\n  - ARM: a 16bit and 24bit ID is now available on all ARM boards.  These are a CRC of a bigger ID so there's a small chance two controllers may have the same ID (chance is obviously less with the 24bit version).\n  - VM: sometimes a controller running MODBUS would reset when SPLat\/PC connected due to an incorrect method of mutex release when closing the MODBUS port.\n  - ARM: removed \"oIsSDA\" flag for I2C definition as it's now done automatically\n  - VM: a pullup can now be specified for the serial RX pin.\n  - Added RXPULLUP to F3 and NXP builds\n  - ARM STMicro boards: If MODBUS was set to 8 data bits even parity, a 0x00 would cause a LIN break and resulted in the packet being dumped resulting MODBUS errors (typically no response if the SPLat is a MODBUS slave).\n  - VM: SPx callbacks modified to receive the registered address, this allow multiple instances to exist.\n  - OS: created htonl()\n  - VM: floatFromU and fixToU were corrected to treat W as big endian when transferring between U\n  - removed double handling of the xwire physical interface number, so now it's not in VMXW module but is only in the XW module.\n  - ARM: SEXI was incorrectly calculating the output size limit, so a value of 37 outputs which is legal was throwing a \"too big\" error.\n  - ARM: WarmBoot now doesn't cause an error, it just restarts the VM.  This is the same behaviour as the 8bit controllers.\n  - ARM: fixed a reset that could occur if Xwire Slave was restarted when it &amp; MODBUS Slave were operating simultaneously.\n  - Xwire: the Xwire slave thread could run out of stack and cause a reset\n  - NVEM may now report SPxNoResp instead of NVEMPtrOOB if there's a problem communicating with an external EEPROM\n  - VM:The CAN bus interface is now supported\n  - VM: SPxChOut is no longer NULL terminated, allowing V to be any value without impacting the data in U.\n  - FatFS: added SD card \"how it works\" docs\n  - logger1302: updated for latest OS\n  - various SPx modules updated for latest OS\n  - now filling both stacks to help detect overflow\n  - OS: created a generic ST SPI configuration, clock &amp; txfr function.\n  - OS: increased IRQ stack to avoid overflow in debug builds\n  - VM: Fixed InputOM that was returning wildly incorrect values.\n  - VM: the delay between a slave receiving and replying was to quick causing legacy controllers to miss the response, increased to around 500us.\n  - VM: Oh dear, RTCDateToUV, RTCDMToUV, RTCHHMMToUV, RTCHHMMSSToUV were all incorrectly using the _current_time_ rather than the values in the RTC registers.  So functions like OBLCD_HHMMSS were displaying the current time rather than the time in the RTC registers.\n  - VM: stop I\/O messages during app upload\n  - Setting the NV pointer no longer checks for OOB, it now only check to ensure the pointer is &lt; 0xFFFF.  This means the PTR can be set and page chosen in any order.  The check for NVOOB is done only when reading\/writing NVEM.\n  - VM: YieldTask may now be called in single tasking mode without throwing en error.  This is especially useful in subroutines which may be shared by both single and multi-tasking applications.\n  - VM: ARM based OBQC_fGet used to return 0 thru 16777215, but this meant moving backward from 0 would cause a jump to 16777215.  So now it returns negative, which is the same as 8bit SPLat controllers.\n  - VM: ARM controllers now support UVtoNV for NVEM page 1 and up.\n  - VM: A race condition existed in the QuadratureCounter that could cause wrong readings to be returned, often this was seen when moving backwards with the count being returned as a large positive number rather than a small negative number.  Thanks to Michael B for spotting this.\n  - VM: OBLCD_Dim may now be used without throwing an error on boards that only support a virtual LCD, it is simply ignored.\n  - STM32F3: can now measure the 3V3 rail based on an internal reference\n  - VM: floatFromU was not working correctly for negative numbers.\n  - ARM ST: added generic speaker driver for ST parts, this required a large structural change to the analogue output module (both PWM &amp; DAC)\n  - VM: reading the internal analogue reference via a float (ie in the VM) now returns a normalised number based on the ST factory calibration value (multiply by 3.3 to get Vcc)\n  - VM: relay driver can now invert the PWM signal, for those times it's connected to an inverting input.\n  - SPLatOS: AIO_oReadVref now returns a normalised value, unscaled as some boards may use 3.4V rather than 3.3.\n  - SPLat\/PC is now able to connect via TTL serial to ARM boards on the first attempt.\n  - VM: comms profile 5 was 8bits, odd_parity, 2stop but should have been no_parity as per MODBUS standards\n  - OS: ANALOGUE_OUTPUT now includes an INVERTPWM parameter, so fAnOut 0.0 means maximum.\n  - VM: added support for OBLCD_HGraph, OBLCD_CursorOff, OBLCD_CursorOn, OBLCD_CursorBlink.  These also work over Xwire, both as master and as slave.\n  - VM: suspend and resume were using little endian rather than big endian, never caused a problem, only a train spotter would notice.\n  - VM: UVtoNV wasn't working right as it was ignoring the \"offset\", so now modified for use in ARM meaning V must be explicitly set, it won't use NVRecLen to allow for a more flexible instruction.\n  - VM: added generic module for driving outputs as either analogue or digital\n  - VM: If the first output in a call to OutputM didn't exist the controller would correctly reset but incorrectly not report the error to SPLat\/PC.\n  - STM32: created PWM measurement driver\n  - Added SPxPoll1 function to LCD VM so it could:\n    - Read a character from the LCD buffer at a nominated position;\n    - Read the current brightness (also available via the CPU).\n  - Also added macro paste commands to the utilities.\n  - Added SPxCmd2 command to write a byte to a specified LCD buffer location. Command format is SPxCmd2 2,address with U&#91;0]=offset and U&#91;1]=byte.\n  - Utils: Added 32-bit version of bit reversal code just to complete the set. (There was a gap between 16 and 64 bits.)\n  - Implemented SPx command (Cmd4, specifically) to set any random baud rate on any port - The command number is the physical port number and U&#91;0..3] is the baud rate as a float.\n  - SetCursor or SetCursorYX now outputs the new position to the display immediately if the cursor is on.\n  - (System\/VM): Added new function to enable setting just the receive call-back function.\n  - System: Added new allowable baud rate value of 15626 (offset 13), specifically for the RFID device.\n  - (System) Increased U part of UV register array from 21 bytes to 251.\n  - Added code to implement OBLCD_GetCurYX\n  - SetCursor or SetCursorYX now outputs the new position to the display immediately if the cursor is on.\n  - Added framework code behind the SPiceX calls: SPiceConfigU, SPxTxfrU and SPxMode.\n  - SPLat\/OS: Modified LCD driver code to minimise the chance of multiple threads writing to the LCD at the same time.\n  - SPLat\/OS LCD Driver Update:\n    - Changed order of LCD initialisation to ensure the buffer is cleared after the CGRAM is set.\n    - Moved 50us delay into LCD_vWriteByte to ensure every command includes an appropriate delay.\n  - (System) Implemented signed version of byte-sized display routines (OBLCD_SDecDispMFW, OBLCD_SDecDispMVW, OBLCD_SDecDispXFW and OBLCD_SDecDispXVW)\n  - System Firmware for 32-Bit: Changed 256-instruction limit to be 1024 instructions, as the 32-bit code is about 10 times faster than the 8-bit code where this limitation was introduced.\n  - System: SPxCPU: Changed SPxTxfrU instruction to a SPxChOut instruction. Load U with the data, V with the length, then issue a CPU SPxChOut command with code 0 for 16 bits and 1 for 24 bits.  Results start at U&#91;1]\n  - (System) Added magnitude checking when sending the LSB of an analog value over SEXI\n  \n==========\n== V4.4 ==\n==========\n12 Feb 2016\n- SX10508: The RS485 port may be used for logging ASCII\/Binary data rather than just Xwire.  The default app will use the RS485 port for this data if link J1 is removed.\n- SX10508: added the ability to write the RTC cal anytime.\n- SX10508: Enabled code protection.<\/code><\/pre>\n\n\n\n<h6 class=\"wp-block-heading\">2. Download the SPLat SPLash application<\/h6>\n\n\n\n<p>Download then run SPLash. It won&#8217;t install anything but will simply run from the current directory. This tool will upload the firmware to your SPLat controller. You will need a USB-TTLSerial cable.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-499968f5 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-text-align-center wp-element-button\" href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/reFlash_Setup31.exe\">Download SPLash<\/a><\/div>\n<\/div>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Run SPLash and you&#8217;ll see this:<br><img loading=\"lazy\" decoding=\"async\" width=\"394\" height=\"239\" src=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash01.png\" alt=\"SPLash screen shot\"><\/li>\n\n\n\n<li>Either&nbsp;<strong>Browser<\/strong>&nbsp;or drag&amp;n drop a&nbsp;<strong>.hex<\/strong>&nbsp;or&nbsp;<strong>.s19<\/strong>&nbsp;file onto the SPLash window.<\/li>\n\n\n\n<li>Install the&nbsp;<strong>PGM<\/strong>&nbsp;link on your controller, connect the TTL communications cable, then apply power and connect it to your PC.<\/li>\n\n\n\n<li>Click the\u00a0<strong>Burn<\/strong>\u00a0button. You should see the following progress:<br><img loading=\"lazy\" decoding=\"async\" width=\"268\" height=\"176\" src=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash02.png\" alt=\"SPLash unprotecting\"><img loading=\"lazy\" decoding=\"async\" width=\"268\" height=\"176\" src=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash03.png\" alt=\"SPLash uploading\"><img loading=\"lazy\" decoding=\"async\" width=\"268\" height=\"176\" src=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash04.png\" alt=\"SPLash completed\"><\/li>\n\n\n\n<li>All done. Remove the jumper and power cycle your controller. You&#8217;ll need to reinstall your SPLat application.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>1. Download SPLat Firmware 2. Download the SPLat SPLash application Download then run SPLash. It won&#8217;t install anything but will simply run from the current&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"template":"","spl_category":[],"class_list":["post-4949","spl_download","type-spl_download","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>sx10508 - SPLat Controls<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"sx10508 - SPLat Controls\" \/>\n<meta property=\"og:description\" content=\"1. Download SPLat Firmware 2. Download the SPLat SPLash application Download then run SPLash. It won&#8217;t install anything but will simply run from the current...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/\" \/>\n<meta property=\"og:site_name\" content=\"SPLat Controls\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-22T08:27:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash01.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/\",\"name\":\"sx10508 - SPLat Controls\",\"isPartOf\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash01.png\",\"datePublished\":\"2025-05-13T11:47:32+00:00\",\"dateModified\":\"2025-05-22T08:27:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/#primaryimage\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash01.png\",\"contentUrl\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash01.png\",\"width\":394,\"height\":239},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"sx10508\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/\",\"name\":\"SPLat Controls\",\"description\":\"OEM Embedded Machine Controllers\",\"publisher\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization\",\"name\":\"SPLat Controls\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg\",\"contentUrl\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg\",\"caption\":\"SPLat Controls\"},\"image\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"sx10508 - SPLat Controls","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"sx10508 - SPLat Controls","og_description":"1. Download SPLat Firmware 2. Download the SPLat SPLash application Download then run SPLash. It won&#8217;t install anything but will simply run from the current...","og_url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/","og_site_name":"SPLat Controls","article_modified_time":"2025-05-22T08:27:19+00:00","og_image":[{"url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash01.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/","name":"sx10508 - SPLat Controls","isPartOf":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/#primaryimage"},"image":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/#primaryimage"},"thumbnailUrl":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash01.png","datePublished":"2025-05-13T11:47:32+00:00","dateModified":"2025-05-22T08:27:19+00:00","breadcrumb":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/#primaryimage","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash01.png","contentUrl":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2025\/05\/splash01.png","width":394,"height":239},{"@type":"BreadcrumbList","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/download\/sx10508\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/"},{"@type":"ListItem","position":2,"name":"sx10508"}]},{"@type":"WebSite","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/","name":"SPLat Controls","description":"OEM Embedded Machine Controllers","publisher":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webprojects.cloud\/wordpress\/splatco\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#organization","name":"SPLat Controls","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg","contentUrl":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-content\/uploads\/2024\/10\/logo.svg","caption":"SPLat Controls"},"image":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_download\/4949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_download"}],"about":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/types\/spl_download"}],"author":[{"embeddable":true,"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/media?parent=4949"}],"wp:term":[{"taxonomy":"spl_category","embeddable":true,"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_category?post=4949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}