{"id":8734,"date":"2007-04-19T19:35:00","date_gmt":"2007-04-19T23:35:00","guid":{"rendered":"https:\/\/nuxx.net\/blog\/2007\/04\/19\/it-works-2\/"},"modified":"2026-07-01T11:35:22","modified_gmt":"2026-07-01T15:35:22","slug":"it-works-2","status":"publish","type":"post","link":"https:\/\/nuxx.net\/blog\/2007\/04\/19\/it-works-2\/","title":{"rendered":"It works."},"content":{"rendered":"<p>When this&#8230;<\/p>\n<blockquote><p><tt>sendCommand(mode2, 0)<br \/>\nsendCommand(playButton, 0)<br \/>\nsendCommand(relButton, 0)<\/tt><\/p><\/blockquote>\n<p>Which supposedly sends these commands&#8230;<\/p>\n<blockquote><p><tt>const mode2 as byte[5] = (0x03,0x00,0x01,0x02,0xFA)               'Simple iPod Remote<br \/>\nconst playButton as byte[5] = (0x03,0x02,0x00,0x01,0xFA)          'Play Button<br \/>\nconst relButton as byte[5] = (0x03,0x02,0x00,0x00,0xFB)           'Release Button<\/tt><\/p><\/blockquote>\n<p>Gives me this in the serial console&#8230;<\/p>\n<blockquote><p><tt>Received: 0xFF 0x55 0x03 0x00 0x01 0x02 0xFA 0xFF 0x55 0x03 0x02 0x00 0x01 0xFA<br \/>\nReceived: 0xFF 0x55 0x03 0x02 0x00 0x00 0xFB <\/tt><\/p><\/blockquote>\n<p>&#8230;I know it&#8217;s time to go home.<\/p>\n<p>And yes, <a href=\"http:\/\/c0nsumer.livejournal.com\/997740.html?thread=3802220#t3802220\">as suggested earlier<\/a> I just went ahead pre-calculated the checksums. I also just bundled the packet lengths in there too, and I read that first bit to determine how many bits have to be sent so that packets of arbitrary length may be sent simply by defining them as a constant. <\/p>\n<p>It&#8217;s sending back to the PC properly, but not to the iPod. I think that&#8217;s because of some weirdness with the pins I chose to use. It worked fine on the PIC16F88, but for some reason that thing cooked this morning. (It now reports itself as some 12F part, likely indicating that some of the bits which indicate the part type have failed.)<\/p>\n<p>Now to get the part running from the internal oscillator instead of a crystal and responding to commands from the serial port. (Both of these should be fairly easy.)<\/p>\n<p>After that I can start building the list of responses I want sent to the Honda Music Link (initial by-hand decoding of a sample conversation between my iPod and the HML can be seen <a href=\"http:\/\/nuxx.net\/files\/hml_mikrobasic_help.txt\">here<\/a>). Then once that&#8217;s all set it&#8217;s time to plug it into the car and hope things work as designed. If <em>that<\/em> works it&#8217;s time to design the PCB and see about producing a dozen or so.<\/p>\n<p>Thanks very much <lj user=bdu> and <lj user=icis_machine> for directing me to pointers, structures (even though I didn&#8217;t use structures) and the unknown-to-me <a href=\"http:\/\/www.mikroe.com\/en\/compilers\/mikrobasic\/pic\/\">mikroBasic<\/a> manual.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When this&#8230; sendCommand(mode2, 0) sendCommand(playButton, 0) sendCommand(relButton, 0) Which supposedly sends these commands&#8230; const mode2 as byte[5] = (0x03,0x00,0x01,0x02,0xFA) &#8216;Simple iPod Remote const playButton as byte[5] = (0x03,0x02,0x00,0x01,0xFA) &#8216;Play Button const relButton as byte[5] = (0x03,0x02,0x00,0x00,0xFB) &#8216;Release Button Gives me this in the serial console&#8230; Received: 0xFF 0x55 0x03 0x00 0x01 0x02 0xFA 0xFF 0x55\u2026<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,11,34],"tags":[],"class_list":["post-8734","post","type-post","status-publish","format-standard","hentry","category-electronics","category-making-things","category-moved-from-livejournal"],"_links":{"self":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/8734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/comments?post=8734"}],"version-history":[{"count":1,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/8734\/revisions"}],"predecessor-version":[{"id":12896,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/posts\/8734\/revisions\/12896"}],"wp:attachment":[{"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/media?parent=8734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/categories?post=8734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuxx.net\/blog\/wp-json\/wp\/v2\/tags?post=8734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}