{"id":459,"date":"2010-01-31T21:19:00","date_gmt":"2010-01-31T21:19:00","guid":{"rendered":"http:\/\/3.68.38.87\/?p=459"},"modified":"2023-06-01T02:59:39","modified_gmt":"2023-06-01T02:59:39","slug":"lets-chime-in-gm-29-bit-can-chime-control","status":"publish","type":"post","link":"https:\/\/canbushack.com\/web\/lets-chime-in-gm-29-bit-can-chime-control\/","title":{"rendered":"LET\u2019S CHIME IN: GM 29 BIT CAN CHIME CONTROL"},"content":{"rendered":"\n<p>For those of you who like to leave there car keys in the ignition while the driver door is open or who don\u2019t where a seat belt, you\u2019ve heard the Chime and have probably cursed it many, many times.&nbsp; Well I can help you defeat it or embrace it.<\/p>\n\n\n\n<p>First you need to gear up.&nbsp; You will need to connect to the GM Single Wire CAN bus.&nbsp; This is on PIN 1 of the DLC (OBD II port).&nbsp; SW CAN runs at 33,333 bps (standard rate).&nbsp; So once you hooked up your device (see earlier posts for info on these), you should be able to communicate with the vehicle over SW CAN.<\/p>\n\n\n\n<p>So now you just need to know the message, but first a crash course in GMLAN 29 bit ID.<\/p>\n\n\n\n<p>The 29 bit ID is broken into three pieces.&nbsp; The Priority, Parameter ID, and Source Address.&nbsp; The priority is the first 3 bits of the ID.&nbsp; Priority allows for more important messages to get greater access to the network in the case of high network congestion.&nbsp; This leaves 26 bits reaming of the 29 bits.&nbsp; These are divided evenly amongst the Parameter ID and the Source Address (i.e. 13 bits each).<\/p>\n\n\n\n<p>The Parameter ID is essentially the ID for what will be sent in the data portion of the frame.&nbsp; The Source Address is the node that sent the message.&nbsp; So messages from the address 040 all come from the same node.&nbsp; Cool huh!?<\/p>\n\n\n\n<p>So let\u2019s get to CHIME already\u2026<\/p>\n\n\n\n<p>Chime has a parameter ID of 0x0F.&nbsp; This means that if you want to send Chime you must put 0x0F starting at the 26th most signifigant bit. For example 0x1001E060 would be a chime command (0xF) with priority 4 (0 is highest priority) and send from node 0x60. Its easier to explain when we see this in binary. 0x0F is #b0:0000 0000:1111.&nbsp; So we put the whole ID together by taking the priority then parameter ID then source address.&nbsp; This will give us #b1:00<strong>00 0000:0001 111<\/strong>0:0000 0110:0000 (where the parameter ID is in bold).<\/p>\n\n\n\n<p>Ok now that we\u2019ve finished with the ID, let\u2019s look at the data.&nbsp; The data portion is what is defining all of the characteristics of the Chime.&nbsp; In other words will this be a long chime or a short one, a click sound or a ding sound, a one-time sound or multiple times?&nbsp; There are 5 bytes that define all of these characteristics.&nbsp; So you will see that you can do a lot.<\/p>\n\n\n\n<p>The first four bits of the first byte (the most signifigant nible) defines the speaker that this sound will come out of.&nbsp; For the front left speaker it is the most signifigant bit (or bit 7 of the byte). Next is the passenger (bit 6), then the rear driver side (bit 5), then rear passenger side (bit 4).&nbsp; So if you wanted to make the sound in only the driver speaker then you would send 0x8X in the first byte (where X is irrelivent).<\/p>\n\n\n\n<p>The second nibble of the first byte describes the type of sound it will be.&nbsp; Either a beep or a click.&nbsp; Experiment to find out what these are.<\/p>\n\n\n\n<p>The second byte describes the intonation of the chime.&nbsp; So you can adjust this on your own as well.<\/p>\n\n\n\n<p>The third byte is the amound of repetitions you would like the sound to make.&nbsp; So if you want the chime to happen three times. This should be set to 3.<\/p>\n\n\n\n<p>The fourth byte describes the duty of the chime.&nbsp; Experiment with this on your own.<\/p>\n\n\n\n<p>Last byte is unknown currently.&nbsp; But if you know send me an email, I\u2019ll update this entry.<\/p>\n\n\n\n<p>So if you would like to send chimes to your car, here you go.&nbsp; If you want to cancel a chime, it should be good enough to have your software wait for a chime command and simply send one of its own with a really fast chime and a 0% duty cycle.&nbsp; That should end the last chime command.<\/p>\n\n\n\n<p>Good luck and as always click on the contact link above if you have questions!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For those of you who like to leave there car keys in the ignition while the driver door is open or who don\u2019t where a seat belt, you\u2019ve heard the Chime and have probably cursed it many, many times.&nbsp; Well I can help you defeat it or embrace it. First you need to gear up.&nbsp; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":375,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7],"tags":[],"class_list":["post-459","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/canbushack.com\/web\/wp-json\/wp\/v2\/posts\/459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/canbushack.com\/web\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/canbushack.com\/web\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/canbushack.com\/web\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/canbushack.com\/web\/wp-json\/wp\/v2\/comments?post=459"}],"version-history":[{"count":0,"href":"https:\/\/canbushack.com\/web\/wp-json\/wp\/v2\/posts\/459\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/canbushack.com\/web\/wp-json\/wp\/v2\/media\/375"}],"wp:attachment":[{"href":"https:\/\/canbushack.com\/web\/wp-json\/wp\/v2\/media?parent=459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/canbushack.com\/web\/wp-json\/wp\/v2\/categories?post=459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/canbushack.com\/web\/wp-json\/wp\/v2\/tags?post=459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}