Radiolink-AT9

Not sure what firmware to use? Making a new firmware? Ask in here!
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Radiolink-AT9

Post by flysouth »

Hi
I am interested in porting OpenTx to the Radiolink-AT9.
General hints / help / suggestions in order to make this as simple as possible are most welcome.
I have never used a Taranis or OpenTx. Are there any other firmware builds that offer similar features but might be easier to port?
One of the things I wish to do is add voice output. Yes I do know that there is a new version (Radiolink - AT9S) which includes voice but unfortunately myself and many other people have the current version.
I have looked at the PCB and it should not be a major problem to add a voice output.
Which compiler / ide is being used on Windoze?(sorry if I missed this info somewhere)

Thnx

User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

The best is to look at the OpenTX codebase to see how the various platforms are handled, and replicate that for your new one.

Build instructions are on the project's Github wiki.
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

Thanks
I have found those instructions but then saw this:
A word of warning 2014-06-26

Things have recently changed in the build files that have broken the environment described below. These instructions no longer work to set up a working environment for several variants of the firmware.

Use Linux instead.
Does this still apply?
Do you know if anyone is still compiling on Windows?
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

Yep I do, just updated the page with some notes I had, try this:
https://github.com/opentx/opentx/wiki/O ... structions

Or make a linux VM once you've seen the massive difference in complexity to set up a build environment in both of them.

You probably want to concentrate on 2.2 since that's where you should do anything new and it saves from installing a bunch of stuff.
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

I followed the OpenTX 2.2 Build Instructions but cmake complains that it cannot find cmakelists.txt
Searching for that file only finds it for companion.
I will follow the instructions on the link you provided. I already have some of the tools installed from other development I have done
I assume that I dont need the companion?

User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

To build 2.2 you need to switch the git branch to the one called "next", you're certainly still on "master". Page updated, you might want to reload.

You don't need companion but given that on Windows several tools are needed for both making separate instructions makes no sense anymore.
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

At the moment I just downloaded master as a zip - Have not used git so thought I would keep it simple just to get up and running. Will this be a problem ?
So in otherwords I will just download the zip of next
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

flysouth wrote:I will just download the zip of next
That's fine
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

Okay so I did the cmake and get this error:

-- Looking for pthread_create - found
-- Found Threads: TRUE
SDL not found! Joysticks support will be disabled. Simulator audio will not work.
-- Looking for FOX
-- Could NOT find FOX (missing: FOX_INCLUDE_DIR FOX_LIBRARY)
'git' is not recognized as an internal or external command,
operable program or batch file.
CMake Error at cmake/Macros.cmake:31 (string):
string sub-command REGEX, mode REPLACE needs at least 6 arguments total to
command.
Call Stack (most recent call first):
CMakeLists.txt:56 (git_id)


-- The ASM compiler identification is GNU
-- Found assembler: C:/MinGW/bin/gcc.exe
CMake Error at radio/src/CMakeLists.txt:97 (message):
Unknown PCB 'TARANIS'

It did create some files but am not sure if all required files are there.
I am just following the example make and build but the command mingw32-make -j 4 firmware says "no rule to make firmware build"
Should this be pointing to one of the makefiles that were created by the step above? If so which one?
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

Looks like you didn't install a git client. That's required even if you don't use it to check out source, actually now that I think of it I'm not really sure it will work with the zip, I don't think anybody ever tried.
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

Installed git and cloned code. Error:


-- Found Threads: TRUE
SDL not found! Joysticks support will be disabled. Simulator audio will not work.
-- Looking for FOX
-- Could NOT find FOX (missing: FOX_INCLUDE_DIR FOX_LIBRARY)
-- The ASM compiler identification is GNU
-- Found assembler: C:/MinGW/bin/gcc.exe
CMake Error at radio/src/CMakeLists.txt:97 (message):
Unknown PCB 'TARANIS'
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

After looking at the cmakelist.txt I changed -DPCB=TARANIS to -DPCB=X9D.
It goes passed that point and throws new error :

-- Could NOT find FOX (missing: FOX_INCLUDE_DIR FOX_LIBRARY)
-- Looking for QT lupdate
-- C:/Qt/Qt5.7.0/5.7/msvc2015/bin/lupdate.exe
QT lupdate: C:/Qt/Qt5.7.0/5.7/msvc2015/bin/lupdate.exe
-- C:/uav/radiolink/Hacking/OpenTx/firmware-buildC:/Program Files/OpenTX/bin
CMake Error at companion/src/CMakeLists.txt:314 (get_filename_component):
get_filename_component called with incorrect number of arguments

