2018-05-15 03:00 AM
Hello,
We are a team of engineering students working on a project using STM32 technology and support.
Firstly, the Main subject of this topic is based on the problematic : How to merge 2 different projects ?Next of this problematic, there is the question: Why did you get 2 different projects ?So, the idea was : Use two expansion boards on our nucleo card (NUCLEO-F401RE) to do these actions :- get info from NFC Tag with the module X-NUCLEO-NFC05A1- Connect a wifi network and send this info to a server with an HTTP request, help by the module X-NUCLEO-IDW04A1 (to be able to connect a WPA2-enterprise wifi network)Based on that, we have worked sequentially on the NFC part, then on the WIFI/HTTP request part.And to use these modules correctly, we have started our work on existent projects recommanded for each of this expansion board. These embedded softwares are:- X-CUBE-NFC5 (- X-CUBE-WIFI1Therefore, we have modified separetely each code of these projects to match our recquierements, and each of them works fine.However, it's time to finalize this projet and that means to merge our two different projects .But how it is possible to do that correctly ?
We are affraid by a problematic linked to the pin's configuration, quite different between the two projects. How correct this part ? There is also a problem to centralize all Libraries, sources ... recquired by the two projects.And may be other problematics that we don't have seen yet.What is the best solution to merge our 2 projects to let our two expansion boards work normally on our Nucleo ?
There is an other way to realize all of that without loose much time on this ?#x-cube-wifi1 #x-nucleo-idw04a1 #x-cube-nfc5 #x-nucleo-nfc05a12018-05-15 03:35 AM
Are you familiar with WinMerge or more advanced tools like Araxis Merge?
My general approach to these things is to try order things so the code construction is similar between the two projects, this might mean refactoring some subroutines.
Pick one project as dominant. Typically the largest or most complex one, so you can merge in the less difficult one. Do it in steps.
Do the merge in pieces, starting with the whole files you can take, and the ones with the least dependencies. With the call trees start with the leaves (stand-alone subs with no dependency) and work back to the trunk. This way you can do incremental builds to fix issues before error list becomes overwhelming.
For board stuff focus on clocks, pins and peripherals, do the initialization stuff, checking you don't break functionality. Where you don't have all the pieces merged in you can #ifdef/#endif around things you have not fully transitioned yet.
2018-05-15 09:52 AM
We know WinMerge, good soft to compare two files quickly and simply,
We will try to apply your advices, thank you very much for your helpWe will keep this topic update with the issues and their solutions if there is any during the process,