Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Mission UI #68

Merged
merged 155 commits into from
May 5, 2019
Merged

Added Mission UI #68

merged 155 commits into from
May 5, 2019

Commits on Mar 13, 2019

  1. Configuration menu
    Copy the full SHA
    5ceb13e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5242b42 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2019

  1. Added popup window

    It is located in index.js to maintain a global variable of it and it is better allocated there than inside MissionContainer
    Luis729 committed Mar 15, 2019
    Configuration menu
    Copy the full SHA
    71a4cd9 View commit details
    Browse the repository at this point in the history
  2. Versioning overhaul

    Luis729 committed Mar 15, 2019
    Configuration menu
    Copy the full SHA
    7eeb598 View commit details
    Browse the repository at this point in the history
  3. Updated missionWindow to work as intended

    Does not work for building yet, will look into solutions
    Luis729 committed Mar 15, 2019
    Configuration menu
    Copy the full SHA
    4ff7f5c View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2019

  1. Multi-window support for electron-webpack

    Allows us to create more than one window on electron and linking them all to one html file without collision.
    
    This works for building the app too, not just on development.
    
    Next step is to update the new mission window to display whatever information is necessary for mission selected. See #45
    Luis729 committed Mar 16, 2019
    Configuration menu
    Copy the full SHA
    0a4f90a View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2019

  1. Minimal changes

    Finding issues with geolocation, will fix
    Luis729 committed Mar 17, 2019
    Configuration menu
    Copy the full SHA
    9f6ea49 View commit details
    Browse the repository at this point in the history
  2. Electron 4 does not support geolocation, reverted to Electron 3

    See the following thread: electron/electron#16139
    
    This issue is fixed in the following thread, but wont be released until Electron 5: electron/electron#15618
    Luis729 committed Mar 17, 2019
    Configuration menu
    Copy the full SHA
    a5d2456 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2019

  1. Finished logic for MissionContainer

    MissionContainer has the logic and list of missions that the MissionWindow will be using.
    
    Any information (mission has started, paused, completed, etc) in the MissionWindow will be retrieved from the MissionContainer
    Luis729 committed Mar 18, 2019
    Configuration menu
    Copy the full SHA
    7f06534 View commit details
    Browse the repository at this point in the history
  2. Update comments

    Luis729 committed Mar 18, 2019
    Configuration menu
    Copy the full SHA
    38633c5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0be384c View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2019

  1. Reformatted files

    Luis729 committed Mar 19, 2019
    Configuration menu
    Copy the full SHA
    6b55c6f View commit details
    Browse the repository at this point in the history
  2. Update README.md

    Luis729 authored Mar 19, 2019
    Configuration menu
    Copy the full SHA
    f9d8e1d View commit details
    Browse the repository at this point in the history
  3. Updated badges

    Travis CI had a small error with badge, needed to specify branch.
    Luis729 authored Mar 19, 2019
    Configuration menu
    Copy the full SHA
    771c8b6 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2019

  1. Added job UI

    Luis729 committed Mar 22, 2019
    Configuration menu
    Copy the full SHA
    1cde54b View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2019

  1. Version bump

    Currently has vulnerabilities, will be fixed in svg/svgo#1089
    Luis729 committed Mar 23, 2019
    Configuration menu
    Copy the full SHA
    1d12df4 View commit details
    Browse the repository at this point in the history
  2. Updated CSS structure

    Note: when importing files (import X from './X'), and there are two files X.js and x.css, the program will import the CSS file (when intended to import the JS file).
    
    This will cause an error in the program. The solution is to not name the CSS file as JS files.
    
    Took a while to figure out since all code looked normal. Ill get working on getting structure up (will do Takeoff as an example)
    Luis729 committed Mar 23, 2019
    Configuration menu
    Copy the full SHA
    6b1f263 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2019

  1. Added logic and basic structure to mission window

    Needs more work:
    1. Create a general mission jsx class, since these classes seem to have similar logic.
    2. Create some jobs. Its likely that jobs will need a general class too.
    
    These general classes, by the way, should be superclasses to be extended from.
    Luis729 committed Mar 24, 2019
    Configuration menu
    Copy the full SHA
    322b646 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    649b0f6 View commit details
    Browse the repository at this point in the history
  3. Fixed logic

    Luis729 committed Mar 24, 2019
    Configuration menu
    Copy the full SHA
    de216f9 View commit details
    Browse the repository at this point in the history
  4. Forwarded mission index to mission windows to allow multiple missions…

    … to run
    
    More logic. Should not affect building other missions. Just understand to forward mission index to mission jsx classes to be able to return that index to mission container to complete missions (and be able to run more than one mission at a time).
    Luis729 committed Mar 24, 2019
    Configuration menu
    Copy the full SHA
    56226c8 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2019

  1. Added general Mission and Job classes.

    See #56.
    
    Needs a lot of styling. Needs more logic.
     - Logic to add parameters from jobs to Orchestrator through startJob.
     - Logic to filter out unrelated veihicles while mission window is open. I might work on this next.
    
    There are minor logic issues still. Will push anyway to share.
     - Buttons might not be properly turned on/off
     - PropTypes need to be fixed
    Luis729 committed Mar 25, 2019
    Configuration menu
    Copy the full SHA
    b0ec5e7 View commit details
    Browse the repository at this point in the history
  2. Small change

    Current version struggles to keep mission window state as well as job state.
    
    The mission window can only keep track of one misison at a time, but it should be able to keep track of all missions. If I start one mission and start another, the mission window will forget all information about the first mission. There should be a fix to this.
    Luis729 committed Mar 25, 2019
    Configuration menu
    Copy the full SHA
    0b74483 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2019

  1. Modified some files for TypeScript support

    Work in progress.
    
    Note: I realized Leaflet loves to maky a lot of things any type, and our linter doesnt like that
    Luis729 committed Mar 26, 2019
    Configuration menu
    Copy the full SHA
    2b8929d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cd02c35 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2019

  1. More TypeScript files changed

    Control TypeScript added, will continue on my PC
    
    Added react-leaflet-control to declaration files. Moved the declaration file to root of repository, named as global.d.ts.
    Luis729 committed Mar 27, 2019
    Configuration menu
    Copy the full SHA
    e78bb61 View commit details
    Browse the repository at this point in the history
  2. Finished map container

    I got brain cancer from doing this
    Luis729 committed Mar 27, 2019
    Configuration menu
    Copy the full SHA
    b8b06e3 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2019

  1. Added comments to code

    Helps with seeing what the variables are when hovering over them.
    
    CachedTileLayer doesnt work right now and will fix soon.
    Luis729 committed Mar 30, 2019
    Configuration menu
    Copy the full SHA
    8781027 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    39e74bd View commit details
    Browse the repository at this point in the history
  3. Added job to types.

    I dont think I'll work on integrating TypeScript with mission window. I'll let @maquino123 and @tnleang handle that
    Luis729 committed Mar 30, 2019
    Configuration menu
    Copy the full SHA
    503ad14 View commit details
    Browse the repository at this point in the history
  4. Added FOSSA to Travis testing

    Luis729 committed Mar 30, 2019
    Configuration menu
    Copy the full SHA
    744c703 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c815e44 View commit details
    Browse the repository at this point in the history
  6. One more fix

    Luis729 committed Mar 30, 2019
    Configuration menu
    Copy the full SHA
    08217d3 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #59 from NGCP/dev-2018-missionui-typescript

    TypeScript support
    Luis729 authored Mar 30, 2019
    Configuration menu
    Copy the full SHA
    36495c8 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2019

  1. Version bump

    Fixed README too
    Luis729 committed Apr 2, 2019
    Configuration menu
    Copy the full SHA
    c76c4ad View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a2d9baf View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2019

  1. Added basic file to ListDict (now called DictionaryList)

    DictionaryList makes more sense than ListDict, since this is a dictionary of lists, not a list of dictionaries.
    
    Also edited/fixed comments to help with the `atom-typescript` plugin when hovering over variables.
    
    Re-allocated declaration files.
    
    Turned on a check that will crash the program before loading if MAPBOX_TOKEN is not defined.
    Luis729 committed Apr 3, 2019
    Configuration menu
    Copy the full SHA
    e7aa590 View commit details
    Browse the repository at this point in the history
  2. Downgraded TypeScript version to support @typescript-eslint

    From their repository:
    
    The version range of TypeScript currently supported by this parser is >=3.2.1 <3.4.0.
    Luis729 committed Apr 3, 2019
    Configuration menu
    Copy the full SHA
    ae378e7 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2019

  1. Configuration menu
    Copy the full SHA
    276eb46 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    01ba9b9 View commit details
    Browse the repository at this point in the history
  3. Updating parser version allows my system to see the errors now

    Will fix the issues in a little bit.
    
    This commit should fail the build test.
    Luis729 committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    40200f4 View commit details
    Browse the repository at this point in the history
  4. Fixed all eslint errors

    - Adding return types to all functions (seems to finally show up to my system after upgrading to typescript-eslint v1.6
    
    - Added functions to DictionaryList so that tsc does not throw an error
    
    - Fixed some comments
    Luis729 committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    1eb7b8f View commit details
    Browse the repository at this point in the history
  5. Version bump

    Luis729 committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    290a3be View commit details
    Browse the repository at this point in the history
  6. typescript-eslint fix

    Luis729 authored Apr 4, 2019
    Configuration menu
    Copy the full SHA
    902177c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7401948 View commit details
    Browse the repository at this point in the history
  8. Implemented DictionaryList

    Needs unit tests
    Luis729 committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    cba58f6 View commit details
    Browse the repository at this point in the history
  9. Added UpdateHandler

    Needs unit tests
    Luis729 committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    e3a4e06 View commit details
    Browse the repository at this point in the history
  10. Added unit tests

    You ready to merge yet @maxwey :^)
    Luis729 committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    be9a4d9 View commit details
    Browse the repository at this point in the history
  11. Import node in hopes to fix Timeout issue

    Also updated .travis.yml script to run tests one at a time.
    
    `npm test` can be left so that the developer can use it whenever necessary.
    Luis729 committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    4b10a5a View commit details
    Browse the repository at this point in the history
  12. Minor changes

    Added signatures to json imports in src/static.
    
    Added electron to import's core-modules so we don't need to put "eslint-disable-line import/no-extraneous-dependencies" on every electron import.
    
    Mapped vehicles in order before passing it from vehicle container to vehicle table to increase performance from O(n^2 logn) to O(nlogn).
    Luis729 committed Apr 4, 2019
    Configuration menu
    Copy the full SHA
    0973dce View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2019

  1. Modified some files to prepare for Vehicle class

    Changed "listener" terminology in UpdateHandler to "handler".
    
    Changed updateVehicles and updateMessages notification to take multiple
    parameters instead of an array of vehicles/messages through parameter
    destrucutring.
    
    Added logic to static/index.ts to set startLocation and export that as a
    LatLngZoom instead of having other classes figure out that location.
    Also changed order of importing files in the same file, will add
    documentation on the order local files should be imported.
    
    Added disconnection time constant to static/vehicle.json that is also
    exported throughs static/index.ts.
    
    Changed Vehicle interface in util/types.ts to VehicleUpdate. Will
    eventually change this to UpdateMessage (see the JSON protocol) and will
    add typings for all other messages too (when Vehicle is done being
    implemented, the user interface will take in the Vehicle objects instead
    of UpdateMessages).
    
    Added failsafe measures to updateVehicles function.
    Luis729 committed Apr 5, 2019
    Configuration menu
    Copy the full SHA
    eed6bf5 View commit details
    Browse the repository at this point in the history
  2. Change functions in objects to have arrow notation

    Functions without arrow notation will struggle to access
    private/instance variables in classes. Also added a default export to
    util/util.ts
    Luis729 committed Apr 5, 2019
    Configuration menu
    Copy the full SHA
    ad7f2a8 View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2019

  1. Added Vehicle class

    Integrated class to the rest of the class. The Vehicle class is created
    using a message (which has an sid field), which will output a
    VehicleObject that can be sent to the user interface (through
    ipcRenderer) and can be used then.
    
    Added definitions for Messages and Jobs too.
    Luis729 committed Apr 6, 2019
    Configuration menu
    Copy the full SHA
    2a18d4c View commit details
    Browse the repository at this point in the history
  2. Added typings for XbeeAPI

    Help my soul
    Luis729 committed Apr 6, 2019
    Configuration menu
    Copy the full SHA
    bf07c5a View commit details
    Browse the repository at this point in the history
  3. Added Xbee support

    Tested with XCTU, it works. Everything else that needs to be created is
    all logic in Orchestrator and MessageHandler (and also recreate
    Missions).
    Luis729 committed Apr 6, 2019
    Configuration menu
    Copy the full SHA
    b39adf6 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2019

  1. Configuration menu
    Copy the full SHA
    667b000 View commit details
    Browse the repository at this point in the history
  2. Fixed job names on Jobs.ts

    Luis729 committed Apr 7, 2019
    Configuration menu
    Copy the full SHA
    fd2cd0c View commit details
    Browse the repository at this point in the history
  3. Reformatted configuration files and types

    Changed exports in static/index so that the variables can be seen as configuration files when imported to other files. Will cause less confusion to the developer.
    
    Moved all source types to a `src/types` folder. Note this is different from external module typings, which will contain types for external modules.
    
    Commented out things that do not work right now because of these changes, and will fix them back once I have the time.
    
    Added typings to all tasks and messages.
    
    TODO:
    
    Fix code that I have commented with code that works for it now.
    
    Finish the type guard functions in src/types/messages. @tnleang can you help me with this?
    
    Fix documentation for all of this. Perhaps add a `docs` folder in root?
    Luis729 committed Apr 7, 2019
    Configuration menu
    Copy the full SHA
    01555a8 View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2019

  1. Version bump

    Luis729 committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    37ea608 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4e16d2b View commit details
    Browse the repository at this point in the history
  3. Updated type guards

    Fixed one small thing with connect message as well as removed the requirement for an errorMessage when a vehicle is in an error state.
    
    Also removed the requirement for an error field in badMessage message, but we will be filling that field in whenever we send a badMessage. This is in the case a vehicle does not provide an error field in the badMessage message.
    Luis729 committed Apr 8, 2019
    Configuration menu
    Copy the full SHA
    40e35ca View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2019

  1. Finished messages typings

    Got lazy commenting the code at the end but screw it. I think I commented the important parts, but commenting all code is better.
    Luis729 committed Apr 9, 2019
    Configuration menu
    Copy the full SHA
    dd994d4 View commit details
    Browse the repository at this point in the history
  2. Reallocated type guard exports to a common variable

    Also removed unnecessary and blatantly obvious comments.
    
    Comments that describe each function would make this file better, but this should be the final version. Lets hope that no changes are needed in the future
    Luis729 committed Apr 9, 2019
    Configuration menu
    Copy the full SHA
    f965506 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2019

  1. Added receiveMessage function to MessageHandler

    Also updated QuickScan Task definition
    Luis729 committed Apr 10, 2019
    Configuration menu
    Copy the full SHA
    5cec45c View commit details
    Browse the repository at this point in the history
  2. Updated UpdateHandler

    Updated to this commit
    
    https: //github.com/NGCP/GCS/commit/5e1bd6a8eeeabe3284d9fea0ad416431e61ab571#diff-9c8de213580183bcd8fa27b3fdefce6b
    Co-Authored-By: Maxence Weyrich <[email protected]>
    Luis729 and maxwey committed Apr 10, 2019
    Configuration menu
    Copy the full SHA
    2ea625b View commit details
    Browse the repository at this point in the history
  3. Fixed UpdateHandler test

    Luis729 committed Apr 10, 2019
    Configuration menu
    Copy the full SHA
    542b8a2 View commit details
    Browse the repository at this point in the history
  4. Changed eslint

    Was working on Mission, but I'll give it a rest. Will do it tomorrow
    Luis729 committed Apr 10, 2019
    Configuration menu
    Copy the full SHA
    78a6611 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2019

  1. Added JobType type

    Luis729 committed Apr 11, 2019
    Configuration menu
    Copy the full SHA
    5a55596 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    abd6cd4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a9e71f2 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2019

  1. Added mission parameters

    Mission parameters is a mix of information required, as well as options.
    
    A selected number of missions can be chosen to perform at once, but since the output of one mission goes into the input of the next, the user only needs to add mission info for the first mission. The user will need to input mission options for all missions, however.
    Luis729 committed Apr 12, 2019
    Configuration menu
    Copy the full SHA
    1003c88 View commit details
    Browse the repository at this point in the history
  2. Added options to PayloadDrop mission (and added PayloadDropMissionPar…

    …ameters)
    
    Also decided to make all information in `ISRSearchMissionParameters` required.
    
    The UI should just fill in 0 for all of those fields if the option for that is off. The Mission class will ignore the parameters completely.
    Luis729 committed Apr 12, 2019
    Configuration menu
    Copy the full SHA
    02c3286 View commit details
    Browse the repository at this point in the history
  3. Added Mission class (WIP)

    Need sleep will finish tomorrow, as well as Orchestrator
    Luis729 committed Apr 12, 2019
    Configuration menu
    Copy the full SHA
    412a747 View commit details
    Browse the repository at this point in the history
  4. Version bump + updated MessageHandler

    MessageHandler will forward all messages to the Orchestrator to acknowledge, as MessageHandler does not know if the message's source vehicle is connected or not.
    Luis729 committed Apr 12, 2019
    Configuration menu
    Copy the full SHA
    917f944 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1153484 View commit details
    Browse the repository at this point in the history
  6. Convert missionWindow

    - Converting missionWindow from js to ts
    - Reorganize jobs directory
    
    - deleted missionContainer in mainWindoow
    tnleang committed Apr 12, 2019
    Configuration menu
    Copy the full SHA
    821d143 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2019

  1. Configuration menu
    Copy the full SHA
    5342d89 View commit details
    Browse the repository at this point in the history
  2. Version bump

    `eslint-plugin-import` causes TypeError issues
    
    import-js/eslint-plugin-import#1322
    Luis729 committed Apr 13, 2019
    Configuration menu
    Copy the full SHA
    7cf99a7 View commit details
    Browse the repository at this point in the history
  3. FInished Mission class

    I'm tired time to sleep
    Luis729 committed Apr 13, 2019
    Configuration menu
    Copy the full SHA
    5b3b906 View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2019

  1. Added more logic to Mission

    Went on with Max's definition of handleUnresponsiveVehicle.
    
    Added support to add tasks to a job by a certain comparison criteria (allows for obtaining the next task in a different way).
    
    Ensured that activeVehicleMapping ONLY has the vehicles that are doing a job that relates to the mission. Any other vehicles are completely ignored for the mission (this is in the case the user interface sends extra jobs that are irrelevant to the mission over to the constructor). Doing this allows us to not have to check all the time if the job in the activeVehicleMapping is a related jobType or not. It simply is.
    
    Added support to keep track of vehicles of a mission by having a callback on the update messages that are sent from the vehicles.
    Luis729 committed Apr 14, 2019
    Configuration menu
    Copy the full SHA
    f00e8cb View commit details
    Browse the repository at this point in the history
  2. Small changes, no change in logic

    Will read through the code one more time before starting to implement other missions + Orchestrator
    Luis729 committed Apr 14, 2019
    Configuration menu
    Copy the full SHA
    94a8aae View commit details
    Browse the repository at this point in the history
  3. Added ipcRenderer typing support through util/ipc.ts

    Small logic changes here and there too, nothing significant.
    
    Also converted all files to TypeScript/TypeScript React files.
    Luis729 committed Apr 14, 2019
    Configuration menu
    Copy the full SHA
    bdbb4ee View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2019

  1. Updated logic

    Made MessageHandler ignore whether or not the message type field is capitalized or not.
    
    Made completionCallback of Mission class return a MissionParameter, not MissionInformation.
    
    Modified stop() function of Mission class. Will need to modify naming of functions/variables in this class even more, its very unreadable.
    
    Added "stopMission" support to ipc.ts.
    
    Renamed locations.json to location.json.
    
    Added disconnect() support to Vehicle. It is not possible to disconnect the vehicle from the Orchestrator through vehicle.update().
    Luis729 committed Apr 15, 2019
    1 Configuration menu
    Copy the full SHA
    0d10de2 View commit details
    Browse the repository at this point in the history
  2. Added Orchestrator and fixed logic

    Fixed logic for acknowledgement messages in MessageHandler.
    
    Fixed logic for stopping sending messages in MessageHandler.
    
    Simplified logic in Mission to log parameters whenever a mission completes.
    
    Changed lastConnectionTime to update to the time field in the messages.
    
    Added more typings/functions.
    Luis729 committed Apr 15, 2019
    Configuration menu
    Copy the full SHA
    ed24d78 View commit details
    Browse the repository at this point in the history
  3. Forgot to include Orchestrator into last commit

    Will add the original authors to this commit
    
    Co-Authored-By: Maxence Weyrich <[email protected]>
    Co-Authored-By: Kedwin Chen <[email protected]>
    3 people committed Apr 15, 2019
    Configuration menu
    Copy the full SHA
    73f21a0 View commit details
    Browse the repository at this point in the history
  4. Added ISRSearch mission

    Really need to divide the message.ts file to different files.
    
    Will add the rest of the files tomorrow.
    
    Co-Authored-By: Maxence Weyrich <[email protected]>
    Co-Authored-By: Kedwin Chen <[email protected]>
    3 people committed Apr 15, 2019
    Configuration menu
    Copy the full SHA
    694bdd9 View commit details
    Browse the repository at this point in the history
  5. Added support to start Mission

    Again will need to clean code. Should work
    Luis729 committed Apr 15, 2019
    Configuration menu
    Copy the full SHA
    7ef85de View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    12bcb3b View commit details
    Browse the repository at this point in the history
  7. Fixed comments in Orchestrator + logic

    Noticed indexing was wrong in startNextMission so I fixed that.
    Luis729 committed Apr 15, 2019
    Configuration menu
    Copy the full SHA
    1d193d5 View commit details
    Browse the repository at this point in the history
  8. Modified code structure + comments to improve readability

    Final fix to logic of MessageHandler's receivingMessage function. It should only forward the first message of a certain ID to the Orchestrator, but acknowledge all valid messages.
    Luis729 committed Apr 15, 2019
    Configuration menu
    Copy the full SHA
    54f25a8 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2019

  1. Fixed logic + comments

    Added check to Orchestrator to check Mission's vehicles before calling mission.update()
    
    Did check on all vehicle states before assigning jobs in Mission (instead of checking states while assigning jobs).
    
    Added check for new message for bad messages too.
    
    Fixed logic in Orchestrator to set completionParameters of this mission to the starting parameters for next mission.
    
    Logic in Mission will be to send stop to all vehicles if the stop() function is called while the Mission status is not "ready". If Mission status is "initializing" it will also stop sending current messages.
    
    Added logic to Vehicle's status handler to remove the callback when it disconnects, as the other callback should not happen if the vehicle is too late to accept its job.
    Luis729 committed Apr 16, 2019
    Configuration menu
    Copy the full SHA
    37095b9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aea50e7 View commit details
    Browse the repository at this point in the history
  3. (Re)added undefined as an option for generateTasks/generatedCompletio…

    …nParameters
    
    Throws an error, and mission will stop if undefined is returned.
    Luis729 committed Apr 16, 2019
    Configuration menu
    Copy the full SHA
    36d6d3f View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2019

  1. Updated typings

    Allocated the fat messages.ts file into many files that make more sense.
    
    Removed float hex, as we will use compression with msgpack to make things work.
    
    Also removed "options" from StartMessage as I believe this is difficult to handle in other languages (C in particular).
    Luis729 committed Apr 17, 2019
    Configuration menu
    Copy the full SHA
    567cb6e View commit details
    Browse the repository at this point in the history
  2. MessageHandler was not included in last commit

    Not sure why
    Luis729 committed Apr 17, 2019
    Configuration menu
    Copy the full SHA
    a091165 View commit details
    Browse the repository at this point in the history
  3. Fixed typings

    Mission Window + Missions need work
    Luis729 committed Apr 17, 2019
    Configuration menu
    Copy the full SHA
    81db431 View commit details
    Browse the repository at this point in the history
  4. Added msgpack support to Xbee

    Luis729 committed Apr 17, 2019
    Configuration menu
    Copy the full SHA
    6832825 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2019

  1. Log container has timeout

    Fixes #64
    Luis729 committed Apr 18, 2019
    Configuration menu
    Copy the full SHA
    78c39c1 View commit details
    Browse the repository at this point in the history
  2. Finish ISR Search backend

    Luis729 committed Apr 18, 2019
    Configuration menu
    Copy the full SHA
    fc5ef7a View commit details
    Browse the repository at this point in the history
  3. Added all other missions

    All that is needed from GCS is the UI now
    Luis729 committed Apr 18, 2019
    Configuration menu
    Copy the full SHA
    f4a34e1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    88213bd View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2019

  1. Added boundingBox and waypoints variable to MapContainer

    MapContainer needs events that will update and remove those variables accordingly from the MissionUI. Perhaps at mission complete, delete all variables, at change mission change displayed variables, etc... Will need to emit a mission change from Orchestrator if mission changes automatically, or from UI if mission changes manually (thru user selecting a different start mission).
    
    Look into the following for a resizeable bounding box:
    https://github.com/w8r/Leaflet.Path.Transform
    Luis729 committed Apr 19, 2019
    Configuration menu
    Copy the full SHA
    a17576d View commit details
    Browse the repository at this point in the history
  2. Version bump + update waypoint logic

    Will test with fixtures in a bit.
    
    Then need to work on bounding box.
    Luis729 committed Apr 19, 2019
    Configuration menu
    Copy the full SHA
    e1d30c6 View commit details
    Browse the repository at this point in the history
  3. Fixed waypoint logic

    WIll not update the location of the waypoint in the MapContainer since it does not matter. If I try to update the waypoint in the MapContainer, the waypoint will not be able to drag since it will "undrag" itself back to its previous spot.
    Luis729 committed Apr 19, 2019
    Configuration menu
    Copy the full SHA
    34f6876 View commit details
    Browse the repository at this point in the history
  4. Modified fixtures

    Updated logic to Orchestrator. UpdateVehiclesFixtures now sends notifications to Orchestrator instead of the container.
    
    Fixed bug with above where Orchestrator does not initialize the vehicle to "ready" status, and denies all messages since it is in a "disconnected" status.
    
    TODO: Add logic to send stop message if vehicle is in a mission and sends status = "running" or status = "paused".
    
    Moved acknowledging to MessageHandler. No need for it to be in Orchestrator, was thinking that MessageHandler needed vehicle access to send acknowledgement, but that's not needed.
    Luis729 committed Apr 19, 2019
    Configuration menu
    Copy the full SHA
    c547c0d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9cc6e97 View commit details
    Browse the repository at this point in the history
  6. Small change to missions

    Luis729 committed Apr 19, 2019
    Configuration menu
    Copy the full SHA
    579e86e View commit details
    Browse the repository at this point in the history
  7. Updated for testing with UGV

    Temporary stuff
    Luis729 committed Apr 19, 2019
    Configuration menu
    Copy the full SHA
    323f2b0 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2019

  1. (Re)added logic to the Orchestrator to only acknowledge if the messag…

    …e is valid (vehicle is connected, if mission related, vehicle is in mission, etc)
    Luis729 committed Apr 20, 2019
    Configuration menu
    Copy the full SHA
    c006d4b View commit details
    Browse the repository at this point in the history
  2. Fixed broken ts tests

    Forgot to run `npm test` again before committing
    Luis729 committed Apr 20, 2019
    Configuration menu
    Copy the full SHA
    6271c9a View commit details
    Browse the repository at this point in the history
  3. Update logic in Orchestrator's ping + ack/self change

    Moved logic that requires only new message in an if loop, and put the Orchestrator acknowledge outside of that.
    
    Simplified loop of creating new event handler every few seconds with delta timeout to a simple timeout. Prevented disconnectFromVehicle to happening when vehicle is already disconnected (due to recursive calls after the program ends).
    
    Fixed logic in vehicle to not create a new instance every time it is reconnected.
    
    Added logic in the Orchestrator to send "stop" message to vehicle if it is a mission-related state (waiting, running, paused) while it is not assigned a mission.
    
    Fixed logic in MessageHandler as msgpack.decode actually obtains the object itself, not the string. The object can vary from undefined to a valid message. Also fixed the jobTypes type guard (see src/static/index)
    Luis729 committed Apr 20, 2019
    Configuration menu
    Copy the full SHA
    5ea0abc View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2019

  1. Fixed frame type in Xbee

    Fixed connection logic in Orchestrator
    
    Fixed logic in sending message in MessaageHandler
    Luis729 committed Apr 22, 2019
    Configuration menu
    Copy the full SHA
    bf2de79 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2019

  1. Added bounding box

    Luis729 committed Apr 23, 2019
    Configuration menu
    Copy the full SHA
    92183f7 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2019

  1. Added logic to MissionWindow

    Will change the logic in MissionWindow as the other apps become built. The way the other apps will work is that the apps will not send information to the MissionWindow unless all their fields are filled out.
    
    Other changes:
    
    Changed how the bounding box looks if it is locked (the draggable markers will be gone)
    
    Changed commenting to the fix in leaflet's default marker in WaypointMarker.
    
    Fixed layout choosing in App.tsx (not using any type anymore).
    Luis729 committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    70d8bd8 View commit details
    Browse the repository at this point in the history
  2. Added slider to drag as well as styling

    Other edits:
    
    Bumped version to 0.7 since we're finally implementing mission UI.
    
    Named the mission parameter files properly so that they look nice in the meantime.
    
    Exported all variables in common mission files (common/missions) so that the mission UI files can use them without importing default.
    
    Change starting theme to dark to reduce stress to my eyes whenever I make changes to code.
    Luis729 committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    d8b4300 View commit details
    Browse the repository at this point in the history
  3. Fixed eslint issue

    I keep forgetting to run `npm test` before pushing
    Luis729 committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    f94f97d View commit details
    Browse the repository at this point in the history
  4. Added "tip" to scroll

    Luis729 committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    574f619 View commit details
    Browse the repository at this point in the history
  5. Modified logic + styling

    Luis729 committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    08a3fcd View commit details
    Browse the repository at this point in the history
  6. Added pause/resume logic + cache information

    Cache information is to store the information when user puts information to the Mission UI but the user changes window afterwards. We do not want the information to be lost and make the user reinput the information. Not sure if having a cache will work, but if it doesnt, will remove.
    Luis729 committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    d28f0a5 View commit details
    Browse the repository at this point in the history
  7. Progress for the night

    Test will fail but I need sleep so I dont really care at this point lol
    Luis729 committed Apr 24, 2019
    Configuration menu
    Copy the full SHA
    7225b9a View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2019

  1. Finish Mission Window UI Logic

    Separated options and activeVehicleMapping from MissionInformation to make it easier to set up Mission Window UI.
    
    Added logic to set options.
    
    Added logic to set vehicle mapping. User can start mission whether or not vehicle mapping is done or not, but the Mission backend will throw an error and stop mission if vehicle mapping is not correct.
    
    And other stuff... Getting late so I need rest, will finish up tomorrow.
    Luis729 committed Apr 25, 2019
    Configuration menu
    Copy the full SHA
    3de9fcc View commit details
    Browse the repository at this point in the history
  2. Fixed logic for unknown disconnection

    Source of disconnection from fixtures came from the following:
    1. No ack from connectionAck message
    2. No ack from stop message
     - job fixture set vehicle status to (running/paused/waiting) while no mission running
    
    Added logic to Orchestrator to not send these messages if fixtures are enabled, as well as simply exit on the same conditions instead of logging in Orchestrator.disconnectFromVehicle.
    Luis729 committed Apr 25, 2019
    Configuration menu
    Copy the full SHA
    e9fb102 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2019

  1. Finished Mission UI

    Done. No joke this time.
    
    Only thing that needs to be done is to write line 246 of ISRSearch (pass the information, just build the ISRSearchInformation using the checklist.
    
    TODO: Maintain a cache on unload
    Luis729 committed Apr 26, 2019
    Configuration menu
    Copy the full SHA
    8e68a77 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2515fc8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    95540bc View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    45368d9 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2019

  1. Updated mission parameters for UUVRescue

    Task Parameters are also updated
    maquino123 committed Apr 27, 2019
    Configuration menu
    Copy the full SHA
    e45d816 View commit details
    Browse the repository at this point in the history
  2. Logic to Orchestrator/Mission + etc

    Big change to Orchestrator to provide an actual function callback, instead of passing the function, as passing the function will NOT update the instance variables of the Orchestrator. Big note for the future.
    
    Initialize Mission after constructing it from the Ochestrator, as its abstract values do not apply until the constructor is done. Before, the mission name would never be applied since the initialize would automatically be called from the Orchestrator.
    
    Simplified updateVehicle fixtures to only emit "ready" status to help test missions.
    
    Other fixes to Mission class and subclasses that were buggy. Will continue to fix these issues tonight
    Luis729 committed Apr 27, 2019
    Configuration menu
    Copy the full SHA
    2a3d958 View commit details
    Browse the repository at this point in the history
  3. Small changes to UI

    Removed all fields in UUV Rescue, as it requires none.
    
    Distinguished variables in ISR Search from Payload Drop.
    Luis729 committed Apr 27, 2019
    Configuration menu
    Copy the full SHA
    340e80d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2caef43 View commit details
    Browse the repository at this point in the history
  5. Update on VTOLSearch

    Bounding box on the map coresponds to VTOLSearch.tsx
    tnleang committed Apr 27, 2019
    Configuration menu
    Copy the full SHA
    6d8bb59 View commit details
    Browse the repository at this point in the history
  6. Final logic changes

    Ensured class functions are being called when called on event callbacks.
    
    Modified check on Mission before assigning jobs to vehicles. Was able to test that it works right until Task assignment, not sure after that.
    Luis729 committed Apr 27, 2019
    Configuration menu
    Copy the full SHA
    ab04e40 View commit details
    Browse the repository at this point in the history
  7. Version bump

    Luis729 committed Apr 27, 2019
    Configuration menu
    Copy the full SHA
    ec621da View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e627fc2 View commit details
    Browse the repository at this point in the history
  9. Added comments for state

    maquino123 committed Apr 27, 2019
    Configuration menu
    Copy the full SHA
    96d2a14 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    21de86f View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    051b756 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    73a8714 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2019

  1. Fixed logic in sending messages

    Modified to support that connectionAck messages should not be acknowledged.
    
    Fixes the first checkpoint in #68. Not tested, but most likely works.
    Luis729 committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    eef5d61 View commit details
    Browse the repository at this point in the history
  2. Added logic to support POI makers in VTOL Search mission

    Not tested. Fixes checkmark 2 of #68.
    
    Logic is to keep track of the detailed search task that is assigned, and see if a POI message is sent from the VTOL (that is doing the detailed search job). If so, that POI is valid. If a complete message is sent with no POI message in between, it means that the POI is invalid.
    Luis729 committed Apr 30, 2019
    Configuration menu
    Copy the full SHA
    524ee0e View commit details
    Browse the repository at this point in the history

Commits on May 1, 2019

  1. Configuration menu
    Copy the full SHA
    14c5e55 View commit details
    Browse the repository at this point in the history
  2. Changed isNaN to isInteger/isFinite

    Co-Authored-By: Maxence Weyrich <[email protected]>
    Luis729 and maxwey committed May 1, 2019
    Configuration menu
    Copy the full SHA
    d7989f6 View commit details
    Browse the repository at this point in the history
  3. Version bump

    Luis729 committed May 1, 2019
    Configuration menu
    Copy the full SHA
    1d44001 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2019

  1. missionWindow CSS

    adding the missionWindow CSS. Currently there is only css for dark theme. There is no switch theme implemented yet.
    tnleang committed May 2, 2019
    Configuration menu
    Copy the full SHA
    d3e35cd View commit details
    Browse the repository at this point in the history

Commits on May 3, 2019

  1. Small changes

    Was going to be bigger but I realized I was doing something I planned for next year instead. See #69
    
    Instead here are changes:
    1. Allow selecting text in log container (thanks @maxwey)
    2. Fixed bug of not all missions are processed properly in Orchestrator if more than one mission was selected. Orchestrator will automatically assign parameters of any missions after the first mission. The user will only need to put parameters for the first mission executed.
    3. Added support for UAV's two planes.
    Luis729 committed May 3, 2019
    Configuration menu
    Copy the full SHA
    7ced376 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    020276f View commit details
    Browse the repository at this point in the history
  3. Fixed Buttons

    maquino123 committed May 3, 2019
    Configuration menu
    Copy the full SHA
    d8903c4 View commit details
    Browse the repository at this point in the history
  4. Readded info

    readded info back to missionWindow.tsx
    tnleang committed May 3, 2019
    Configuration menu
    Copy the full SHA
    20bdcbb View commit details
    Browse the repository at this point in the history
  5. update css

    tnleang committed May 3, 2019
    Configuration menu
    Copy the full SHA
    34054c2 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2019

  1. Pre-test updates

    Decided will not fix #65 and #70 as those are actually more difficult to implement than expected.
    
    Will test this branch more to see basic functionality and then will merge to dev-2018 and then to master
    Luis729 committed May 4, 2019
    Configuration menu
    Copy the full SHA
    9593f74 View commit details
    Browse the repository at this point in the history
  2. No more FOSSA

    Luis729 committed May 4, 2019
    Configuration menu
    Copy the full SHA
    d0a49a0 View commit details
    Browse the repository at this point in the history
  3. Version bump

    Luis729 committed May 4, 2019
    Configuration menu
    Copy the full SHA
    0124fae View commit details
    Browse the repository at this point in the history
  4. Change in logic

    Luis729 committed May 4, 2019
    Configuration menu
    Copy the full SHA
    1770340 View commit details
    Browse the repository at this point in the history
  5. Small update logic

    Luis729 committed May 4, 2019
    Configuration menu
    Copy the full SHA
    6046d40 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2019

  1. Configuration menu
    Copy the full SHA
    ce048e1 View commit details
    Browse the repository at this point in the history