cbt24
69cd44bda8
Reads data from boat XML file
...
- Creates marks for building CompoundMarks (formerly Markers)
- Rearranged Boat constructor and removed velocity
#story[782]
9 years ago
Erika Savell
16d3fe2ef2
Added marker boats with correct gps positions into boats xml read by mock
...
#story[881]
9 years ago
hba56
5b010cad49
added the polar class for storing polars
...
#story[900]
9 years ago
Erika Savell
83d6cdbd59
Edited race xml read by mock
...
- It now includes source ids
- Legs are in the correct sequence order for the example race
#story[881]
9 years ago
cbt24
6e9386f4fb
Switched mock to send out official xmls.
...
- Not reading official xmls yet
#story[881], #pair[cbt24, esa46]
9 years ago
Erika Savell
1b6693a19b
Added xml files for mock to read in
...
- In process of switching to reading official xml format instead of our own
#story[881]
9 years ago
hba56
187acc6960
added an empty polarparser class to push a new branch
...
#story[900]
9 years ago
fjc40
b247244665
Did some large tidy ups, refactoring, and documenting.
...
Network:
Moved the Network message classes from the Utils package to the Messages package.
Renamed BoatLocationMessage to BoatLocation and BoatStatusMessage to BoatStatus to be consistent with other message classes.
Renamed the BoatStatus enumeration to BoatStatusEnum as it conflicted with BoatStatus (the message).
Moved the BoatStatusEnum and MessageType enumerations from the Utils package to the Messages/Enums package.
Changed the BoatStatusEnum and MessageType enumerations to use map look ups in the enum.fromByte(b) method - this means that there's less copy and pasted values, and the fromByte function doesn't need to be modified if new enumerations are added.
Added a sequenceNumber member to the Heartbeat class.
Added an InvalidMessageException in the package Networking/Exceptions. This is thrown when a message is read, but it is invalid in some way.
Refactored/tidied up the Networking/BinaryMessageEncoder and Decoder classes. The decoder throws InvalidMessageExceptions instead of returning null.
Visualiser:
VisualiserInput now wraps a DataInputStream around the socket. This provides the stream.readFully(buffer) function, which is a blocking read, removing the need for busy wait loops. Replaced the getBytes() function with getNextMessage() and getNextMessageBytes(). These read the next message from the socket, and return it as a message object and a byte array, respectively.
Changed the current heartbeat timeout to 10 seconds. Added some work-in-progress code to attempt to reconnect when connection is lost. It currently doesn't work. I think Fan-Wu was doing a proper implementation, however.
VisualiserInput also has a queue of received events. Currently not really used, but could be useful in the future. Events get added as they are read.
Changed VisualiserInputs main loop to use instanceOf instead of switch+case. Feedback wanted - are there any downsides to using this instanceOf method?
#story[778,782]
9 years ago
fjc40
466e22437b
Visualiser. The nullptr issues relating to the XML data files appears to be fixed. Essentially, the StartController.startRaceNoScaling() function was being called as soon possible, before it was even ready - setRaceClock either hadn't been called or hadn't finished executing yet, so the StartController.raceClock member was null, causing crashes.
...
Also changed the while(visualiserInput.getRaceStatus() == null) loops to an if-then-return early block. They caused the program to freeze if the race data source wasn't sending any race status messages (currently, our mock doesn't send any once the race has finished).
#story[782]
9 years ago
fjc40
83ce9b99d2
Mockoutput's main loop now pops messages off the message queue, rather than iterating over it like an array, and clearing it (this could have threading issues where the iteration starts (with e.g., 5 messages), as it is sending the messages another one is added, and then it ends up clearing the sent messages, and the unsent message.
...
Made a few quick fixes (to be tidied a bit later) to Mock.Race class. It now has this.startTime, instead of the AnimationTimers having their own starTime value. RaceStatus messages are now sent properly (still need a refactor though), so they actually send the race star time - this means that the visualizer using the mock data source displays the correct time instead of (midnight, jan 1, 1970).
Removed one of the constructors from RaceStatus - it allowed for constructing and sending essentially invalid RaceStatus messages, and simply wasn't needed.
Added a temporary title ("RaceVision - Team 7") to the visualiser - may be worth changing when we decide on a team name.
Fixed a bug with the order of operations in visualiser.StartController.countdownTimer(). Calling begin race before hiding panes caused them to never be hidden.
Mock.Event. Changed the scaleFactor to 5x for the time being - to easier testing of things like pre-race timers, countdowns, etc...
#story[778,782]
9 years ago
fjc40
01224c509a
Added some comments to MockOutput. Also removed instance of RaceVisionByteEncoder, as it has no state, and the functions used are all static.
9 years ago
fjc40
3481a882de
Fixed Team Oracle's boat name in mock data file.
...
#story[778]
9 years ago
David Wu
61afe8d608
Created finish view to see when a race finishes.
...
-Implemented FinishController
-Fixed mock not sending Finish race status.
#Story[782]
9 years ago
David Wu
a95a0c2543
Added documentation for multiple classes.
...
#Story[782]
9 years ago
Erika Savell
62db7f333c
Frantically cherry-picking commit by commit
...
#story[778]
9 years ago
Erika Savell
8ed0ca5b4f
Quick way of adding extra leg to mock data
...
- To be redundant when the mock feed pulls from a proper xml instead of having two parsers
#story[778]
9 years ago
hba56
6888d0bddc
fixed all java doc errors
...
#story[782]
9 years ago
David Wu
545ef7aa7f
Fix lobby not entering race when race status is "started".
...
-Race was previously stuck in lobby screen when race status was not 2.
#Story[782]
9 years ago
Erika Savell
5ebd4251e2
Merge branch 'splitIntoTwoModules' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into splitIntoTwoModules
9 years ago
Erika Savell
c3ee3ec9e2
Added new lines to the other two xml creators
...
#story[778]
9 years ago
David Wu
bf12f77796
Set it so the lobby view switches to race view depending on the race status passed in by the mock.
...
-Removed start button in lobby as it should be automatic.
-TODO: Synchronize the times across the whole race as they do not matching.
#Story[782]
9 years ago
David Wu
b60b4b257f
Remove start button from StartController.
...
#story[778]
9 years ago
Erika Savell
311cd99457
Added newlines to xml created by mock
...
#story[778]
9 years ago
Erika Savell
eb58581e83
Fixed velocity issues with mock data
...
-Was accidentally sending scaled velocity
#story[778]
9 years ago
Erika Savell
b9901a252a
Moved speed conversion to BoatMessage class
...
#story[778]
9 years ago
Erika Savell
7c59632c41
Fixes to get race running
...
- Had an incorrect if else statement that was preventing race from running
#story[778]
9 years ago
Erika Savell
d2e08fa8e1
Added boat velocity to information provided by mock
...
#story[778]
9 years ago
Erika Savell
08f203a0f8
Added race statuses for before the race has started. 3 min -> 1 min is warning, 1 min -> 0 min is preparatory.
...
-Boat locations (spread across start line) are also broad casted
#story[778]
9 years ago
Erika Savell
049f0f7331
Changed main loop so boats are looped through with a different starting boat
...
-This was necessary because one boat (the last one to be processed) would lag and jump, as sometimes there was not enough time for all location messages to be sent before the next lot were added.
- The solution was to add a boatOffset, which means while the boats are still processed with3 coming after 2 coming after 1 etc, the loop starts with boat 0, then the next run through it wiull start with boat 1 and so on.
-This eliminated the lag (or at least spread it evenly across all the boats)
#story[778]
9 years ago
Erika Savell
42ad1f78fc
Added heading to boatlocation messages
...
#story[778]
9 years ago
Erika Savell
f2e0eec212
Fixed date time parsing problem
...
#story[778]
9 years ago
Erika Savell
7d1f4209e4
Got mock data being used by visualiser.
...
- Issue with zonedTimeDate not parsing
- Fixed race crashing once one boat finished
#story[778]
9 years ago
Erika Savell
63ee51d938
Fixed compoundMarkID typo that was causing a parse int exception
...
- All that was needed was capitalizing the D in ID in the parser
#story[782]
9 years ago
Erika Savell
060db182a8
Minor tweaks to get streaming from mock working
...
- Key point there being boats, raceand regatta xml files are being read from mock
#story[778]
9 years ago
Erika Savell
185c65e54d
Editing MockOutput to send actual generated boat/race/regatta xmls
...
- Was previously sending from a static source file
#story[778]
9 years ago
hba56
8bbea28cab
refactored the boat message to not use boats
...
#story[778]
9 years ago
Joseph Gardner
9eefbbd7fa
Merge remote-tracking branch 'origin/splitIntoTwoModules' into splitIntoTwoModules
9 years ago
Joseph Gardner
8117e11ff2
Merge branch 'NetworkedVisualiser' into splitIntoTwoModules
...
# Conflicts:
# visualiser/src/main/java/seng302/VisualiserInput.java
9 years ago
David Wu
4811b7f4ea
Merge remote-tracking branch 'origin/splitIntoTwoModules' into splitIntoTwoModules
...
# Conflicts:
# mock/src/test/java/seng302/Model/RaceTest.java
9 years ago
David Wu
0bfc9a5a39
Added test for race dnf in Race class.
...
-Unable to test animation timer.
#story[778]
9 years ago
Erika Savell
9acd519d7b
Removed the rest of the shared model classes needed by mock
...
#story[778]
9 years ago
cbt24
ccbe467090
Synchronised GUI with VisualiserInput thread.
...
- Made StreamedCourse extend Observable
- Initialised StartController after data pulled from network
- Moved VisualiserInput to visualiser module
- Deleted Networking subpackage from visualiser module
#story[782]
9 years ago
Erika Savell
3f748bfdb6
Removed BoatInRace from shared model, refactored
...
#story[778]
9 years ago
Erika Savell
7e569b59b7
Commenting out tests just to get CI working, will investigate on different branch
...
#story[778]
9 years ago
Erika Savell
2320675b7e
Fixing build
...
#story[778]
9 years ago
Erika Savell
0126d29524
Fixing some of the SharedModel/seng302 import conflicts
...
-Am really not liking the SharedModel structure, think reverting back to original structure is worth discussing
story[778]
9 years ago
Erika Savell
067beed1e3
Attempted to write test for calls to MockOutput
...
-Struggling because we use animation timers to run the race, and these don't seem to work from a JUnit context
#story[778]
9 years ago
Erika Savell
bbd282bd9b
Set race to send out status messages (including boat location details)
...
- Untested, so not sure of accuracy yet
#story[778]
9 years ago
Erika Savell
e2f3abffc6
WIP adding race status messages
...
#story[778]
9 years ago
Erika Savell
9c24b0840e
Changed MockInput to thread
...
#story[778}
9 years ago
Erika Savell
b1bbef814b
Switching to use networking modules
...
#story[778]
9 years ago
fjc40
d29c0a9439
Mock now serializes and sends Boat.xml, Race.xml, Regatta.xml, Heartbeat, BoatLocation messages.
...
#story[778]
9 years ago
fjc40
90f8bec415
Moved several classes from seng302.model to its own module - sharedModel (this is supposed to contain any shared data model code between mock and visualiser). Specifically, Regatta, Boat, BoatInRace, Constants, GPSCoordinate, Leg, Marker.
...
Updated RaceVisionByteEncoder.raceStatus to accept a Racestatus object rather than a bunch of parameters.
Added getters to RaceStatus class.
Updated some tests.
Removed Network tests from Mock, as they were duplicated.
9 years ago
Erika Savell
1e3b816ff5
Added tests for BoatData and RaceData
...
#story[778]
9 years ago
Erika Savell
83dfe1a60c
Renamed some directories, optimized imports, general code clean up
...
#story[778]
9 years ago
Erika Savell
073102d1a3
Merge branch 'splitIntoTwoModules' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
Erika Savell
e30aa02aac
Commented and javadoc-ed RegattaData and BoatData
...
#story[9]
9 years ago
Erika Savell
19224ba840
Refactored RegattaData
...
#story[778]
9 years ago
Erika Savell
ba5c965fd6
Refactored BoatData
...
#story[778]
9 years ago
Erika Savell
302f2c6869
Javadoc and commented RaceData class
...
#story[778]
9 years ago
Erika Savell
3542827c29
Refactored RaceData class
...
#story[778]
9 years ago
Erika Savell
03f63b2c61
Added boat data xml tests
...
#story[778]
9 years ago
Joseph Gardner
26380f2677
Merge branch 'story30_XMLs' into splitIntoTwoModules
9 years ago
Erika Savell
d05d7271fc
Removed output stream, started refactoring BoatDataClass
...
#story[778]
9 years ago
Erika Savell
6a35c40f77
Commented out test causing CI issues
...
#story[778]
9 years ago
Erika Savell
a9f98b48b2
Merge branch 'splitIntoTwoModules' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
Erika Savell
744caf0d29
Merge branch 'isolatingMock' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
hba56
e9578fc63b
refactored networking code from networkingTest
...
#story[778, 782]
9 years ago
David Wu
d14446a12e
Added extra constructor in Race.
...
-Constructor is used for junit testing for Race class.
#story[778]
9 years ago
Erika Savell
896589d1a5
Merge branch 'isolatingMock' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
Erika Savell
0719720585
Moved boat xml creation from Event class to BoatData class
...
#story[778]
9 years ago
David Wu
c2183a68a0
Merge branch 'isolatingMock' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
David Wu
0fd4de7ec7
Fixed previously broken tests due to refactoring app.
...
-ConstantVelocityRace doesn't exist anymore so tests had to be change to compensate for this.
-Boat in race had to be change due to the addition of the sourceID for each boat.
#story[778]
9 years ago
hba56
67b73ec1db
Merge remote-tracking branch 'origin/splitIntoTwoModules' into splitIntoTwoModules
9 years ago
Erika Savell
721fb5f28a
Removed regatta xml creation from Event class into RegattaData class
...
#story[778]
9 years ago
hba56
4b5ebbd9e4
refactored networking code from networkingTest branch
...
#story[778, 782]
9 years ago
Erika Savell
7f2d8107b8
Merge branch 'splitIntoTwoModules' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into splitIntoTwoModules
9 years ago
David Wu
d995d5df45
Fixed RegattaDataSource missing.
...
-RegattaDataSource failed to push from before. It is now created and working.
#story[778]
9 years ago
fjc40
2876eec1e4
Added some exception classes to encapsulate the internal exceptions that can occur when sending Boat/race/regatta data.
...
#story[778]
9 years ago
fjc40
bf5ea193af
Mock App now passes an OutputStream into the "Event" class. This is where data is written to (i.e., writing data over tcp socket).
...
Updated Event and Race class to write to this stream, and added some TODO notes which point out where we need to properly serialize messages, when merged with networking code.
9 years ago
fjc40
091ee4735b
Race.simulateRace() function now generates a BoatLocationMessage after updating the position of each boat. Currently we just print the message to stdout.
...
Added functions to convert knots (as a double) to mm/sec (as an int) to BoatLocationMessage class.
Added toString function to BoatLocationMessage class.
Added a sequence number member to the BoatInRace class.
Added Knots to meters per second conversion factor to Contants class.
#story[788]
9 years ago
zwu18
c5df90d276
Created RegattaDataSource and regattaTest.xml.
...
-Event regattaData will now get data from the XML instead of having static data.
#story[778]
9 years ago
Erika Savell
5304f7df7d
removed problematic import
...
#story[778]
9 years ago
Erika Savell
3ff2a07680
Temporarily ignored some tests in mock
...
#story[778]
9 years ago
Erika Savell
a7913a16f9
Merge branch 'isolatingMock' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
Erika Savell
9764f448eb
Added participants field to xml generator
...
#story[778]
9 years ago
Erika Savell
c365d5a344
Merge branch 'isolatingMock' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
David Wu
1d9b098f2b
Create XML Object for regatta data.
...
-Regatta data XML is generated in class Event.
-Regatta data is static as there isn't any information regarding it.
#story[778]
9 years ago
Erika Savell
fdba50f9d2
Added course limit, course and marker seq field to xml fiule of race info
...
#story[778]
9 years ago
David Wu
5397d14d3c
Added sourceID to boats in race.
...
-All boats in race will now have a sourceID.
-SourceID will be used in XML object for boat.
#story[778]
9 years ago
Erika Savell
737755def6
Merge branch 'isolatingMock' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
Erika Savell
94ba18cf0c
Began xml creator for race info message
...
#story[778]
9 years ago
David Wu
ec716058c6
Merge branch 'isolatingMock' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
David Wu
687ffb41e6
Create XML object of boat data.
...
-XML object currently displaying out in terminal.
-Reads in data from RaceDataSource.
-TODO: Add sourceID to boats.
#story[778]
9 years ago
fjc40
149c312080
Merge branch 'isolatingMock' of eng-git.canterbury.ac.nz:seng302-2017/team-7 into isolatingMock
9 years ago
fjc40
9e1b3365bf
Added helper functions to BoatLocationMessage which convert between the datatypes used by the message and datatypes used by our model. (Converts boat heading, wind angle, gps coordinate).
...
#story[778]
9 years ago
David Wu
be59bb853c
Merge branch 'isolatingMock' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
David Wu
265bece9ed
Added a heartbeat value to the race.
...
-Heartbeat will display and update every 5 seconds.
#story[778]
9 years ago
Erika Savell
33e3b3713c
Merge branch 'isolatingMock' of https://eng-git.canterbury.ac.nz/seng302-2017/team-7 into isolatingMock
9 years ago
Erika Savell
97c5c9662b
Wrapped race in an event which sends out starting xml files
...
#story[778]
9 years ago
fjc40
ef53dee7fe
Changed device type constants to bytes.
...
#fix #story[778]
9 years ago
fjc40
421663c145
Added device type enumerations as static ints for BoatLocationMessage.
...
#story[778]
9 years ago
fjc40
1a085e881d
Merge branch 'isolatingMock' of eng-git.canterbury.ac.nz:seng302-2017/team-7 into isolatingMock
9 years ago
fjc40
8da67d1dbc
Added class to encapsulate a BoatLocationMessage.
...
#story[778]
9 years ago
Joseph Gardner
a85bf292d5
new branch for xml readers for the visuliser
9 years ago
Erika Savell
231a1824d1
Condensed Race and ConstantVelocityRace into one class
...
#story[778]
9 years ago
Erika Savell
34c0aec0b9
Mock race runs without an fx component
...
#story[778]
9 years ago
Erika Savell
3326da4f5d
Started removing fx component from mock module.
...
- Stuck on animation timer not running
#story[778]
9 years ago
Erika Savell
a584400e24
Actually added sub modules this time
...
#story[778]
9 years ago