Registration Notice

Due to increased spam, forum registration must be manually approved by a moderator! Please see this post for instructions.

*

Offline vonTirpitz

  • 30
  • Panzer, vorwärts!
    • View Profile
  • Wilmington NC
Well it seems I have entered into this hobby at an exceptionally interesting time! 

With the intent of starting a new hobby with my son I recently acquired two new Taigen 1/16 IR tanks (the Panther G and Sherman 75).  Even before we opened the tanks on Christmas day I was looking through the vast amounts of forum information at RC Universe and drew the conclusion that I wanted more control of the tanks and how they interact and are controlled.  I also quickly realized that Danville VA is a focal point for this hobby and is just up the road from us so having a Tamiya compatible battle system became a desire as well.

I wanted to raise and lower the gun via the left control stick and not have it "cycle" up and down (I would find another switch to actually fire the gun).  And from what I read and saw on youtube, I decided that I also wanted more realistic acceleration and deceleration rates.  Even having more and better sound options seemed like a good idea.

The day came when we finally opened the tanks and it was a blast.  I had planned ahead and picked up two 5000mA NiMH batteries and had them charged up to supplement the 2000mA batteries that came with the tanks.  Weather permitting, we ran and battled both tanks for many days.  I ended up purchasing a quad charger just so I could exercise and keep enough batteries up to continue running!

As we played with the tanks I continued reading and learning and just as I was about to put a new wish list together for new hardware somebody said to me "wait a few days for something special".   

So I did and am very glad I waited.

Every time it seems I am ready to look for something new and improved you folks keep delivering.  Thank you!

And now the Open Panzer project! 

I haven't been in a R/C hobby for nearly two decades so I am stumbling along a decently sized learning curve trying to catch up with what happened over the years.  Fortunately, I have been developing embedded software for the better part of thirty years so I have that going for me.  Filling up a forum post with my mostly inexperienced attempts to get what I want might provide a little entertainment to some and perhaps hope to others.    ;D

I downloaded and installed the Arduino 1.8.0 IDE yesterday only to find an update today.  So I will go back and install 1.8.1 and continue my post.
« Last Edit: February 12, 2017, 12:52:24 AM by vonTirpitz »
"The two most powerful warriors are patience and time."

                                                                 -LT

*

Offline vonTirpitz

  • 30
  • Panzer, vorwärts!
    • View Profile
  • Wilmington NC
Re: Getting Started
« Reply #1 on: January 13, 2017, 06:45:05 PM »
Now before I get too far ahead of myself I just want to explain that all I am attempting to do right now is familiarize myself with the hardware and software as well as get set up to "hit the ground" running once the TCB is actually available.

So please bear with me as I fully expect to run into a few "bumps" along the way.  It is my hope that, while getting guidance from the developer, my posts may also smooth the way for others that join the adventure at a later time.

BTW.  If somebody figures out how to embed links in these posts I would really appreciate it.  <a href="http://openpanzer.org/forum/index.php">Open Panzer</a>  <--- Yikes.  My HTML skills are so lame.... sigh.
« Last Edit: January 13, 2017, 07:13:47 PM by vonTirpitz »
"The two most powerful warriors are patience and time."

                                                                 -LT

*

Offline vonTirpitz

  • 30
  • Panzer, vorwärts!
    • View Profile
  • Wilmington NC
Re: Getting Started
« Reply #2 on: January 13, 2017, 07:06:03 PM »
The Arduino 1.8.1 IDE (Integrated Development Environment for the uninitiated) is now installed and running.

I have copied the contents of OpenPanzerProject-TCB-2da5dca.zip into the Arduino folder that was created in my documents folder and proceeded to open an Arduino sketch (which in my mind is just another name for project).

Opening the most logical .ino file (OpenPanzerTCB) went well.  It appears that opening any .ino file that was in the folder will load the rest automatically.  Fair enough.

Everything seems intuitive and straightforward.  I will go ahead and select Verify/Compile from the Sketch menu on the toolbar.....