For some reason it nows seems to be doing something with companion???
The error is this line: get_filename_component(SDL_DIR ${SDL_LIBRARY} PATH)
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

Did you follow the instructions exactly? E.g. what says must be put in a "C:\Programs" folder REALLY has to be in a "C:\Programs" folder (that you must create) and nowhere else.

Do you have the latest cmake version or an older one you had installed?

I corrected the PCB on the page, as mentioned it was some notes I had and things have of course changed since...
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

I only installed what I thought I needed for the firmware. I already had Cmake installed so left that. Evrything else was done as per the page, although the Sourcetree options that were shown were slightly different to what is on that page but as far a possible I did it the same.
The Cmake version I have is 3.5.2. I will download the latest version and try it again.

Oh I just realised my GCC is a slighly newer version which was the one listed on the original instructions I followed.
gcc-arm-none-eabi-4_8-2013q4-20131204-win32
If this is a problem I will un-install it and try the other one

I will install everything and hopefully that will resolve this problem. Thanks for the time and help so far
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

Okay I re-installed stuff and installed everything I did not have and it has compiled and I have a 430KB firmware.bin file.
Thank you for your help.
I can now set about porting it. I guess I will need to do the display first...
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

Tried building the companion program.
Cmake was fine but the visual studio build gave hundreds of errors.
Seemed to have a problem with the types.
I have a Programs->msinttypes which contains inttypes.h and stdint.h Is this correct?

Does the make file point to this folder?
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

Yes that's correct. Might need to clear your build dir and rerun cmake, if you ran it before you put the files there it will have cached that it hasn't found them.

I've fixed the link.
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

Deleted all from build directory still many errors. Perhaps the 2 type files I found are faulty? Am examining errors to see if I can see cause. Here is just a snippet of the errors:

12> Generating ui_simulatordialog-9x.h
12>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code -1073741515.
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(1413): error C2146: syntax error : missing ';' before identifier 'GLuint64'
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(1413): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(1413): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(1414): error C2146: syntax error : missing ';' before identifier 'GLint64'
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(1414): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(1414): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(1487): error C2061: syntax error : identifier 'GLuint64'
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(1488): error C2061: syntax error : identifier 'GLuint64'
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(1489): error C2061: syntax error : identifier 'GLint64'

a bit lower down in list...


9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2875): error C2146: syntax error : missing ')' before identifier 'handle'
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2875): error C2165: 'left-side modifier' : cannot modify pointers to data
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2875): error C2513: 'void *' : no variable declared before '='
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2875): error C2059: syntax error : ')'
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2876): error C2146: syntax error : missing ')' before identifier 'handle'
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2876): error C2165: 'left-side modifier' : cannot modify pointers to data
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2876): error C2513: 'void *' : no variable declared before '='
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2876): error C2059: syntax error : ')'
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2877): error C2059: syntax error : '__stdcall'
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2878): error C2146: syntax error : missing ')' before identifier 'handle'
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2878): error C2165: 'left-side modifier' : cannot modify pointers to data
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2878): error C2513: 'void *' : no variable declared before '='
9>C:\Qt\Qt5.7.0\5.7\msvc2015\include\QtGui/qopenglext.h(2878): error C2059: syntax error : ')'
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

Doesn't mean much to me.

Make sure you paste the very first error you get in the process, anything else can just be garbage caused by the first one.
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

2> Generating sticks.lbm
3> Generating font_03x05.lbm
4> Building Custom Rule C:/uav/radiolink/Hacking/OpenTx/companion/src/CMakeLists.txt
4> CMake does not need to re-run because C:\uav\radiolink\Hacking\OpenTx\companion-build\companion\src\CMakeFiles\generate.stamp is up-to-date.
4> Generating qrc_companion.cpp
4>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code -1073741515.
6>------ Build started: Project: shared, Configuration: Release Win32 ------
5> Building Custom Rule C:/uav/radiolink/Hacking/OpenTx/companion/src/qxtcommandoptions/CMakeLists.txt
5> CMake does not need to re-run because C:\uav\radiolink\Hacking\OpenTx\companion-build\companion\src\qxtcommandoptions\CMakeFiles\generate.stamp is up-to-date.
6> Building Custom Rule C:/uav/radiolink/Hacking/OpenTx/companion/src/shared/CMakeLists.txt
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

Just some questions about the Firmware
I notice that some of the radios have a HAL file and others not. Is the HAL just a more recent thing to abstract the switches etc. or is there some other reason for using this?
In the HAL file there is an Internal Module and and External Module, is this for the radio module and external radio modules?
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

HAL was introduced for platforms of which there are multiple hardware revisions, and yes that didn't make its way back into older platforms.

