You can also use it as a dashcam and it has a valet mode.
Unfortunately, it wasn't available in 2014 at all. And from 2015 on, it was only bundled with the factory nav system.
Early on I had some ideas about trying to add it to my car, but I gave up due to the complexity and the high cost of the parts. Mainly the control module itself.
Then two things happened. First was a guy on the Corvette forum claimed to have a dead 2015 PDR that failed a software update. Second was some 6th gen Camaro guys successfully retrofitted PDRs to their cars. Now I don't have any need of this at all, but I figured it might be interesting to poke around with.
I got in touch with the guy who had the part and picked it up for $50, shipped. These things normally go for $500-900 in working order. Brand new they're $1400.

I hooked it up to my bench harness, and sure enough, I was able to pull some diagnostic data via the scan tool

I also managed to find a serial diagnostic port on the board. That's the first time I've ever found one of those on my own
Code: Select all
*LOAD**LOAD*Uncompressing Linux... done, booting the kernel.
Linux version 3.2.0+ (afarrell@CNT1BS1) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG hg+default-0dfc9c1fcb34) ) #1 Mon Feb 9 12:40:20 GMT 2015
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=50c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Marlin PDR
bootconsole [earlycon0] enabled
vram size = 4194304 at 0x0
reserved size = 4194304 at 0x0
FB: Reserving 4194304 bytes SDRAM for VRAM
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 74752
free_area_init_node: node 0, pgdat c0355498, node_mem_map c0375000
Normal zone: 728 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 74024 pages, LIFO batch:15
omap2_set_globals_tap 81000081
omap2_check_revision 81000081
OMAP chip is TI8148 2.0
etc etc etc
Code: Select all
VFS: Mounted root (romfs filesystem) readonly on device 31:4.
devtmpfs: error mounting -2
Freeing init memory: 140K
Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
Function entered at [<c000f325>] from [<c021d2a9>]
Function entered at [<c021d2a9>] from [<c021d143>]
Function entered at [<c021d143>] from [<c02f45c7>]
I only had access to the 2016 firmware with my GM subscription, but Matt was generous enough to send me some 2015 firmware update files he got his hands on.
With all that in hand, I just might be able to resurrect this thing.


