We are looking to develop our own software for an existing CAN BUS automotive microcontroller.
Base controller is ARM 7 based, NXP LPC2364FBD100
The controller has multiple analog and digital inputs and outputs as well as 2 sets of CAN connections.
The goal is to make a simple interface for retail end users to self-program the hardware to meet their needs.
Customer wishes to have an output latch low when a sequence of CAN events is detected, then cancel the latch with the same sequence of events.
Device should be in "learning mode" to learn the sequence of events the user wants to trigger the output.
Customer then "trains" the module on what set of events they want the customer to react to. Such as: Engine on, two door-lock messages and two rear defrost messages are required to trigger. The hardware would watch the CAN's and "learn" this sequence of events.
Once it learns the events, the customer can then configure which output they wish to use and how it reacts to the trigger sequence. For example, have output #1 latch low. This output would stay in this state until the same sequence of events is registered again, shutting off the output.
Outputs can be programmed for latched, momentary or timed outputs. Multiple outputs can be programmed to the same sequence or multiple sequences. Some outputs can be configured for analog output values or digital outputs or messages. Device also has its own serial connection for flashing and sending/receiving serial commands to/from other devices.
The module can also be trained to send out CAN messages to control other devices on the network.
Basically the customer can create special switching circumstances based on various input and output criteria.
Long term evolution would be to have built in Bluetooth communication to interact with mobile devices, but that can come after we get a good grasp on the basics with programming through the serial port.
The hardware is already on the market, and I would like to use it as it already has a large customer base. The manufacturer likely will NOT supply us with SDK or otherwise and may need to do a little reverse engineering. We can supply sample units and the existing programming device as well as firmware to see what the device is currently doing.
Budget is unknown. I need a rough estimate of the cost to develop this to make sure it is viable in the marketplace. Obviously multiple revisions will be required before launch and then ongoing enhancements in the future.
Please see attached pinout diagram of the existing device. Pay attention to DBALL2 ONLY, and disregard the second page.
Pinout descriptions are what the manufacturer is using, but of course our needs will vary
If you think you can manage this task, please respond.