Compiling proceeds smoothly up and until....

After several files compile I start getting an errors that several definitions are not declared in scope.   I'll start digging into this condition.  I've likely not properly configured the compiler.  Will be back as soon as I figure this out!   :o



                                                                           ^
Arduino: 1.8.1 (Windows 10), Board: "Arduino/Genuino Uno"

===================I have deleted many lines from the error message to only show the last few lines . ---------------

Utilities:548: error: 'pgm_read_byte_far' was not declared in this scope

         varType = pgm_read_byte_far(pgm_get_far_address(STORAGEVARS) + (i*5) + 4);                                                                                 ^

exit status 1
'Serial1' was not declared in this scope


"The two most powerful warriors are patience and time."

                                                                 -LT

*

Offline vonTirpitz

  • 30
  • Panzer, vorwärts!
    • View Profile
  • Wilmington NC
Re: Getting Started
« Reply #3 on: January 13, 2017, 08:03:17 PM »
I'm cheating a little bit by downloading and installing Arduino IDE for Visual Studio as I am much more familiar with VS and can navigate and work in the project (sketch) much faster this way.

Arduino IDE for Visual Studio can be found here:
https://visualstudiogallery.msdn.microsoft.com/069a905d-387d-4415-bc37-665a5ac9caba?redir=0

A free version of Visual Studio (Visual Studio Community Edition) can be downloaded here if you do not have a licensed version:
https://www.visualstudio.com/downloads/

"The two most powerful warriors are patience and time."

                                                                 -LT

*

Offline LukeZ

  • 1241
    • View Profile
  • France
Re: Getting Started
« Reply #4 on: January 14, 2017, 12:48:02 AM »
vonTirpitz, welcome, and thank you for starting the first real thread of this entire website! And thank you for being interested enough in this project to document your experiences.

I've just come in late and I won't write much tonight. But a few thoughts -

  • If you are new to this project and have just stumbled onto this thread, realize that you don't need to get involved with coding, Arduino, or any of this other stuff to enjoy the TCB.
  • But if you are like vonTirpitz and want to get under the hood, great! We definitely need developers.
  • vonT, try reading through again the introductory section of the GitHub page where you downloaded the project: GitHub TCB. The reason Arduino is giving you errors when compiling is that it thinks you are trying to compile for the "Genuino Uno" board, but the code is designed for the TCB board. The TCB is based on the Arduino Mega board which uses a different processor. So in the Arduino IDE go to the Tools menu, then Boards, then select Arduino Mega, and it should compile.
  • Now actually the TCB uses a slightly modified arrangement of the Mega than Arduino knows about, so if you really want to do it right you need to edit Arduino's "boards.txt" file and add a new entry for the TCB. Instructions for this are at the link I posted above.
As for inserting hyperlinks into your posts - for security reasons this forum (and all other forums) ignore HTML. Instead the forum uses something called BBC, which stands for Bulletin Board Code. So rather than using html tags, to insert a hyperlink do this instead: [url=www.google.com]Google[/url]. Then the forum will render it as Google.

BBC is standard across pretty much every forum you might encounter so once you get the hang of it then you can use it anywhere.

You can also just highlight the text you want to make a link in your message, then click on the little globe icon in the message editor and it will help you create the link. There are actually two editing modes - advanced (where you have to enter the BBC yourself), or standard (where when you click on the buttons in the editor it does things for you). You can toggle the editing mode when posting by clicking the button that has an icon of an arrow within brackets. See the image below.

Here's a page with more detail on all the BBC codes.

More later!
Hyperlinks.jpg
Setting up a software development environment and other random experiments Hyperlinks.jpg
Views: 12876
NO SUPPORT THROUGH PM - Read why
Need a forum account? Read here
Open Panzer FAQs

*

Offline vonTirpitz

  • 30
  • Panzer, vorwärts!
    • View Profile
  • Wilmington NC
