The task is essentially porting across a firmware feature from one product across to another.
We have a boiling water product (Call it Undersink) that maintains its temperature via a PCB running embedded software which controls a heating element and which is connected to some thermistors.
The software is written in C and the chip is an Atmel ATmega 168 and developed with Atmel studio.
The product incorporates a feature which lets it learn what times of day it is used and it then predicts future usage and switches itself on accordingly. For example in an office environment usage may be between 8 o’clock in the morning and 5 PM Monday to Friday but it is never used overnight nor at weekends. So once the product has learnt this pattern it will be ready from 7 AM to 6 PM.
The software hardwires a weekly structure and so it does not know the absolute time in terms of days of the week, instead it looks at the behaviour a week ago and assumes the same pattern will recur. The week is divided into half hourly slots. We write data to EEPROM so that if there was a short-term power cut the product would not lose its memory and would resume operation. We term this learning capability “pattern recognition”.
We infer usage of the product based on looking at the inlet temperature. If there is a sudden drop in the temperature at the inlet we reliably know that the product has been used.
This undersink product software runs reliably in all respects.
We have second product (call it Oversink) which also works reliably but it does not include the pattern recognition facility. The software is written in the same environment.
The task of this project is to take the code that handles pattern recognition from the first undersink product and incorporate this into the code for the oversink product so it too will have the pattern recognition facility.
Detecting usage in the over sink a product won’t be exactly the same as it is for the under sink but we have a very simple rule that flags if a product has been used or not.
We have all the source code. We can supply a PCB or if helpful a fully working product.
We can supply the source code to seriously interested bidders.
We would interpret bids as provisional until people have had chance to look at the code and ask questions.
Bu iş için 11 freelancer ortalamada $528 teklif veriyor
If both the product are running reliably, the work would be to identify pattern recognizing code and add it to the oversink program. I can do it. Please share the source code , I will share how can we go about it.
I have had some experience with kind of this feature. I can do it in 10 days (7 days for porting and 3 days for functional test). Hope to have chance to work with you