Jump to content
Website Updates and Upgrades are still underway! We don't expect any further downtime, but we thank you for your patience as we restore themes and other elements including the Chatbox.

=VG= SemlerPDX

VG Clan Member (Administrator)
  • Posts

    4,665
  • Joined

  • Last visited

Blog Comments posted by =VG= SemlerPDX

  1. v0.91.2 Patch Update Released -- Minor config fix
     

    BETA Release AVCS CORE v0.91.2 Changelog Sept-2-2020
    
       This is a simple Live Update patch fix, no new profile download is required - the following fix applies to this update:
    
    Fixes/Improvements:
     -Added complete extracted phrasings for simple Yes/No confirmations to allow all variation types (reported getting 'cancelled' for "yes I am")

     

  2. Quote

    v1.3.91b Major Profile Update (beta)

    Since the Beta Test for AVCS CORE has progressed, and changed the way it runs, AVCS4 BMS must be updated as well.  This will not be the norm, I don't expect many AVCS CORE updates, it is a fixed set of functions.  You can download and import both the new versions of AVCS CORE and AVCS4 Falcon BMS at the same time - just switch to the AVCS CORE 0.91 profile first to trigger the new version setup.

    Regarding the changes to AVCS CORE, and how they effect AVCS4 Falcon BMS:
    Due to some initial issues right off the bat, it seems the concept of having some AVCS CORE functions outside the profile itself as part of an App for VoiceAttack would have included a bit more work, but more importantly increased the profile package size from around 1MB to over 25MB, and it's just not worth it.  The idea was specifically for things like my Save File Sort function that orders the lines of the save file into a readable alphanumeric sorting, where AVCS4 module specific entries were properly grouped together (like saved Quick Commands or VAS Passphrases), and any new AVCS4 profile such as Elite Dangerous could introduce new sorting rules by simply including a new version of the AVCS_CORE App for VoiceAttack in it's profile package.  This would have removed the need to update the base AVCS CORE profile that all AVCS4 game profiles rely upon anytime I wanted to modify those game-specific functions.

    I've done away with the app completely now, and recreated the simple functions like sort and initialize as inline functions for VoiceAttack.  This requires everyone to download a new version of AVCS CORE and the AVCS4 Falcon BMS Radios (beta) profile if currently used.

    Thanks for your patience during the beta test rounds here, the end goal for AVCS CORE is to be a stable un-changing profile that can handle profile management for any new AVCS4 game profile I create in the future without needing updates itself, and I think we're well on our way to that.  Cheers!

    Please be sure to download the AVCS CORE v0.91b Profile (required), this updated changed the entire initialization methods in AVCS CORE function commands and AVCS4 BMS, too!

     

    
    BETA Release AVCS4 BMS v1.3.91 Changelog Aug-22-2020
    
    	! USER NOTICE!
    	-This is a major profile update, users of v1.3.90b must download the new v1.3.91 beta test profile and AVCS CORE v0.91b
    		-(AVCS4 BMS profile version 1.3.90b will be retired in 30 days)
    
    Fixes/Improvements:
     -AVCS_CORE App removed in place of internal systems - was too slow, and had compatibility issues
    

     

     

  3. On 8/12/2020 at 10:15 PM, =VG= SemlerPDX said:

    v1.3.90b Full Overhaul & AVCS CORE Integration Update (beta)

    I'm very proud to finally offer the next version of AVCS4 BMS because it includes an entire set of profile control and support from my new AVCS CORE Framework Profile for VoiceAttack.  While AVCS4 BMS has not functionally changed much from what users have come to expect, AVCS CORE adds entirely new features that remove any previous need to manually edit any commands in the traditional sense to modify any configuration settings or otherwise.

    The only significant new command added directly to AVCS4 BMS is "Edit the Callsigns List" (and phrase variations of it).  This opens a simple Get Choice menu to offer options to add/change/edit/remove any callsigns recognized by the profile.

    After that, most everything comes from the required AVCS CORE Profile Framework that will load before AVCS4 BMS, adding commands and features, as well as allowing auto-profile switching by setting AVCS4 BMS as a "Preferred Profile" in the CORE Options Menu (say, "Open Core Options", poke around, have fun!)



    Please be sure to download the AVCS CORE 0.90b Profile from this download section as well, it is now a requirement for any AVCS4 game profile I release, such as the upcoming Elite Dangerous profile, and more...

    
    BETA Release v1.3.90 Changelog Aug2020
    
    New Commands:
     -AVCS CORE Commands Included into AVCS4 BMS Profile to lessen profile switching to CORE when it was needed
     -"Create a new Voice Authorization Phrase" and other included commands from Voice Authorization System
     -VAS can allow QCC commands to be locked behind a required authorization phrase as set by users, in up to 10 weighted levels
     -Integerated Bug Reporting and debugging options from AVCS CORE for easy troubleshooting
     -Versioning allows for Mutiple prior versions (reinitialization required) for easy profile version rollback if desired
     -Included UPDATE command to allow users to import previous saved user settings and saved Quick Commands from previous version of profile
     -Full profile control through command, "Open CORE Options Menu"
     -Better user support through command, "Open Help and Support Menu"  (will expand in time)
     -User settings save file control through command, "Open Save File Menu"  (includes save file backup and restore system)
     -...and much more (see posts at avcs homepage)
    
    Fixes/Improvements:
     -Set First Use to present user with Get Choice box for Default Keyboard Layout (QWERTY/AZERTY/etc..)
     -Setting 'CurrentBackupIndex' and 'SaveFileBackupCount' to 'Not Set' inside F_SFS_LOAD_ALL  (was getting corrupted in save file)
     -Separated 'new_profiles.txt' file from AVCS4 profiles and AVCS CORE profiles to handle two imports before first time run/initialization of either
     -Added Duplicate Profile check from AVCS CORE, informs user of non-functional AVCS profiles (if ending in 'dash number' such as '-1')
     -Edited Preferred Profile command to allow for any user profile to be set to be auto-switched to after AVCS CORE finishes initializing
    
    ___
    
    BETA Release v1.3.80 Changelog Mar2020
    
    New Commands:
     -"Add/Edit Callsigns List" commands to add or remove callsigns recognized
     -"Add a new Voice Command" and others included from Quick Command Creator system
     - QCC can be used to create additional phrasings, just set action to execute another command (by name)
     -"Edit Keypress Timings" to open options menu to set custom timings
    
    Fixes/Improvements:
     -AVCS CORE Profile and Updates Management integeration (see AVCS CORE changelog)
     -Full Profile Update Control added with user choice, only downloads if allowed by user (only checks 8 bytes of a version number before that)
     -Profile Updates set to allow choice for majority of fixes/changes to occur without new VoiceAttack Profile download/import  *called "LIVE UPDATES"
     -Physical Profile Updates set to allow previous versions to remain installed without conflict, and also import/uninstall previous version files  *called "MAJOR UPDATES"
     -Fixed typo in command "Raygun" -- corrected from "Ragun"  (first fix via new live updates system)
     -Created 'Add New Callsigns' system using Get-Choice boxes
     -Set most profile variables to config files in VA Apps Folder (edit with "Open Advanced Core Options" command)
     -Set most commands to Text Variables, read from config files

     

     

  4. Quote

    v0.91b Major Profile Update (beta)

    Due to some initial issues right off the bat, it seems the concept of having some AVCS CORE functions outside the profile itself as part of an App for VoiceAttack would have included a bit more work, but more importantly increased the profile package size from around 1MB to over 25MB, and it's just not worth it.  The idea was specifically for things like my Save File Sort function that orders the lines of the save file into a readable alphanumeric sorting, where AVCS4 module specific entries were properly grouped together (like saved Quick Commands or VAS Passphrases), and any new AVCS4 profile such as Elite Dangerous could introduce new sorting rules by simply including a new version of the AVCS_CORE App for VoiceAttack in it's profile package.  This would have removed the need to update the base AVCS CORE profile that all AVCS4 game profiles rely upon anytime I wanted to modify those game-specific functions.

    I've done away with the app completely now, and recreated the simple functions like sort and initialize as inline functions for VoiceAttack.  This requires everyone to download a new version of AVCS CORE and the AVCS4 Falcon BMS Radios (beta) profile if currently used.

    Thanks for your patience during the beta test rounds here, the end goal for AVCS CORE is to be a stable un-changing profile that can handle profile management for any new AVCS4 game profile I create in the future without needing updates itself, and I think we're well on our way to that.  Cheers!

    Please be sure to download the AVCS4 Falcon BMS v1.3.91b Profile (if used), this updated changed the AVCS CORE function commands inside AVCS4 BMS, too...

     

    
    BETA Release AVCS CORE v0.91 Changelog Aug-22-2020
    
    	! USER NOTICE!
    	-This is a major profile update, users of v0.90b must download the new v0.91 beta test profile
    		-(AVCS CORE profile version 0.90b will be retired in 30 days)
    
    Fixes/Improvements:
     -AVCS_CORE App removed in place of internal systems - was too slow, and had compatibility issues
    


    ___ (previous version changelogs) ___

    spoilerIMG2415905122018.PNG

     

    Quote
    
    
    BETA Release v0.90 Changelog Aug2020
    
    New Commands:
     -AVCS CORE Commands Included into AVCS4 User Template Profiles so users can add commands, adding to CORE increases its load time
     -"Create a new Voice Authorization Phrase" and other included commands in Voice Authorization System
     -VAS can allow QCC commands to be locked behind a required authorization phrase as set by users, in up to 10 weighted levels
     -Integerated Bug Reporting and debugging options for easy troubleshooting
     -Versioning allows for Mutiple prior versions (reinitialization required) for easy profile version rollback if desired
     -Included UPDATE command to allow users to import previous saved user settings and saved Quick Commands from previous version of profile
     -Full profile control through command, "Open CORE Options Menu"
     -Better user support through command, "Open Help and Support Menu"  (will expand in time)
     -User settings save file control through command, "Open Save File Menu"  (includes save file backup and restore system)
     -...and much more (see posts at avcs homepage)
    
    Fixes/Improvements:
     -Set First Use to present user with Get Choice box for Profile Update Notifications and Preferred Profile (auto-switch) choice
     -Setting 'CurrentBackupIndex' and 'SaveFileBackupCount' to 'Not Set' inside F_SFS_LOAD_ALL  (was getting corrupted in save file)
     -Separated 'new_profiles.txt' file from AVCS4 profiles and AVCS CORE profiles to handle two imports before first time run/initialization of either
     -Added Duplicate Profile check, informs user of non-functional AVCS profiles (if ending in 'dash number' such as '-1')
     -Edited Preferred Profile command to allow for any user profile to be set to be auto-switched to after AVCS CORE finishes initializing
     -Included VoiceAttack Profile Builders Template profiles for use of AVCS CORE as a standalone profile framework for any game
    
    ___
    
    BETA Release v0.80 Changelog July2020
    
    New Commands:
     -"Add a new Voice Command" and others in new Quick Command Creator system
     - QCC can be used to create Simple Keypress Commands or Advanced Multi-Step Macros with a limted selection of common VoiceAttack actions
     -"Edit Keypress Timings" to open options menu to set custom timings
    
    Fixes/Improvements:
     -AVCS CORE Profile and Updates Management systems allow version control and user notification of updates (minor or major)
     -Full Profile Update Control added with user choice, only downloads if allowed by user (only checks 8 bytes of a version number before that)
     -Profile Updates set to allow choice for majority of fixes/changes to occur without new VoiceAttack Profile download/import  *called "LIVE UPDATES"
     -Physical Profile Updates set to allow previous versions to remain installed without conflict, and also import/uninstall previous version files  *called "MAJOR UPDATES"
     -Fixed integer/decimal recognition in Save File system "LOAD_ALL" command
     -Set most profile variables to config files in VA Apps Folder (edit with "Open Advanced Core Options" command)
     -Set most commands to Text Variables, read from config files

     

     

     

  5. v1.3.90b Full Overhaul & AVCS CORE Integration Update (beta)

    I'm very proud to finally offer the next version of AVCS4 BMS because it includes an entire set of profile control and support from my new AVCS CORE Framework Profile for VoiceAttack.  While AVCS4 BMS has not functionally changed much from what users have come to expect, AVCS CORE adds entirely new features that remove any previous need to manually edit any commands in the traditional sense to modify any configuration settings or otherwise.

    The only significant new command added directly to AVCS4 BMS is "Edit the Callsigns List" (and phrase variations of it).  This opens a simple Get Choice menu to offer options to add/change/edit/remove any callsigns recognized by the profile.

    After that, most everything comes from the required AVCS CORE Profile Framework that will load before AVCS4 BMS, adding commands and features, as well as allowing auto-profile switching by setting AVCS4 BMS as a "Preferred Profile" in the CORE Options Menu (say, "Open Core Options", poke around, have fun!)



    Please be sure to download the AVCS CORE 0.90b Profile from this download section as well, it is now a requirement for any AVCS4 game profile I release, such as the upcoming Elite Dangerous profile, and more...

    BETA Release v1.3.90 Changelog Aug2020
    
    New Commands:
     -AVCS CORE Commands Included into AVCS4 BMS Profile to lessen profile switching to CORE when it was needed
     -"Create a new Voice Authorization Phrase" and other included commands from Voice Authorization System
     -VAS can allow QCC commands to be locked behind a required authorization phrase as set by users, in up to 10 weighted levels
     -Integerated Bug Reporting and debugging options from AVCS CORE for easy troubleshooting
     -Versioning allows for Mutiple prior versions (reinitialization required) for easy profile version rollback if desired
     -Included UPDATE command to allow users to import previous saved user settings and saved Quick Commands from previous version of profile
     -Full profile control through command, "Open CORE Options Menu"
     -Better user support through command, "Open Help and Support Menu"  (will expand in time)
     -User settings save file control through command, "Open Save File Menu"  (includes save file backup and restore system)
     -...and much more (see posts at avcs homepage)
    
    Fixes/Improvements:
     -Set First Use to present user with Get Choice box for Default Keyboard Layout (QWERTY/AZERTY/etc..)
     -Setting 'CurrentBackupIndex' and 'SaveFileBackupCount' to 'Not Set' inside F_SFS_LOAD_ALL  (was getting corrupted in save file)
     -Separated 'new_profiles.txt' file from AVCS4 profiles and AVCS CORE profiles to handle two imports before first time run/initialization of either
     -Added Duplicate Profile check from AVCS CORE, informs user of non-functional AVCS profiles (if ending in 'dash number' such as '-1')
     -Edited Preferred Profile command to allow for any user profile to be set to be auto-switched to after AVCS CORE finishes initializing
    
    ___
    
    BETA Release v1.3.80 Changelog Mar2020
    
    New Commands:
     -"Add/Edit Callsigns List" commands to add or remove callsigns recognized
     -"Add a new Voice Command" and others included from Quick Command Creator system
     - QCC can be used to create additional phrasings, just set action to execute another command (by name)
     -"Edit Keypress Timings" to open options menu to set custom timings
    
    Fixes/Improvements:
     -AVCS CORE Profile and Updates Management integeration (see AVCS CORE changelog)
     -Full Profile Update Control added with user choice, only downloads if allowed by user (only checks 8 bytes of a version number before that)
     -Profile Updates set to allow choice for majority of fixes/changes to occur without new VoiceAttack Profile download/import  *called "LIVE UPDATES"
     -Physical Profile Updates set to allow previous versions to remain installed without conflict, and also import/uninstall previous version files  *called "MAJOR UPDATES"
     -Fixed typo in command "Raygun" -- corrected from "Ragun"  (first fix via new live updates system)
     -Created 'Add New Callsigns' system using Get-Choice boxes
     -Set most profile variables to config files in VA Apps Folder (edit with "Open Advanced Core Options" command)
     -Set most commands to Text Variables, read from config files

     

  6. Preview of the Upcoming Features of AVCS CORE Framework
    & the (WIP) 1.4 (alpha) of AVCS4 BMS Immersive Voice Control Radios

     

    ***APOLOGIES FOR THE LOW VOLUME!***  Took too much time to create, need to get back to work or this thing will never get into public beta tests -- thanks for understanding!


    Since I expected this upcoming version to be in public beta tests much sooner, I've created a preview of the new systems and functions in the next version of AVCS4 BMS Immersive Voice Control Radio Menus for VoiceAttack.  This new version will be coming to a beta test soon.

    This will include the new AVCS CORE Framework and App designed for VoiceAttack which powers the profile update system, save file system, and bug reporting and semi-automated debugging systems.  AVCS CORE is a VoiceAttack Profile that will load first, and handle the initialization of any AVCS4 Profile that it switches to, in this video, AVCS4 BMS.

    It will also handle my upcoming Elite: Dangerous voice control systems profile for VoiceAttack, and many other game control systems I have planned.  Huge thanks for all the feedback and support!  I am hoping to have a public beta test before the end of July, possibly much sooner, as I complete the final rounds of testing and get everything ready for release.

    Cheers!
     

    a note:
    *Not used to public speaking, and wasn't paying enough attention to my own actions, at about 2:10 said 0.04 was the 'default' - but the reason the "change" to the default keypress timings shown in the video didn't appear in the save file was because 0.05 is the default, and only changing to a non-default time would cause a changed value to appear in the save file.

  7. So, Ciro has been working hard for a long time on a custom VG Arma 3 Framework mission that is very, very cool.  Since he's gotten busy, it's been on the back burner, and I've been poking him with pointy things now and then to see if he could get it onto the server soon.

    I'll drop some teasers here - in order to be able to run even without mods, he has scripted many things that would otherwise require mods directly into the mission itself.  The concept is that you are a solder at a base, you walk up to the commander to get missions, and these can be accomplished with varying numbers of players, making objectives clear as well as dynamic.  One final addition has held up finalization, including a monetary income system, but we discussed the bad idea of 'paying soldiers to kill' so ideas were thrown around to change the details of how that would work (like an interval instead of based on K/D or points), what money could be spent on, etc. etc.

    Here's some details on the table -*subject to change*- this should be out very soon, I'll continue poking him with pointy things whenever I get a chance - I don't think he knows yet how many people will love his hard work:
     

    On 6/9/2020 at 2:55 AM, =VG= ciro said:

    Okay i'll start documenting the scripts used in the framework, will take me a couple of days then i'll pass it over.

    For mods though ... concerns include...  Pilling mods upon mods taxes the server diskspace and deters players from joining, i tend to do a lot with scripts rather than mods and with that maintain a smaller footprint than mods also scripts should work with all mods / terrains well all i have tested

    for instance:

    i want Guerillawarefare-style mod features including :

    • ACRE   (Mod)
    • Inventory system like Exile  (Scripted in FW)
    • vehicle salvage system (remove parts to repair vehicles)
    • vehicle repair and fuelsystem (Scripted in FW)
    • crafting system (IED's, create bombcars) (Scripted in FW)
    • basebuildingsystem that is restricted to the Team/HQ or outpost/firebases (Scripted in FW)
    • coin-/moneysystem (Scripted in FW BUT with current iniDb2 issue)
    • blackmarket (like Trader- or smugglingsystem to get better equipment) (Scripted in FW)
    • COS system (prevent killing innocents/civilians or get punished) (Scripted in FW)
    • covert ops missions (Scripted in FW)
    • diving is a must. Best Arma 3 feature in my opinion . Like it much. (Vanilla)
    • medical aid system, revive system (Scripted in FW)
    • survival mechanics (hunting, cooking, food, drinks) (Scripted in FW not implimented in any senario i use)
    • crashsites to get adequate weapons or better loot (Scripted in FW)
    • looting bodys (because you need ammo, radiocomms or whatever equipment that is usefull) (Scripted in FW)


    *(quote edited for context/relevance) -Sem


    SO - rather than using a popular mission that other servers run, the idea is to have this unique gem of a mission framework by Ciro, it is even suitable for group events, with no further scripting even necessary.  Coming soon to VG!!

    • Like 1
    • Upvote 1
  8. It's great to see you around again, brother!  I spend way too much time tinkering with things, gotta re-learn a few games myself.  Tried to fly a helicopter in Arma 3 and took me like ten minutes to land safely again on the carrier, and barely made that.  This place is really great to get away, and to dive into games or projects - bullshit levels often far lower than the real world, on average. ;)

    • Like 2
  9. Yea, I think it comes down to size and velocity.. Makes sense that if the chopper was moving, the Kentucky Windage required to account for and put rounds on target would be far easier with the .50 Cal, whereas the large round size of the 40mm would allow for much larger deviation due to unpredictable wind and low velocity, meaning even when pulling to the correct direction against the vector of travel, would still be too far off target (plus the large size and weight of extra ammo vs. .50 Cal).  I get why they made that decision...  we don't have wind in PR or even Arma to blow rounds off target... but we do in Falcon BMS (afaik).

  10. *if I knew more, I'd create a way to charge that second battery outside the headset - but I'm too concerned with getting it wrong, so it's just not something I'm gonna mess with for now.  My next project will likely be a pinball game controller (for use with VR, or just a widescreen monitor in portrait orientation) with haptic feedback and actual pinball parts, etc.  It will be wired USB, but gonna delve into wireless very soon.

  11. 15 hours ago, seacow297 said:

    Hi, new to the forum here. I made a forum account thanks to you and your wonderful build. I was gathering items on your list when you inspired another idea. I was thinking, if i'm going to do this, why not take it a step further and just upgrade my headset at the same time? I have a Corsair Void RGB that is very comfortable, but needs a new battery anyways. Why not just upgrade the battery, from 1000mAh to 2000 and tap into that?

    So I went down a rabbit hole and started trying to figure out what I need (I used to be an AE for a year before I cross-rated to HM, so I have limited and old AC/DC circuits knowledge). Maybe you can tell me if it might be too much of a headache. 

    I found out from this Youtube Video that the battery on the void pro is a 3.7v 1000mAh 523450 battery. Someone in the comment section said they successfully installed a 2000mAh 103450 and it was pretty much plug and play with the right 3pin connector (1.25mm). So my electrician knowledge is pretty much gone...

    If I got just the step up board, how do I go about adding it in to the circuit? I feel like If I just solder it into the contacts at the board where the battery attaches, then i'm introducing 3 loads now into the circuit and I need to adjust accordingly, something about Ohm's law? Do I need to bust out a meter and figure out the resistances of all the components?

    I am uncertain of what would work with any given headset - to provide more than 12 hours of use with my wireless Logitech G933 headset, I just purchased an additional official replacement battery from Logitech, and I keep it charged, sitting in a pouch and ready to swap out extremely easily.  I considered tapping into that power source for the TrackIR, but in the end, preferred a detachable device and an official power source for additional time with my wireless headset.

    The headset has an internal charging and boosting circuit that manages the battery, if it just has a USB cord for power/recharging like most do.  This means it's not just a two wire connection from the battery to the board in the headset, but a three wire with one being a signal wire going to a small circuit inside the battery pack.  Now, this is gonna be different for all the headsets, but slightly similar in concept.  The board is expecting what the firmware was designed for to know when to stop charging the battery, and when to stop discharging the battery.  I am unsure if adding in a higher capacity battery would necessarily get completely charged and take advantage of the additional capacity by the firmware on the headset circuitry.

    That is way beyond where I've traveled so far in hobbyist electronics.  Mess with these sorts of batteries, and you get fire and even small explosions sending fire or caustic material onto the surroundings.  Best to really do your research and know what you're doing... it's past my knowledge at this time.  Like I said, I just went for what I knew would work, and $25 for an extra battery was no skin off my back for the convenience of an additional 12 hours wireless use.

  12. Happy to announce version 1.4 just around the corner! Coming next, I've created a save file system to maintain user defined settings (PTT Mode On / Audio Feedback / Keyboard Regional Layout / etc.) between updates, as well as a live update system for minor patches to systems initialization, where a majority of my AVCS4 profile gets it's operating information.

    To put it plainly, in the next and all future versions, a missing variable or typo in one of the commands like INIT_KEYPRESSES can be pushed out almost instantly to any users of AVCS4 when I receive the report (1.3 exists because 1.2 had a simple typo in the new Carrier Ready for Departure command, in the init file only). Imagine one of the text-to-speech item variations had a problem, and was saying a word wrong, I could change that TTS variable on my end, and push it out to all users who would get it almost instantly when loading the profile.

    I tried a test of more than 2kb (the entire keypress init without comments is only 7kb) of info and a hundred variable updates and couldn't increase the profile init time past 1 second, so it's fast, powerful, and will allow featureless updates without re-downloading new profiles.

    Additionally, the 1.4 version will feature an update notification system, too, to let users know of any major updates that require a manual profile update, with minor bug-fix patches being installed silently on profile load.

    Never again will a typo require an AVCS4 "download new version"! For every AVCS profile or profile builder module I make for any game (BMS, Elite Dangerous, ARK/ATLAS, the Voice Controlled Profile Builder, etc.), any custom user saved settings will no longer be lost due to profile update/delete, or even complete windows reinstall (save file backup system included).

    hgLfwuZ.png

    Thanks to everyone for your continued support and feedback!  Happy New Year!

    • Upvote 1
  13. v1.3 Patch has been released for BMS 4.34.1 (U1)

    Just a simple hotfix for a bug found by Wheelchock, the standard "Ready for Departure" command was getting overwritten by the variable for the new "Carrier Ready for Departure" command added for the new U1 update for BMS. As a result, this command will call an Abort by attempting the same input key as the carrier departure. Basically, everyone does need this hotfix, can't be avoided.

    Anyone can easily fix this themselve inside their own profile, if you already have v1.2, and you don't want to bother importing this new version - just open the command labeled,
    "KEYPRESS_Variables →→→((ADJUST AI COMMS LISTS & KEYS USED BY THIS PROFILE HERE))←←←" and scroll down to the ATC Variables section, under the Carrier Page section,
    you can change the #7 variable from "Set Text [KEY_ATC_ReadyForDeparture] to '7'" to "Set Text [KEY_ATC_CarrierReadyForDeparture] to '7'", and apply changes.

    Otherwise, just download this new version...

    Patch Release v1.3 Changelog Jan2020
    
    Fixes/Improvements:
     -Fixed issue with variable conflict for "Ready for Departure" - was pulling new variable from "Carrier Ready for Departure"

    Download: (Click Here)

  14. v1.2 Update has been released for BMS 4.34.1 (U1)

    Falcon BMS 4.34 has just released Update 1, and with it has come some serious improvements and additional features.  For this profile, and the in-game Radio Menus in general, all that has changed is an addition of a "Ready for Departure" call as the 7th choice on Page 6 of the ATC Radio Menu.  I have added that command to the profile, but as it does conflict with the default "Ready for Departure" command, this Carrier specific command will need to be preceded by the word "Carrier" as a forced prefix word (see note in the large Command Reference pic).

    Example use:  "This is Joker 7-1, Carrier Ready for Departure"

    I've also added a bit of polish to the Audio Feedback system, allowing it to recognize the word "feedback" as two words, "feed back", to help us avoid repeating ourselves to get the commands to fire, as well as a null check on the Stereo Audio Feedback output channel, so it can recover if this saved setting is lost.  I've also updated the minimum version of VoiceAttack, so please be sure to update your VA program.
    We've tested this version, just minor additions, and everything seems great - but let me know if any issues pop up!  Happy New Year!

    Patch Release v1.2 Changelog Dec2019
    New Commands:
     -"Carrier Ready for Departure" : for ATC Page 6, new 7th item added for 4.34 (U1) update
    
    Fixes/Improvements:
     -Added additional recognition words for turning on/off Audio Feedback Mode - "feedback" can now be recognized as "feed back"
     -Added Null Check on Audio Feedback Stereo Output Channel setting, if saved setting lost, will force user input on profile load
     -Updated minimum VoiceAttack version to latest release (v1.8.3) for compatibility

    Download: (Click Here)

    • Upvote 1
  15. Funny you mention that, in 2018, I came across a picture of Indonesian Marine Corps (Amphibious Recon team) testing the M27 IAR, and had some fun with it in photoshop - Go Marines!
    1AmWeXc.png

    (hope it's okay to post this here, just kidding around)

    • Like 1
    • Upvote 1
  16. v1.1 Patch has been released

    A bug has been identified and removed.  This issue prevented the entire Human Pilots Registry system to function and should have been caught before the final release version.  All apologies to everyone who has been trying to use this new voice program.  In addition to this, I've decided to not use a wildcard to catch the name of the BMS program to send keypresses to, and have gone for the "Falcon BMS.exe" method.  Still, this will not catch every user, and players will need to test to be sure commands go through initially, and refer to VoiceAttack troubleshooting (and those tips we've highlighted already) to get commands to fire in the correct window.  I'm happy to help new users, and the community has been helpful as well.  Any questions, feel free to ask!

    Patch Release v1.1 Changelog Nov2019
    
    Fixes/Improvements:
     -Changed common Send To default from *Falcon BMS* to "Falcon BMS.exe" to avoid conflict with open PDF's, etc. with Falcon BMS in name
     -Fixed Human/Computer Pilots Registry system - last minute addition of a mode check was to blame, has been removed for now
    

    Download: (Click Here)

  17. FINAL RELEASE TO v1.0

    Please download updated final version!  Link below and updated in the main post above!  You don't have to remove the old 0.99 beta profile, but it is recommended to not use both at the same time or variables may get messed up.  Thanks to everyone for helping to finish up final testing!

    SitRep:

    I've finished with all final additions and proposed changes, and all known bugs and issues have been resolved.  We've tested quite extensively to try to break things, and it seems fairly stable.  The final version can be found in our download section, please rate and comment if you like and share this link if you can (click here).  There is now an Audio Feedback Mode that can be turned on or off at any time.  It plays a short sound when a command is successfully recognized, to save time and help avoid the frustration of not knowing if we have to repeat a command.

    I've given the option to have the Audio Feedback sound effect to output through stereo left, right, or center channel(s), and this is set when you turn the mode on.  It is a radio cue up type sound, but a bit distinct compared to the ones in BMS to help differentiate feedback.  All three sound files are very tiny, and are included in a VoiceAttack Profile Package for easy importing into VA, and will be placed in folder in the VoiceAttack program folder under Sounds automatically when the profile is imported.

    Finally, there is a single Variable Pause in the KEYPRESS_Variables command that controls the time between a keypress and release for every action in the profile.  Default is 50ms, and if a user has any issue with the keypress macros firing buttons too fast for their computer, this number can be increased slightly to slow down the system and fix any issues.


    Huge thanks to everyone who helped out with comments, feedback, bug reports, and testing - I'm very happy with how well this profile has been developed, and I have a feeling it will be a solid tool for years to come!  I'll support any changes for future BMS versions, and will try to respond to any questions about this profile.
     

    Here's a copy of the changelog:

    Final Release v1.0 Changelog Oct2019
    New Commands:
     -Turn On/Off Audio Feedback Mode : Provides sound feedback upon successful recognition of a command (per user request)
     -Added a non-functional command to help recognize many variations of "Yes" words for the voice confirmations in profile
    
    Fixes/Improvements:
     -New Variable Pause between any keypress/release for adjustment of the time any key is held down, in keypress_variable command. Default is 50ms
     -New Audio Feedback Mode has custom SFX included, and gives user option of stereo left, right, or center playback for easier distinction
     -New Speech notification on startup for Audio Feedback Mode (if enabled)
     -Speech notifications on startup for PTT mode and All-Humans mode (if enabled) have been greatly shortened.
     -Fixed issues with being able to set Humans in Computer Pilots mode and vice versa

    Any problems or new bugs, or brilliant ideas, feel free to drop some feedback!  Cheers! :drinks: 

    • Upvote 1
  18. I should have mentioned that PTT would be required for that invalid sound cue option - as it would otherwise fire for every cough, bark, pin drop, etc.  

    The All Humans mode for just ATC/AWACS/TOWER/etc is actually how this profile started, years ago.  It's the most tested, though these new methods are unlike anything I've written before.  I think the biggest curve ball will be the duplicate commands that came with this latest patch.  See note in the command reference pic for details.  Best wishes and good luck!

  19. There are two settings under Options in the Recognition tab regarding Confidence and you should test and set these as appropriate to help make sure your commands fire the first time, every time.

    For feedback as to if a command fired or not at all, you might consider using an audio cue.  As you've mentioned this as a feature request, it would be no trouble for me to include an optional audio cue to both of these actions.

    First, (if you don't want to wait for me) get two different distinct sounds.   I'll find better ones for a final addition, but for example:

    For a command that was recognized and executed by VoiceAttack (I'd cut this in half for just one sfx, and give it some filtering, etc.):
    https://retired.sounddogs.com/sound-effects/walkie-talkie-two-way-323236

    For a command that was unrecognized (quick and bad example, but choose something distinct):
    https://retired.sounddogs.com/sound-effects/walkie-talkie-two-way-323255

     

    So, then under the command in the category DEBUG, open the F_AVCS_VAS_INVALID_COMMAND command, and under Other > Sounds, choose Play a Sound and select the second example .mp3 - these new sound actions should go at the very end of all current actions, make it the last thing to happen.  When done, press ok and apply.

    To handle about every other command, you can add a "Play a Sound" line for the first example .mp3 to all 5 commands in the "AI COMMS - Prefix Words" category, this will cover the first half the commands without going into each one - but for commands in categories "AI COMMS 2 - AWACS - AWACS Page" through "AI COMMS 3 - ATC - Tower Page", all 10 commands would need to be edited and have that same "Play a Sound" line added, all except those commands in the WILDCARD categories (those just call commands directly from the standard set anyway).  Again, the place to put this Play a Sound line is the very end of the command actions as the last item.

    I can see this being helpful, and those example sounds above are terrible, so when I get time in the coming weeks, I'll craft up a pair of good sounds, and wrap a system around it that can be turned on or off.
    I hate repeating myself to voice control, too, and wondering if my command is going to fire or not, so I'm down for anything that could help on that front.

     

    Hope that helps for now!  I have some website work to do here with my download section, and once those bugs are squashed, I'm gonna finalize this profile and get it out of beta, and share it around the BMS places.  In addition to the feature you just requested, I'll be adding a single adjustable Variable Pause for the time any key is held down during macros, currently at a hard set default of 50ms.
    Cheers! :drinks:

    • Like 2
  20. I had a bit more time to spend on this, so I played around with adding in a 3-way toggle switch as buttons, and also using a rotary encoder without interrupt pins.  It's just not accurate enough, and that's probably why the interrupts are used for methods like this.

    But I did get a working example of the 3-way Toggle Switch for you.  Works well, I've tested it.  There is a debounce delay for the toggle, increase it slightly if the keypress is too fast, but it works for me as is.

    If you haven't already learned this, for the toggle you'll need to wire a voltage divider, long story short follow this image and you'll be good.  The red wire goes to Ground, the yellow wire goes to an Analog pin on your board, and also a 10k Ohm resistor connects it to voltage 3V/5V, whatever.  The blue wire goes through a 10k Ohm resistor to Ground.  (See Black ground wire on rail / white voltage wire on rail)

    three_way_toggle_wiring_arduino.png

     

    And here's the sketch with 3 Rotation Axes and the Toggle:
    https://pastebin.com/sJQEAA8a

    (click to reveal)
    /* Modified HSI Knobs Sketch for Falcon BMS / DCS / FSX
     *  with additional 3rd Rotary Encoder (Z Axis)
     *    also with a 3-way Toggle Switch as buttons
     *  for Arduino Leonardo or equiv. clones
     * by SemlerPDX Sep2019
     * VETERANS-GAMING.COM
     * ( in response to reply at:
     *    https://veterans-gaming.com/index.php?/blogs/entry/32-diy-custom-game-controller-2-dial-hsi-course-and-heading-knobs/ )
     *  
     *  Rotary Encoders need 2 Intterupt Pins Each - Choose a board that has enough like Arduino Leonardo (or clones)
     *    info on Interrupts: https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/
     *  
     *  Pins:
     *  Rotary Encoder 1 - (OUTA-OUTB-SW) = Arduino Pins (0,1,15)
     *  Rotary Encoder 2 - (OUTA-OUTB-SW) = Arduino Pins (2,3,6)
     *  Rotary Encoder 3 - (OUTA-OUTB-SW) = Arduino Pins (9,10,7)
     *  
     *  Three-Way Toggle - (Center Post)  = Analog Input (A1)
     *  
     *  Three-Way Toggle Switch Wiring Example:
     * https://veterans-gaming.com/uploads/monthly_2019_09/three_way_toggle_wiring_arduino.png.1524289e8f56690c7ff6d9f321904de9.png
     *  
     *  Encoder Library
     * https://www.pjrc.com/teensy/td_libs_Encoder.html
     *
     *  Joystick Library
     * by Matthew Heironimus
     * https://github.com/MHeironimus/ArduinoJoystickLibrary
     */
    #define ENCODER_USE_INTERRUPTS
    #define ENCODER_OPTIMIZE_INTERRUPTS
    #include <Encoder.h>
    #include <Joystick.h>
    
    //Three Way Toggle Init
    #define TOGGLE_PIN A1
    int previousState;
    bool aToggled;
    
    //Rotary Encoder Push Button Pins
    //  *further buttons added must increment after these (these are 0,1,2) (buttons 1,2 and 3 on controller)
    int buttonArray[3] = {15, 6, 7};
    
    //Set Toggle Positions as Buttons* (buttons start at 0,1,2,3,4,5 for 6 buttons)
    int ToggleButton1 = 3; //button 4 on controller
    int ToggleButton2 = 4; //button 5 on controller
    int ToggleButton3 = 5; //button 6 on controller
    
    //Rotary Encoder Interrupt Pins
    int EncoderPin0 = 0;
    int EncoderPin1 = 1;
    int EncoderPin2 = 2;
    int EncoderPin3 = 3;
    int EncoderPin4 = 9;   //*Must have board with 6 total interrupt pins
    int EncoderPin5 = 10;  //*Must have board with 6 total interrupt pins
    
    //Tell the Encoder Library which pins have encoders
    Encoder axisXRotation(EncoderPin0, EncoderPin1);
    Encoder axisYRotation(EncoderPin2, EncoderPin3);
    Encoder axisZRotation(EncoderPin4, EncoderPin5);
    
    //Delay Time between loops
    int debounceDelay = 260;
    
    //Delay Time before button release
    int toggleDebounce = 10;
    
    //Variables to compare current to old values
    int oldX = 0;
    int oldY = 0;
    int oldZ = 0;
    int RxAxis_Value = 1;
    int RyAxis_Value = 1;
    int RzAxis_Value = 1;
    
    //Intervals for Jump/Warp Speed Rotations
    int JumpSpeed = 18;
    int WarpSpeed = 30;
    
    //Set generic joystick with id 42 with 6 buttons and 3 axes
    Joystick_ Joystick(0x42, 
      0x04, 6, 0,
      false, false, false, true, true, true,
      false, false, false, false, false);  
    
    
    //Function to translate Three-way Toggle Analog Value
    int getToggleState(int aVal) {
      if(aVal < 100) {
        aVal = ToggleButton1;
      }else if(aVal < 900) {
        aVal = ToggleButton3;
      }else {
        aVal = ToggleButton2;
      }
      return aVal;
    }
    
    //Function to set Rotation value adjusted for the turning speed
    int speedVal(int dif, int val, int dir){
      int increment = 1;
      if (dif >= WarpSpeed) {
        increment = WarpSpeed;
      }else if (dif >= JumpSpeed) {
        increment = JumpSpeed;
      }
      if (dir == 1) {
        val = val + increment;
      }else{
        val = val - increment;
      }
      //Correct Rotation within 360 deg.
      if (val < 0) {
        val = val + 360;
      }else if (val >= 360) {        
        val = val - 360;
      }
      return val;
    }
    
    
    void setup() { 
      
      //Toggle Switch Setup
      previousState = 1000;
      aToggled = false;
    
      //Set Encoder Pins as Pullups
      pinMode(EncoderPin0, INPUT_PULLUP);
      pinMode(EncoderPin1, INPUT_PULLUP);
      pinMode(EncoderPin2, INPUT_PULLUP);
      pinMode(EncoderPin3, INPUT_PULLUP);
      pinMode(EncoderPin4, INPUT_PULLUP);
      pinMode(EncoderPin5, INPUT_PULLUP);
    
      //Loop through buttons and set them as Pullups
      for(int x = 0; x < sizeof(buttonArray); x++) {
        pinMode(buttonArray[x], INPUT_PULLUP);
      }
    
      //Set Range of custom Axes
      Joystick.setRxAxisRange(0, 359);
      Joystick.setRyAxisRange(0, 359);
      Joystick.setRzAxisRange(0, 359);
      
      // Initialize Joystick Library
      Joystick.begin(false);
    
    }
    
    
    void loop() {
    
      // Loop through button pin values & set to Joystick
      for (int x = 0; x < sizeof(buttonArray); x++) {
        byte currentButtonState = !digitalRead(buttonArray[x]);
        Joystick.setButton(x, currentButtonState);
      }
    
    
      //Read Three Way Toggle
      int analogValue = analogRead(TOGGLE_PIN);
      int actualState = getToggleState(analogValue);
      if(previousState != actualState) {
        //Set Toggle Switch input as Button Press
        Joystick.setButton(actualState, 1);
        previousState = actualState;
        aToggled = true;
        
      }else {
        //Reset button(s) to unpressed state
        if (aToggled) {
          aToggled = false;
          delay (toggleDebounce);
          for (int a = 3; a < 6; a++) {
            Joystick.setButton(a, 0);
          }
        }
      }
      
    
      // Read "Heading" X Axis Rotation Encoder Knob
      int newX = axisXRotation.read();
      if (newX > oldX) {
        //Determine speed of increment & set output
        int difX = newX - oldX;
        RxAxis_Value = speedVal(difX, RxAxis_Value, 1);
        Joystick.setRxAxis(RxAxis_Value);
        axisXRotation.write(newX);
        oldX = newX;
    
      }else if (newX < oldX) {
        //Determine speed of decrement & set output
        int difX = oldX - newX;
        RxAxis_Value = speedVal(difX, RxAxis_Value, 0);
        Joystick.setRxAxis(RxAxis_Value);
        axisXRotation.write(newX);
        oldX = newX;
      }
    
    
      // Read "Course" Y Axis Rotation Encoder Knob
      int newY = axisYRotation.read();
      if (newY > oldY) {
        //Determine speed of increment & set output
        int difY = newY - oldY;
        RyAxis_Value = speedVal(difY, RyAxis_Value, 1);
        Joystick.setRyAxis(RyAxis_Value);
        axisYRotation.write(newY);
        oldY = newY;
    
      }else if (newY < oldY) {
        //Determine speed of decrement & set output
        int difY = oldY - newY;
        RyAxis_Value = speedVal(difY, RyAxis_Value, 0);
        Joystick.setRyAxis(RyAxis_Value);
        axisYRotation.write(newY);
        oldY = newY;
      }
    
     
      // Read "QNH" Z Axis Rotation Encoder Knob
      int newZ = axisZRotation.read();
      if (newZ > oldZ) {
        //Determine speed of increment & set output
        int difZ = newZ - oldZ;
        RzAxis_Value = speedVal(difZ, RzAxis_Value, 1);
        Joystick.setRzAxis(RzAxis_Value);
        axisZRotation.write(newZ);
        oldZ = newZ;
    
      }else if (newZ < oldZ) {
        //Determine speed of decrement & set output
        int difZ = oldZ - newZ;
        RzAxis_Value = speedVal(difZ, RzAxis_Value, 0);
        Joystick.setRzAxis(RzAxis_Value);
        axisZRotation.write(newZ);
        oldZ = newZ;
      }
    
    
      //Send Joystick info through USB
      Joystick.sendState();
      delay(debounceDelay);
    }

     

     

    :hi:

    • Upvote 1
  21. *For your three way toggle switch, set it up as buttons in the same way the encoder buttons are set - give each pole a pin, follow the circuit diagram for where to put resistors/ground/etc., and play around with it until each flip of the switch causes a single button press of whatever 3 buttons that is set to.  Read the instructions on the Joystick Library link, it shows the format for the VOID SETUP bit for setting a generic joystick with so many axes and so many buttons, and add three to the buttons count for your switch.  Other than that, you will need to play around and learn a bit to get it to work as I'll be unavailable and you'll not want to wait for me to work it out for you.  Tons of info on this on flight sim forums of cockpit builders, I'm not the best source for info on that.  Cheers!

  22. @Arnaud  Just a quick update for you:  I have not had a lot of time to spend on this, I've been busy and I'm not really a pro at this stuff, so I'm far less helpful than posting these questions on one of the micro-controller discussion forums.  BUT I have read a bunch of them, and I went back to review a few.  There are others who've wanted to use tons of rotary encoders, even asking if it's possible to do them in a matrix array like a button board does.  In the end, I think the most helpful page I landed on discussed changing any pin into an interrupt. 

    Now, I've not fully wrapped my head around it yet, as I am again busy and when I'm done, I just want to veg and play mindless games for now, but I wanted to share this with you in case you have the drive to chase it down yourself.  Aside from buying the proper board for the task, something with enough interrupt pins to work out of the box for the project, it might be possible to get creative, but it will require you to learn even more about this topic to make your idea work with your current gear.

    Here's the link - best wishes and good luck! I may not be able to help you finish your project, but if you have any simple questions, or need to know something else about my method, feel free to ask!
    https://playground.arduino.cc/Main/PinChangeInterrupt/

×
×
  • Create New...

Important Information

Terms of Use and Privacy Policy