Re: Getting Started
« Reply #5 on: January 14, 2017, 09:24:23 AM »
    vonT, try reading through again the introductory section of the GitHub page where you downloaded the project: GitHub TCB. The reason Arduino is giving you errors when compiling is that it thinks you are trying to compile for the "Genuino Uno" board, but the code is designed for the TCB board. The TCB is based on the Arduino Mega board which uses a different processor. So in the Arduino IDE go to the Tools menu, then Boards, then select Arduino Mega, and it should compile. [/li][/list]

    Thank you!  That's what I deserve for just downloading the zip file.  I didn't even go to GitHub to read the notes until now.  lol   ::)


    As for inserting hyperlinks into your posts - for security reasons this forum (and all other forums) ignore HTML. Instead the forum uses something called BBC, which stands for Bulletin Board Code. So rather than using html tags, to insert a hyperlink do this instead: Google. Then the forum will render it as Google.

    And thank you again!  I just have to go back another few years and pull out my old bulletin board memories from the 90s.   :o

    Well I did state that I was just stumbling into this....   ;)

    I have become a digital dinosaur....

    « Last Edit: January 14, 2017, 09:57:35 AM by vonTirpitz »
    "The two most powerful warriors are patience and time."

                                                                     -LT

    *

    Offline vonTirpitz

    • 30
    • Panzer, vorwärts!
      • View Profile
    • Wilmington NC
    Re: Getting Started
    « Reply #6 on: January 14, 2017, 10:34:43 AM »
    With the newly absorbed knowledge gleaned from the notes on GitHub I have successfully verified and compiled the TCB code as well as exported a compiled binary.  Huzzah!

    It's amazing what can get done if you actually stop to read the instructions...   :P

    Now I can spend some time studying the code logic and understanding the process flow.

    I decided a couple of days ago that I didn't want to relegate my new Panther or Sherman to R&D duties.  Therefore it became necessary to find an adequate test bed.

    Lo and behold.  Yesterday, I find new additions to the scratch and dent section for sale on the Taigen Tanks website!  A second Huzzah is order!   ;D



    My son desperately wanted a Tiger I so this should work out perfectly.  I ordered the IR plastic edition model that was listed thinking it would be perfect for indoor testing.  Eventually I will get the metal wheels and metal tracks to upgrade the vehicle but, for now, the plastic edition should meet my future OP needs.   8)

    It will also give me a good chance to brush off my painting skills because he wanted a replica of Tiger 131.  Surely it won't be difficult going from dark grey to desert yellow right?   :-\
    « Last Edit: January 14, 2017, 03:41:22 PM by vonTirpitz »
    "The two most powerful warriors are patience and time."

                                                                     -LT

    *

    Offline vonTirpitz

    • 30
    • Panzer, vorwärts!
      • View Profile
    • Wilmington NC
    Re: Getting Started
    « Reply #7 on: January 14, 2017, 04:42:10 PM »
    Just taking a few moments to step back and take stock of where I am (or think I am) with this project.  This is mostly for me to simply get my thoughts in order since I am barrel rolling into this project and a new hobby at the same time.  If I have glaringly missed something important feel free to chime in!  :)

    • Download and install FTDI Virtual COM Port (VCP) drivers: Downloaded but waiting for TCB before installing.
    • Download and install OPConfig: Complete!
    • Download and installed Arduino IDE to review, edit and compile TCB firmware: Complete!
    • Download and installed Arduino IDE plugin for Visual Studio (to make my life easier since I am already using VS2015): Complete!
    • Download and compile OPConfig source code to review from GitHub: Still looking around for my old Qt license!
    • Download and compile TCB Firmware and Bootloader: Complete!
    • Identify and acquire a suitable test bed: Complete!1 (Thank you Erik!)
    • Identify and acquire Electronic Speed Controller (ESC): Complete!2
    • Identify and acquire Sound Unit: Still researching Benedini TBS Mini and possible vendors.*

    1 S&D Taigen Tiger I Early Version (Plastic Edition) with IR, 360 Turret Rotation, 3:1 Metal Gearbox, Smoke, Recoil and Lights.
    2 Sabertooth Dual 5A 6V-18V Regenerative Motor Driver Serial ESC until the Scout ESC becomes available.

    *Still looking for a US Vendor for Benedini products but may just order direct if it comes down to it.  I am still pondering what might be needed for TCB sound development and the Benedini Mini is as good a place to start as any I suppose.
    "The two most powerful warriors are patience and time."

                                                                     -LT

    *

    Offline LukeZ

    • 1241
      • View Profile
    • France
    Re: Getting Started
    « Reply #8 on: January 14, 2017, 04:45:26 PM »
    Don't feel bad vonT, I consider myself in some ways a digital dinosaur as well (I have never owned a smartphone for example). And using HTML in a forum post was only a mistake someone makes who knows too much, not too little. 

    You and I have had the exact same idea with regards to testbeds. For the last seven years I have been using a PZIII which, while reliable beyond expectation, is really too small. I've since done the same as you, ordered a Taigen Tiger 1 lower chassis to which I will fit plastic wheels and tracks.

    If you don't mind sharing I'd be curious to know what sort of embedded work you have done. With any sort of formal education, or even just the long experience you possess, my coding practices may seem unusual - or maybe not, I guess I don't know. I often wonder if I've missed context, perspective or sense of proportion from self-education, but it's hard to know what you missed if you don't what you missed!
    NO SUPPORT THROUGH PM - Read why
    Need a forum account? Read here
    Open Panzer FAQs

    *

    Offline LukeZ

    • 1241
      • View Profile
    • France
    Re: Getting Started
    « Reply #9 on: January 14, 2017, 05:00:05 PM »
    • Download and compile OPConfig source code to review from GitHub: Still looking around for my old Qt license!
    Holy moly, you really are jumping in the deep end!  :o I applaud you sir.

    As you mentioned the sound unit, I can volunteer that I purchased my TBS directly from Thomas and at the time I don't think I could have gotten it any cheaper from a US source.

    I will also volunteer for what it's worth that my current open source sound card development is using a PJRC Teensy 3.2, Prop shield, SD card shield, and a simple carrier board. The hardware needs to be simplified but this works for testing.

    [EDIT: That is what I'm using for testing now, but please don't follow along yet, or worse, buy any of these components. I have a strong suspicion some of these pieces are going to need to be changed.]

    I will attempt to start a thread soon about this project for anyone to follow along with and contribute to. The hardware is basically all off-the-shelf other than the carrier board, which doesn't really do much and could simply be bread-boarded. In the absence of a TCB people could still use a standard Arduino Mega for the purposes of sound card development.

    But I am only in the earliest stages now and I need to get some things organized first before posting them...
    NO SUPPORT THROUGH PM - Read why
    Need a forum account? Read here
    Open Panzer FAQs

    *

    Offline vonTirpitz

    • 30
    • Panzer, vorwärts!
      • View Profile
    • Wilmington NC
    Re: Getting Started
    « Reply #10 on: January 15, 2017, 10:35:12 AM »
    Whew!  I had forgotten how long it took to install the Qt IDE!  :P.

    If you don't mind sharing I'd be curious to know what sort of embedded work you have done. With any sort of formal education, or even just the long experience you possess, my coding practices may seem unusual - or maybe not, I guess I don't know. I often wonder if I've missed context, perspective or sense of proportion from self-education, but it's hard to know what you missed if you don't what you missed!

    Well it is a long sordid history I suppose.  ;)  I started out back in the 80's writing code for scientific analysis and some very early robotics.  After college, I moved into aerospace and automotive engine controls focusing on layered communications throughout the 90s.  For the next decade or so I moved around the medical device industry which involved numerous motor and sensor controls.  Currently I am mostly just lifting legacy code (mostly my own) up through the ages trying to keep the energy sector paced with advances in technology.

    I wouldn't worry too much about your "coding practices" as that tends to be very objective by whomever is working with it.  Everyone has their own background and experiences through which they see the world.  I figure as long as it is clean and well documented (which yours appears to be) then I would have no worries.   8)

    Besides, the project is a work-in-progress and now open source which should bring many positive elements to it.  I am sure that as more folks get involved there will be much to grow upon but I suspect the bulk of your original work will remain the solid platform you developed by yourself.

    I salute your perseverance getting it this far.  Personally, I have way too many projects sitting on the shelf that never made it anywhere close to the functionality you have achieved so good job!.   ;)
    "The two most powerful warriors are patience and time."

                                                                     -LT

    *

    Offline LukeZ

    • 1241
      • View Profile
    • France
    Re: Getting Started
    « Reply #11 on: January 15, 2017, 12:15:59 PM »
    Well it sounds like you have a very diverse background and I'm sure we will benefit from any contributions you may decide to make. The beauty of open source is that we can potentially involve a wide variety of skills and by definition, everybody working on the project is interested in and personally motivated.

    As for projects on the shelf - believe me I have plenty of those too! But many of them are still there because I have focused on this one.

    On the topic of code, there is a brief synopsis of all the custom classes used in the TCB firmware here: TCB Libraries. At whatever point people start wanting to change things, it is a good place to go to figure out where to look for certain functionalities.

    Whew!  I had forgotten how long it took to install the Qt IDE!  :P.
    Qt is a bear to get going as I recall, but simple to use once it is setup. This was my first exposure to it and I didn't take advantage of all it could do I'm sure. I hadn't figured anyone would bother to mess with it but seeing you charge ahead I hope we get more like you in time! There is much that could still be done on the Qt side.
    NO SUPPORT THROUGH PM - Read why
    Need a forum account? Read here
    Open Panzer FAQs

    *

    Offline vonTirpitz

    • 30
    • Panzer, vorwärts!
      • View Profile
    • Wilmington NC
    Re: Getting Started
    « Reply #12 on: January 15, 2017, 05:29:31 PM »
    You are quite right about Qt.  I'll need a few more quiet hours to get it configured the way I want.  I'll heed your advice and read through the class synopsis.  I primarily just wanted to get all of the IDE's set up and be in a position where I can compile all of the code at any time.  Once that is done then I won't have to worry about it once I get a TCB to play with.  The time between now and then will mostly be reading and learning the codebase.  ;D

    I took my son out today and ran the tanks for a few hours.  What's the point of all this if I don't actually run our tanks!  lol.

    The one thing that struck me again was just how "coarse" the turret control is on the stock units.  I will definitely want to find improvements with turret and gun elevation control.

    I really like both of these tanks but the Sherman 75 has been a real "diva" right out of the box.  If it isn't one thing it is another with this beast.  The Panther has one paint chip.  That's it.  The Sherman, on the other hand, has been a tease.  I swear it has a personality.  Today it developed a strange mechanical "squelch" when turning left.  Checked the gearbox and didn't seem to find anything seized up but will have to go over to RC Universe or email Erik to see if anyone has any ideas about it.

    Truth be told, I wouldn't send the tank back or sell it.  For some reason all of the little problems it has so far presented to me have somehow made it more endearing.  Strange.   :-\
    "The two most powerful warriors are patience and time."

                                                                     -LT

    *

    Offline vonTirpitz

    • 30
    • Panzer, vorwärts!
      • View Profile
    • Wilmington NC
    Re: Getting Started
    « Reply #13 on: January 16, 2017, 07:10:34 PM »
    Today it developed a strange mechanical "squelch" when turning left.

    So I go out to video and record this new "behavior" so I can solicit help and my diva M4A3 decides to make no unusual noises and it performs flawlessly.  I may have to customize it and name it the "Problem Child" (custom decals! whoot!).  Go figure.    ;D

    In other news... I finally managed to get Qt configured properly enough to build and run a release version of OP Config!  Hurrah!   :)  <- Edit: Still true but it actually happened a few days after this post.   ::)

    A couple of quick reminders for those who follow in my footsteps.

    • Don't forget to run vcvarsall.bat from your Qt console. <- Only useful when configuring for use with Visual Studio.
    • The help files and assistant folder didn't build into the project so it is likely there are several issues in my Qt configuration that I still need to resolve. <- Fixed
    • I also had to grab WinSparkle.dll from the original OP Config installation folder and put in with the newly built executable for it to run properly.1

    1Not sure how I missed that particular .dll in the build but I am way too tired to look into it tonight.  Ditto for the help files and anything else that didn't quite make it into the build.  The only other thing I noted was that the menu items on the left of the UI weren't highlighting properly so I guess I am not quite ready for prime time.   :P   lol.

    Nevertheless, I can now build, deploy and execute both the TCB firmware and the PC configuration software (to a somewhat lesser degree).  I'll consider that a personal victory at this point and can now turn my attention mostly to the code itself.  Aside from fixing some of the Qt config issues I will likely focus on the firmware from this point forward.

    Edit: A couple posts further down I have provided step by step instructions to quickly and easily install and configure the Qt IDE for use with this project so most of this post isn't applicable.
    « Last Edit: January 19, 2017, 08:49:12 PM by vonTirpitz »
    "The two most powerful warriors are patience and time."

                                                                     -LT

    *

    Offline LukeZ

    • 1241
      • View Profile
    • France
    Re: Getting Started
    « Reply #14 on: January 16, 2017, 07:57:41 PM »
    I'd kind of forgotten a lot of this stuff myself and hadn't ever expected anyone to set up a Qt environment, which explains why my installation notes are non-existent. You've gotten 99% of the way there with no help, in just a few days! It took me weeks just to get to where you're at now.

    • I don't ever remember having to do anything with vcvarsall.bat, but perhaps we are using a slightly different IDE
    • Yes, this is something I hadn't thought of. What you need to do is copy a few files from the assistant subfolder of your installation directory (the directory created when you install OP Config normally, probably in Program Files somewhere) to the assistant subfolder of your active build folder (the folder that gets populated with a compiled version of OP Config when you build from the IDE). In my case, the build folder looks something like:
      ...\QT_PROJECT_DIR\build-OpenPanzerConfig-Desktop_Qt_5_4_2_MinGW_32bit-Release\release\
      Within that folder create a subfolder called assistant and copy into it assistant.exe and the help_files subfolder from the assistant folder in your OP Config install directory.
      Clear as mud?? :)
    • Sounds like you got this one sorted out.

    As for the highlighting issue in the sidebar menus - this is a known issue with Qt 5.6. I posted an issue here almost a year ago but I seriously doubt anyone is going to address it (they are probably waiting for me to solve it). So if you are compiling with 5.6 that may explain what you see. There is a workaround in the source but it's commented out (do a search in the project for "changeStackedWidget56Fix").

    The other thing 5.6 does is deprecate elements needed to run the Assistant application. Last time I looked there was no good replacement. Since i kind of liked the help files within the program (even though they are all available online too), I've stayed with Qt 5.4 for now.

    I am using Qt Creator 3.6.1 as my IDE and MinGW 4.9.1 as the complier. If you select Qt in your Windows "Add or Remove Programs" (or "Programs and Features" as they call it in new versions), right click and select "Change", the MinGW compiler should be one of the components you can install. But if you are using a different IDE than Creator then this won't be much help.

    In Qt Creator you can build your project using different "Kits" and perhaps you are compiling with Visual Studio or something which may explain some of the differences we seem to have. I tried at one time compiling with Microsoft Visual C++ (MSVC) but never got it to work for some reasons I don't recall.

    I don't know if any of this is useful or not, just thought I'd throw it all out there.
    NO SUPPORT THROUGH PM - Read why
    Need a forum account? Read here
    Open Panzer FAQs