Develop code for Pic XLP microcontroller that can count pulses (max 50hz, 50% duty cycle).
Must provide some kind of software debouncing.
Utilise energy saving techniques to keep micro in low power mode.
inputs: 3 digital inputs; one for pulse counting and two alarm inputs.
If one of the two alarm inputs go high send alert data packet to Alert Recipients mobile no
Update Report Packet:
Every xx hours send current register data along with status of the two digital inputs along with the battery ADC value 0-9 in a compressed packet format, you decide.
Store the following totalized register pulse count data:
hourly pulse count, last 24 hours
daily pulse count, last 14 days
weekly pulse count, last 8 weeks
monthly pulse count, last 12 months.
Develop protocol to:
Read / Write the RTCC clock
Change the freq at which Update Report packet below is sent to recipients mobile as SMS packet.
Read / Write SMS message Centre
Read / Write SMS recipients mobile no
Read / Write SMS Alert recipients mobile no
Read / Write the status of alert digital inputs
Read / Write (clear) Register data for: hourly, daily, weekly and monthly
All packets must have a CRC calculation.
All Command / responses must be made via UART, IRDA or SMS.
IDE / Language of choice is MPLAB C or MikroC