Git Product home page Git Product logo

orpheus's Introduction

Orpheus

Code base for the 2017-19 build season.

Git Procedure

Make a new feature branch off of the main development branch. Implement a feature in the branch and then generate a pull request to the master branch which will be reviewed by another software team member before being approved. You are not allowed to push your code directly to the master branch.

orpheus's People

Contributors

baldstrom avatar brianlunder avatar caib avatar evanh98 avatar husky-robotics avatar kaiweic avatar kwongab avatar kwongba avatar obbay2 avatar pensono avatar save-buffer avatar sebcastellanos avatar simonchow avatar suicidebunny8 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

orpheus's Issues

Make single visual studio solution at base of git repository?

I'm new to Visual Studio and C#, but it seems to me like we only need a single .sln file for the entire repository, since solutions are supposed to be containers for projects, and projects are supposed to be independent executables. Each of the subsections can have a C# project possibly containing other C# projects, but it seems unnecessary to have an sln for every subsection. Thoughts?

Lack of documentation for BaseStation projects

Add documentation to BaseStation projects. If you worked on or created one of the BaseStation subprojects, add a readme.md file to its directory or add a section for it in the BaseStation README.md.

PUTTY Connector

Enhance to connect to device based on selection from drop down menu.

Remove duplicate app.config files

There are multiple App.config files in EntryPoint and UserInterface and possibly other folders. The lowercase ones need to be deleted. Perhaps they can both be deleted?

Settings Duplication

Random garbage empty tags are put into the settings.xml file when the UI is closed.

'SendPackets' fails when 'Endpoint' is null

Can be reproduced by the following program.

Client side:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Scarlet.Communications;
using Scarlet.Utilities;

namespace ConsoleAppClient
{
    class Program
    {
        static void Main(string[] args)
        {
            Client.Start("127.0.0.1", 2000, 2001, "MyClient");
            System.Threading.Thread.Sleep(3000);
            for (int i = 0; i < 20; i++)
            {
                Packet MyPack = new Packet(new Message(0xc3, UtilData.ToBytes("Hello, World!")), false);
                Client.Send(MyPack);
                //System.Threading.Thread.Sleep(500);
            }
        }
    }
}

Server side:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Scarlet.Communications;
using Scarlet.Utilities;

class Program
{
    static void Main(string[] args)
    {
        Server.Start(2000, 2001);
        Parse.SetParseHandler(0xc3, ReceiveMessage);
    }

    static void ReceiveMessage(Message message)
    {
        Console.WriteLine("Got message");
        Console.WriteLine(UtilData.ToString(message.Payload));
    }
}

Stack trace:

Unhandled Exception: System.ArgumentNullException: Value cannot be null.
Parameter name: str
at System.String.Copy(String str)
at Scarlet.Communications.Packet.Clone()
at Scarlet.Communications.Client.SendPackets()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Problem:

Communications.Packet.Clone fails to copy Endpoint when it is null.

Possible solution:

Change Clone.Endpoint = string.Copy(this.Endpoint); to Clone.Endpoint = this.Endpoint? string.Copy(this.Endpoint) : null;

Arm Solution Compilation

Either consolidate this solution for the visualizer into the BaseStation solution, or automate the build with pre-build commands in the BaseStation project.

Map Dragging

Weird snapping when you move your mouse around and select a different place, more visible when you move your mouse diagonally.

Drive Motor Disable Toggle

Could we please implement a toggle button in the main GUI that simply disables the drive motors while it is enabled? I'd appreciate having it there to try and prevent any accidents from happening while the science station is drilling into the ground, because if someone hits a controller accidentally during that, we're going to have a really bad time.

Networking Event Loop Delay

BaseStation Project > StartBaseStation.cs
Update loop requires > 100 ms thread sleep otherwise UI locks up and must be force killed.

Video Streaming Improvements

Support for MJPEG encoding (UI and server), fallback in UI for command line Gstreamer. Notifications for why UI failed to connect.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.