Giter Club home page Giter Club logo

artemis-server's Introduction

Signal K

signal-k-logo-tagline

Signal K is a modern and open data format for marine use. Built on standard web technologies including JSON, WebSockets and HTTP, Signal K provides a method for sharing information in a way that is friendly to WiFi, cellphones, tablets and the Internet. A format available to everyone, where anyone can contribute, Signal K is the first truly open data format for the marine industry and is set to revolutionize how we consume and interact with data on boats.

https://signalk.org

artemis-server's People

Contributors

gdavydov avatar rob42 avatar tkurki avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

artemis-server's Issues

NashornPoolFactory throws javax.script.ScriptException on Windows

When running the server on Windows the following exception is thrown:
NashornPoolFactory - javax.script.ScriptException: :41841:26 empty range in char class
'ru-RU': /^[Ð?-ЯÐ?]+$/i,
^ in at line number 41841 at column number 26

This is due to the following (line 55 of NashornPoolFactory ):
engine.eval(IOUtils.toString(getIOStream("signalk-parser-nmea0183/dist/bundle.js")));
I think you should use the toString(InputStream input, Charset encoding) call specifing UTF-8 encoding to avoid the error (the default encoding is WIN-1252 on Windows)

Handling null entries

Placeholder to remind to attend to null writes and consequent reads.

When we have full history we cant just drop the key from a map or such, as we will then get the last valid value, which will be wrong. So we must write a null entry, which we do.

Assume we have set a notification eg
notifications.environment.depth.belowKeel.values.nmea1.II.value.state=alarm

When we have a null object value (alarm ended) being set the influxdbService writes the value as null, eg notifications.environment.depth.belowKeel.values.nmea1.II.value=null,

however this leaves the objects attributes set, eg notifications.environment.depth.belowKeel.values.nmea1.II.value.state=alarm as this is a separate influx key.

Alternatively if we set the notification with null attributes we get the attributes as null (good) but the notification will still be an object of null attributes. (bad)

Need a good way to have both value nullify attributes without a lot of overhead as its not a common case.

Schema Integration

Hey guys,

we are developing something pretty new for the marine sector. And we want to rely on signal k.

I just had a look to your source code. I like the way you did it.

But I couldn't find a full schema integrating. Are you doing it by hand, or ist there a automatic way to read it from the json files of the specification repository?
Do you have a roadmap?

Best,
Martin

SerialPortReader NPE on Windows

When runnig the server on Windows the following NPE is thrown:
java.lang.NullPointerException: null at nz.co.fortytwo.signalk.artemis.serial.SerialPortReader.isRunning(SerialPortReader.java:277) ~[classes/:?] at nz.co.fortytwo.signalk.artemis.serial.SerialPortManager.run(SerialPortManager.java:66) [classes/:?]
It is caused by the following:
if (!SystemUtils.IS_OS_WINDOWS) { this.portFile = new File(portName); }
in line 85.

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.