Firmware development for ATXMEGA32E5-AU based device.
The device has following periferials (see modules devel. section for assignment):
- n.1 RS485 comm dev. (DMX512 RDM enabled) //PD4(ENABLE), PD6(RXD0), PD7(TXD0)
- n.1 OLED 128x32 SPI(0)
- n.4 PWM outputs //PC0 to PC3
- n.3 tact switches (menu L/R + Ok/Back) //PA5 to PA7
- n.1 Status led // PA0
- n.1 ADC linked to a linear voltage output temperature monitor //PA4
Firmware modules to be developed:
1) OLED menu system with main dashboard, characteristics:
a - Frame buffered for horizontal scroll between n.2 dashboards (see point "d")
b - ATmel's gfx_mono_menu_system library can be used
c - It must store settings in NVM
d - n.1 main dashboard showing the n.4 pwm channels duty cycle percentage with round progress bar + cahnnel id, see picture atached & n.1 info dashboard with temperature reading and general settings applied to system (to be designed)
e - DMX Ch id assign page (big central number with big Left/Right arrows)
f - it's preferable (if enough TCC timers or XCL timers avalable) to give long/short press functions to L/R buttons to fast forward or rewind in channel IDs settings pages
2) DMX-RDM implementation, the USART should work with EDMA cannels.
2b - If possible enable use USART for firmware update.
PC software development:
1) Simple control application (QT preferred) graphically rich
Scope a) - Discover devices and modify its settings individually, will be interfaced with custom USB to DMX-RDM dongle (FT232R), if not huge in job timing can be evaluated other USB-DMX-RDM devices.
Scope b) - Firmware update, load packed elf file with verify function
The software graphics will be designed by me.
The main structure of the Firmware (draft) is already developed, but not optimized. I will work with you for graphic design and firmware development integration.
I can evaluate a complete solution (without my participation).
The system should use as much as possible DMA channels and ISR calls.
1) Firmware programming: c/c++
2) Software programming: C++ QML QT framework.
Sunlab Technology activity:
I (owner of startup company) will develop graphics and I will work with you, this to cut down expenses, but if you prefer to work alone and you want to develop yourself the app, I will guide you on little details such as graphics and styles.
Electronics is already designed and tested.
If a freelancer can develop both Firmware and Software app aspects I have nothing in contrary with it, just be sure to be able to handle both of the activities.
Time: Time is not strict in term of working days, the idea is to get a complete firmware in a week or two and the same for the software, not necessarily overlapped.
USE COMMENTS IN CODE!!
It's preferable to have portfolios examples.
This is one of the first simple projects that Sunlab is developing, if there will be success you will be our preferred freelance!
NOTE: Schematics and already made source code can be released.
An NDA will be requested to be signed.
Source code must be released integrally.
PLEASE NOTE BEFORE APPLY:
1) xMega MCUs requires a specific skill in programming, please mention explicitly your ability to program xmega MCUs in your offer or will not be considered.
2) QT is the preferred APP development platform, you can choose other environments (EG VisualStudio) but keep in mind it should be responsive and graphically good (NO WinCE Style Apps)