Correct for the modules.
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

Did you look at the highlighted error? That was the first error message
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

This says nothing on its own, there might be something well above.
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

There is not much above that...

1>------ Build started: Project: ZERO_CHECK, Configuration: Release Win32 ------
1> Checking Build System
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/radio/src/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/radio/src/translations/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/radio/src/bitmaps/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/radio/src/bitmaps/128x64/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/radio/src/bitmaps/212x64/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/radio/src/bitmaps/480x272/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/radio/src/fonts/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/radio/src/fonts/480x272/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/radio/src/lua/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/radio/src/targets/simu/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/companion/src/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/companion/src/shared/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/companion/src/modeledit/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/companion/src/generaledit/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/companion/src/simulation/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/companion/src/qcustomplot/CMakeFiles/generate.stamp is up-to-date.
1> CMake does not need to re-run because C:/uav/radiolink/Hacking/OpenTx/companion-build/companion/src/qxtcommandoptions/CMakeFiles/generate.stamp is up-to-date.
2>------ Build started: Project: taranis_xbm, Configuration: Release Win32 ------
3>------ Build started: Project: taranis_fonts, Configuration: Release Win32 ------
4>------ Build started: Project: gen_qrc, Configuration: Release Win32 ------
5>------ Build started: Project: qxtcommandoptions, Configuration: Release Win32 ------
2> Building Custom Rule C:/uav/radiolink/Hacking/OpenTx/radio/src/bitmaps/212x64/CMakeLists.txt
2> CMake does not need to re-run because C:\uav\radiolink\Hacking\OpenTx\companion-build\radio\src\bitmaps\212x64\CMakeFiles\generate.stamp is up-to-date.
2> Generating sticks.lbm
3> Building Custom Rule C:/uav/radiolink/Hacking/OpenTx/radio/src/bitmaps/212x64/CMakeLists.txt
3> CMake does not need to re-run because C:\uav\radiolink\Hacking\OpenTx\companion-build\radio\src\bitmaps\212x64\CMakeFiles\generate.stamp is up-to-date.
3> Generating font_03x05.lbm
4> Building Custom Rule C:/uav/radiolink/Hacking/OpenTx/companion/src/CMakeLists.txt
5> Building Custom Rule C:/uav/radiolink/Hacking/OpenTx/companion/src/qxtcommandoptions/CMakeLists.txt
5> CMake does not need to re-run because C:\uav\radiolink\Hacking\OpenTx\companion-build\companion\src\qxtcommandoptions\CMakeFiles\generate.stamp is up-to-date.
4> CMake does not need to re-run because C:\uav\radiolink\Hacking\OpenTx\companion-build\companion\src\CMakeFiles\generate.stamp is up-to-date.
4> Generating qrc_companion.cpp
4>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code -1073741515.
6>------ Build started: Project: shared, Configuration: Release Win32 ------
6> Building Custom Rule C:/uav/radiolink/Hacking/OpenTx/companion/src/shared/CMakeLists.txt
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

At the moment this is not a high priority for me as I am working on the firmware.
Depending on how well the firmware turns out I will get back to this at a later date. Thank you for your help
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

Okay after really digging into this I think that OpenTx will add too much overhead onto writing open code for this transmitter.
There is a lot less hardware abstraction than what I thought there would be.
It will be simpler to do it as a stand alone project that does not try to be compatible with anything else but still allows for the hardware to be modded to get other features. Unless of course some other devlopers were prepared to be involved...
Having a last look around before making my mind up lol
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: Radiolink-AT9

Post by Kilrah »

Things are pretty well abstracted in 2.2, at least within the possible limits of what can be done with these pretty specific platforms. All you need is everything hardware-specific with the drivers, and select the appropriately sized GUI (or make a new one based on one of the existing ones if the size is different than existing platforms).
flysouth
Posts: 19
Joined: Tue Sep 27, 2016 11:37 am
Country: -

Re: Radiolink-AT9

Post by flysouth »

Hi
Yes I realised that. It was when I was looking at the GUI stuff that I saw a lot of files for each models gui. I had assumed that there should just be 1 or 2 and the rest should have all been the same, that is why I feel that there is less abstraction than I thought there would be. I used to program credit card terminals that used a HAL and the program was portable between different manufacturers and different screen sizes and required only minor changes due to the HAL.
I think that OpenTx is just too Taranis style orientated. As I said in my earlier post, just trying to be compatible with OpenTx adds a lot of overhead.
Since that post I started over (yes I had started with an OpenTx build) and have made a lot more headway.
My idea is to get the basics working and then see how viable it will be to marry it with OpenTx

Post Reply

Return to “other”