Skip to content
Snippets Groups Projects
Select Git revision
  • 3c72896e84f54dab6d604518a355b37ea318df21
  • master default protected
  • LUFA-170418
  • LUFA-151115
  • LUFA-140928
  • LUFA-140302
  • LUFA-130901
  • LUFA-130901-BETA
  • LUFA-130303
  • LUFA-120730
  • LUFA-120730-BETA
  • LUFA-120219
  • LUFA-120219-BETA
  • LUFA-111009
  • LUFA-111009-BETA
  • LUFA-110528
  • LUFA-110528-BETA
17 results

ProgrammingApps.txt

Blame
  • SerialComm.js NaN GiB
    /**
     * Created by aghassaei on 6/17/15.
     */
    
    define(['underscore', 'backbone', 'socketio'], function(_, Backbone, io){
    
        var SerialComm = Backbone.Model.extend({
    
            defaults: {
                connected: false,
                portConnected: false,
                availablePorts: [],
                portName: "Select Port",
                baudRate: 200,
                error: null,
                testMessage: "",
                lastMessageReceived: ""
            },
    
            initialize: function(){
                this.attemptToConnectToNode();
            },
    
            attemptToConnectToNode: function(){
                if (!this.get("connected")) {
                    this.socket = io.connect('http://localhost:8080', {'forceNew':true});
                    addEventHandlers(this.socket);
                }
            },
    
            connectionFailed: function(){
                this.set("connected", false);
                this.socket.disconnect();
                this.socket = null;
            },
    
            refreshPorts: function(){
                this.socket.emit('refreshPorts');
            },
    
            send: function(data){
                this.socket.emit("dataOut", data);
            },
    
            flushBuffer: function(){
                this.socket.emit("flush");
            },
    
            setProperty: function(property, value){//portName, baudRate
                if (property === null || property === undefined || value === null || value === undefined) return;
                this.socket.emit(property, value);//always pass user interaction on
                this.set(property, value);
            }
    
        });
    
        var serialComm = new SerialComm();
    
        function addEventHandlers(socket){
    
            socket.on('connected', function(data){
                serialComm.set("connected", true, {silent:true});
                _.each(_.keys(data), function(key){
                    if (data[key] !== null) serialComm.set(key, data[key], {silent:true});
                });
                serialComm.trigger("change");
            });
    
            socket.on('dataIn', function(data){
                serialComm.set("lastMessageReceived", data, {silent:true});
                serialComm.trigger("change:lastMessageReceived");
            });
    
            socket.on('portConnected', function(data){
                console.log("connected port " + data.portName + " at " + data.baudRate);
                serialComm.set("baudRate", data.baudRate);
                serialComm.set("portName", data.portName);
                serialComm.set("portConnected", true);
                serialComm.set("error", false);
            });
    
            socket.on('portDisconnected', function(data){
                console.log("disconnected port " + data.portName + " at " + data.baudRate);
                if (serialComm.get("baudRate") != data.baudRate) return;
                if (serialComm.get("portName") != data.portName) return;
                serialComm.set("portConnected", false);
            });
    
            socket.on("errorMsg", function(error){
                serialComm.set("error", error);
            });
    
            socket.on("error", function(error){
                console.warn(error);
            });
    
            socket.on("connect_error", function(){
                serialComm.connectionFailed();
            });
        }
    
    
    
    
    
        return serialComm;
    
    });