{"id":1334,"date":"2025-04-10T09:59:59","date_gmt":"2025-04-10T09:59:59","guid":{"rendered":"https:\/\/webprojects.cloud\/wordpress\/splatco\/?post_type=spl_knowledgebase&#038;p=1334"},"modified":"2025-05-29T13:04:05","modified_gmt":"2025-05-29T13:04:05","slug":"hd8-cpu-device","status":"publish","type":"spl_knowledgebase","link":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/","title":{"rendered":"HD8: CPU device"},"content":{"rendered":"\n<p>The HD8 with late&nbsp;<a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/glossary-of-terms\/#o370\">Firmware<\/a>&nbsp;revisions can respond to UV instructions that address the&nbsp;<a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/programming-reference\/instructions-arranged-by-function\/system-calls-the-cpu-device\/the-cpu-device\/\">CPU device<\/a>. Some of the responses are dependent on the hardware configuration.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">Board Type<\/h6>\n\n\n\n<p>The board will respond to the following board-type poll:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">  SPxPoll2      3,!<a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/glossary-of-terms\/#o431\">CPU<\/a><\/pre>\n\n\n\n<p>by placing its board type identification number on U0 and U1. The response is a function of the type (model) of board and the number of connected XPice expansion boards (e.g.&nbsp;<a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-expansion-boards\/xbio16-16-bidirectional-i-os\/\">XBIO16<\/a>,&nbsp;<a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-expansion-boards\/xiro16-8-inputs-and-8-relay-outputs-5a\/\">XIRO16<\/a>,&nbsp;<a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-expansion-boards\/hio16-8-high-power-relays-20a-1hp-and-8-isolated-inputs\/\">HIO16<\/a>). The numbers can be fetched from U0 and U1 by the&nbsp;<code><a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/programming-reference\/instructions-arranged-by-function\/stack-instructions\/pushu-n\/\">PushU<\/a><\/code>&nbsp;instruction.<\/p>\n\n\n\n<p>The following table defines the responses for the HD8 with varying amounts of expansion:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Configuration<\/td><td>U0<\/td><td>HD8<\/td><\/tr><tr><td><a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/glossary-of-terms\/#o372\">Controller<\/a>&nbsp;alone<\/td><td>0<\/td><td>141<\/td><\/tr><tr><td>Controller+16XPice<\/td><td>0<\/td><td>142<\/td><\/tr><tr><td>Controller+32XPice<\/td><td>0<\/td><td>143<\/td><\/tr><tr><td>Controller+48XPice<\/td><td>0<\/td><td>144<\/td><\/tr><tr><td>Controller+64XPice<\/td><td>0<\/td><td>145<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Note that you can discover in this way how much expansion has been added but not the type of expansion board.<\/p>\n\n\n\n<p>Interpreting the number of XPice points can be a little tricky. For boards with segregated inputs and outputs, like XIRO16 and HIO16, each 8I\/8O board corresponds to 16 XPice points. For the XBIO16, each bidirectional point corresponds to one input and one output (and appears as such on the SPLat\/PC screen). That means one XBIO16 board gets counted as 32 XPice points although it only adds 16 I\/O points to your configuration.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">PWM base frequency<\/h6>\n\n\n\n<p>The HD8 can be supplied to special order with pulse width modulated (PWM) outputs in lieu of analog outputs. Normally the frequency of the PWM pulse train is 16kHz. The base frequency can however be altered using the instruction:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">SPxCmd1          0,!CPU<\/pre>\n\n\n\n<p>with register U0 preset to a value between 0 and 7. The resulting PWM frequencies are given in the following table:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><th>U0<\/th><th>PWM frequency<\/th><\/tr><tr><td>0<\/td><td>16kHz (Default)<\/td><\/tr><tr><td>1<\/td><td>8kHz<\/td><\/tr><tr><td>2<\/td><td>4kHz<\/td><\/tr><tr><td>3<\/td><td>2kHz<\/td><\/tr><tr><td>4<\/td><td>1kHz<\/td><\/tr><tr><td>5<\/td><td>500Hz<\/td><\/tr><tr><td>6<\/td><td>250Hz<\/td><\/tr><tr><td>7<\/td><td>125Hz<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Any other value will result in a fatal runtime error.<\/p>\n\n\n\n<p>Both PWM pins are affected. This feature is designed to be used with PWM output circuits such as DC motor speed controls or&nbsp;<a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/programming-examples\/example-controlling-an-rc-servo\/\">RC servos<\/a>.<\/p>\n\n\n\n<p>When used with an&nbsp;<code><a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/programming-reference\/instructions-arranged-by-function\/analog-instructions\/anout\/\">AnOut<\/a><\/code>&nbsp;instruction, the resolution is 8 bits. With&nbsp;<code><a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/programming-reference\/instructions-arranged-by-function\/analog-instructions\/fanout-c-d18\/\">fAnOut<\/a><\/code>&nbsp;it is 10 bits.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">Modify SuperTimer 10mS clock interval<\/h6>\n\n\n\n<p>You can change the basic 10mS SuperTimer clock interval to some other value. Set U0 to the required value in mS and then execute a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">         SPxCmd1         1,!CPU<\/pre>\n\n\n\n<p>This affects all timers that use the SuperTimer mechanism, which is any timer that can have a duration counter up to 16,777,215 (<code><a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/programming-reference\/instructions-arranged-by-function\/fasttrack-instructions\/pause-tttt\/\">Pause<\/a><\/code>,&nbsp;<code><a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/programming-reference\/instructions-arranged-by-function\/timing-instructions\/elapsed-timers\/system-timer\/fsttimesince-aa-d16\/\">fSTTimeSince<\/a><\/code>,&nbsp;<code><a href=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/programming-reference\/instructions-arranged-by-function\/timing-instructions\/waitont-iitttt\/\">WaitOnT<\/a><\/code>, etc). If you set the interval to 1, the timing will run 10 times faster than normal. If you set it to 256, the timing will run 25.6 times&nbsp;<em>slower<\/em>&nbsp;than normal giving you a timing range of 49.7 days. Due to the resolution of the internal math, the re-scaling will produce an error of up to 0.2% at the slow end of the scale. The actual error will be the error produced by rounding 65,536\/U0 to the nearest integer. If U0=0 it reverts to the default 10mS.<\/p>\n\n\n\n<p>Note that it makes little sense to run the SuperTimers with a clock that is faster than the &#8220;loop time&#8221; of your program.<\/p>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>The HD8 with late&nbsp;Firmware&nbsp;revisions can respond to UV instructions that address the&nbsp;CPU device. Some of the responses are dependent on the hardware configuration. Board Type&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1300,"menu_order":8,"template":"","class_list":["post-1334","spl_knowledgebase","type-spl_knowledgebase","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>HD8: CPU device - 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=\"HD8: CPU device - SPLat Controls\" \/>\n<meta property=\"og:description\" content=\"The HD8 with late&nbsp;Firmware&nbsp;revisions can respond to UV instructions that address the&nbsp;CPU device. Some of the responses are dependent on the hardware configuration. Board Type...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/\" \/>\n<meta property=\"og:site_name\" content=\"SPLat Controls\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-29T13:04:05+00:00\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/\",\"url\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/\",\"name\":\"HD8: CPU device - SPLat Controls\",\"isPartOf\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website\"},\"datePublished\":\"2025-04-10T09:59:59+00:00\",\"dateModified\":\"2025-05-29T13:04:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product documentation\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Product documentation: Controllers\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"HD8 Product documentation\",\"item\":\"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"HD8: CPU device\"}]},{\"@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":"HD8: CPU device - 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":"HD8: CPU device - SPLat Controls","og_description":"The HD8 with late&nbsp;Firmware&nbsp;revisions can respond to UV instructions that address the&nbsp;CPU device. Some of the responses are dependent on the hardware configuration. Board Type...","og_url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/","og_site_name":"SPLat Controls","article_modified_time":"2025-05-29T13:04:05+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/","url":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/","name":"HD8: CPU device - SPLat Controls","isPartOf":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/#website"},"datePublished":"2025-04-10T09:59:59+00:00","dateModified":"2025-05-29T13:04:05+00:00","breadcrumb":{"@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/hd8-cpu-device\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/"},{"@type":"ListItem","position":2,"name":"Product documentation","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/"},{"@type":"ListItem","position":3,"name":"Product documentation: Controllers","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/"},{"@type":"ListItem","position":4,"name":"HD8 Product documentation","item":"https:\/\/webprojects.cloud\/wordpress\/splatco\/knowledgebase\/product-documentation\/product-documentation-controllers\/hd8-product-documentation\/"},{"@type":"ListItem","position":5,"name":"HD8: CPU device"}]},{"@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_knowledgebase\/1334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_knowledgebase"}],"about":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/types\/spl_knowledgebase"}],"author":[{"embeddable":true,"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/users\/1"}],"up":[{"embeddable":true,"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/spl_knowledgebase\/1300"}],"wp:attachment":[{"href":"https:\/\/webprojects.cloud\/wordpress\/splatco\/wp-json\/wp\/v2\/media?parent=1334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}