PAC C2R-CHY Stereo Interface

Review of CAN Enabled products that are available on the market.

PAC C2R-CHY Stereo Interface

Postby linuxkidd » Wed Oct 18, 2006 7:48 am

Product Link (second item on page as of 18 Oct 2006)

Image

What it is:
The C2R-CHY allows you to replace the factory radio in 2005-2006 Chrysler, Dodge and Jeep vehicles. The C2R-CHY provides Accessory, Parking Brake, Reverse, Parking light and VSS outputs. The C2R-CHY auto detects the factory amplifier in the vehicle and turns it on via the C2R-CHY's remote input wire.


Very nice unit for installing an aftermarket radio. I have only one issue with the unit. The VSS signal seems to not be 100% stable. I've been working with PAC on this issue, so I may update this later with more information.

MUST HAVE THIS UNIT IF:
    You want to install an aftermarket radio, and continue to use the vehicles OEM Boston Acoustic Amp.
    You want to install an aftermarket Navigation unit which requires a VSS Signal.


LK
If you can read this, the light is still red.
User avatar
linuxkidd
Site Admin
 
Posts: 303
Joined: Fri Jul 22, 2005 2:48 pm
Location: Chapel Hill, NC

Chrysler turn on source code

Postby codekey » Wed Nov 29, 2006 6:59 pm

You can use the attached Mplab files and and program the C2R-CHY to turn on Chrysler radios. The edge connector pinout for the C2R-CHY is in the Chryslerturnon.c file. Use the latest Microchip C18 compiler, which i think is ver 3.06.

The blue/white wire when connected to +12volts will send a CAN message to turn on the radio. Some radios need an extra message to keep the radio happy, otherwise it will turn on and off every few seconds. I left that code out on purpose so people can just add to it. No fun unless its a challenge.
Attachments
can hack chrysler turnon.zip
(25.17 KiB) Downloaded 155 times
codekey
What's hacking?
 
Posts: 25
Joined: Tue Jul 26, 2005 4:14 am
Location: West Covina

Postby linuxkidd » Wed Nov 29, 2006 7:50 pm

Thanks for the hack codekey!!



PAC: Any luck on an update to help the VSS signal?

Thanks!
LK
If you can read this, the light is still red.
User avatar
linuxkidd
Site Admin
 
Posts: 303
Joined: Fri Jul 22, 2005 2:48 pm
Location: Chapel Hill, NC

Postby codekey » Thu Nov 30, 2006 1:35 am

PAC? Who is PAC? :roll:

Code: Select all
#pragma interrupt HighISR
void HighISR(void)
{               
   if(PIE1bits.TMR2IE && PIR1bits.TMR2IF)
   {
      TMR2 = 0;
      PIR1bits.TMR2IF = 0;
      if(++TMR2Count > TMR2Temp * 10)
      {
         TMR2Count = 0;
         VssOutputWire_RC2 = 1;
      }
      else
      if(TMR2Count > 5)
      {
         VssOutputWire_RC2 = 0;
      }
   }     
}


Code: Select all
union VssCount
{
   unsigned int VssCountIntNumber;
   struct{
      unsigned char LowByte;
      unsigned char HighByte;
   }VssCountHighLow;
}VssCount;

void main(void)
{
   OpenTimer0(TIMER_INT_ON & T0_8BIT & T0_SOURCE_INT & T0_PS_1_32);
   OpenTimer2(TIMER_INT_OFF & T2_PS_1_1 & T2_POST_1_1);
   PR2 = 0xfa;

#define   VssID 0x002   
      
    for(;;)
    {
      
      while( !ECANReceiveMessage(&IDAddress, RX_Data, &u8RX_DataLen, &u8RX_Flags) )
      {
         
      }
      
      if(IDAddress == VssID)
      {
         VssCount.VssCountHighLow.HighByte = RX_Data[2];
         VssCount.VssCountHighLow.LowByte = RX_Data[3];
         VssNumber = (VssCount.VssCountIntNumber * 0.00390625);
         TMR2Temp = 255 / VssNumber;
         if(VssNumber == 255)
         {
            PIE1bits.TMR2IE = 0;
            VssOutputWire_RC2 = 0;
         }
         else
         {
            PIE1bits.TMR2IE = 1;
         }
      }
}


Here is bits and pieces that can be added to the previous files. I can't give everything, but at least you can see how the speed pulse is generated using Timer2. This is old code so variable names don't match.
codekey
What's hacking?
 
Posts: 25
Joined: Tue Jul 26, 2005 4:14 am
Location: West Covina

Postby este00 » Mon Dec 04, 2006 5:45 pm

Since thats the only thing your chip is doing I would sway against an ISR in favor of polling.

Personal preference, but for such a simple task as monitoring the VSS tone wheel's state I prefer a poll to an ISR.

Also, switching to an polling over an ISR clears up the INT pins for more important tasks (should they exist).

However, I certainly would not float multiply! I mean, you can, you obviously have the processing time to do so, but can I recommend bit_shift instead? Look at the result of x = 2 >> 3 compared to x = 2 * .125. The only difference is the >> comes rounded for you (in the case of using a float to store), and its is dozens of times faster. Downside is that is only works for powers of 2, which your magic number (0.00390625) is.

My projects rarely have time for such isrs and almost never have the luxury of float division. So, other then that stuff,

Looks good codekey,
este00
Yes, we CAN hack!
 
Posts: 76
Joined: Mon Dec 05, 2005 8:07 pm

Re: PAC C2R-CHY Stereo Interface

Postby bstock72 » Wed May 28, 2008 2:59 am

ok new to this and prolly confused but am i understanding that the C2R-CHY can be programmed to turn on a factory nav unit? I have one that I was wanting to try to install in a older vehicle.
bstock72
How the heck did I end up here?
 
Posts: 1
Joined: Tue May 27, 2008 8:53 am


Return to CAN Product Reviews

Who is online

Users browsing this forum: No registered users and 1 guest