Provide C++ code which calculates the average of sampled analogue inputs (separate average value for each analogue input) and periodically saves average data to EEPROM and FLASH memory. The code will be used by myself as means of personal tuition.
The code is to compile without error on Hi Tech C Pro 9.60 (trial version).
General Requirements: The code must be suitable for correctly achieving the objectives when embedded in Microchip PIC18F458 (40 Pin) with analogue signals connected to AN0, AN1, AN2, AN3, AN4, AN5, AN6 and AN7. The code provided must have correct syntax for the Compiler. The intent of every line of code must be documented with a comment after the code.
Specific Code Requirements:
Initialisation: All EEPROM data to be deleted upon PIC reset. Convert 8 analog inputs (buffered voltages) to digital, sampling every 0.2 seconds. Calculate 10bit moving average every 16th sample and save to next EEPROM memory address. Continue saving to EEPROM whilst time is < 10 hours AND when EEPROM storage is NOT full. Every 30 time data is saved to EEPROM, save the latest average value to next available FLASH memory address. Continue saving to Flash memory when the FLASH memory is NOT full.
Code is to be provided via email in a text file format with the c extension, including any code that is to be included (if requested) to the email address to be provided.
1) All requirements have been delivered.
2) The code must compile on the Compiler without error.
3) The code must function as per the requirements when embedded and tested in a Microchip PIC18F458, and be free of common bugs.
Time is of the essence. Work must be completed and delivered within a delivery time of 2 business days of being awarded the work. If the work is not completed within the delivery time, the contract is terminated and no consideration (money) will be paid. Work is complete when the full requirements have been delivered according to the delivery method. The code must be unencumbered by licence agreements.
Note: Preference will be given to vendors with good review history and who have excellent English such that the scope of work can be clarified. Successful completion of the work will increase the likelihood of the vendor being awarded subsequent work that may be issued for tender.