Giter Club home page Giter Club logo

lumikki's People

Contributors

epursiai avatar jhkoivis avatar jrosti avatar movaska avatar simo-tuomisto avatar

Watchers

 avatar

lumikki's Issues

implement javascript objects

Siis esimerkki JavaScript moduulipatternista.

lumikki.image = {

    data: {
        imageAnimationDuration: 300,
        imageSize: {width:0, height:0} // natural image size
    },

    dom: {
        image: null
    },

    init: function () {
       dom.image = $('#imageId');
   }

}

ja sitten document readyssa kutsut lumikki.image.init(). Näin syntyy 
laajennettavampaa javascriptiä.

Tabeihin sopii paremmin lähtestymitapa, jossa jokainen alasivu on 
testattavissa omana html:nään. Tabimalli, jota lumikki käyttää luo ison 
html-dokumentin. Sen voi splitata erillisiin html-tiedostoihin käyttämällä 
jquery-ui-komponentteja. Näin ei ehkä tarvitsisi tehdä uutta 
index.html:ää, kun tehdään jotain muuta. 


    <link type="text/css" href="css/ui-lightness/jquery-ui-1.8.16.custom.css" rel="stylesheet" />
    <link rel="stylesheet" type="text/css" href="css/lumikki.css">
</head>
<body>

<div>
    <div id="banner">
    </div>
    <div id="tabs">
        <ul>
            <li><a href="tensile.html">Tensile</a></li>

Original issue reported on code.google.com by [email protected] on 29 Mar 2012 at 2:42

stopRecording for IR

A command for IR camera, with json data {"stopRecording":0}. This should be 
connected to stop-button.

Original issue reported on code.google.com by st.tuomisto on 24 Mar 2011 at 2:18

feature request: parent folder text box

- GUI and LV: camera and TTM tabs should have a parameter
"parentFolder" which is the parent folder of the expID folder

Trickky in labview: '\' is a very special character.

Original issue reported on code.google.com by [email protected] on 21 Feb 2011 at 2:34

change ir.py connect and start data manipulation to device side

in ir.py move below functionality to device side:

def connectAndSendSettings():
    c = conf()
    # TODO: path parsing belongs to device side, remove filename and add timestamp to data -dictionary 
    path = c.get('ir_parentfolder') + '\\' + c.get('g_measurementid') + '-' + c.get('g_timestamp') 
    data ={
           "expId":c.get('g_measurementid'),
           "filename":c.get('g_measurementid') + '-',
           "path":path,
           "framerate":float(c.get('ir_framerate')),
           "recordTime":float(c.get('ir_recordtime')),
           "storeCondition":int(c.get('ir_storecondition')),
           "stopCondition":int(c.get('ir_stopcondition')),
           "startCondition":int(c.get('ir_startcondition')),
           "startValue":int(c.get('ir_startvalue')),
           "storeValue":int(c.get('ir_storevalue')),
           "recordFormat":int(c.get('ir_recordformat')),
           }

Original issue reported on code.google.com by [email protected] on 20 Apr 2011 at 1:58

feature request: VB.NET based webserver

Write a webserver based on VB.NET. Input is http-post JSON, output is JSON.

basic http-get server:
http://www.java2s.com/Tutorial/VB/0400__Socket-Network/TcpListenerbasedWebserver
.htm

JSON:
http://msdn.microsoft.com/en-us/library/bb299886.aspx


Original issue reported on code.google.com by [email protected] on 24 Feb 2011 at 10:02

change stop behavior


When stop is pressed, ttm starts using position control
When stop is pressed go to stop position

- make variable ttm_stopPosition (units are mm, default 0 mm)

Original issue reported on code.google.com by [email protected] on 25 May 2011 at 11:26

  • Merged into: #32

feature request: automatically unique expID's

- GUI or LV: camera expID should be made unique (expID-YYYYMMDDHHMM-)
automatically

Also unified notation:

'-' between keys and key-value pairs
'_' between key and value

key-key-key_value-key_value-key-key-key_value.tiff

Find out the most usable notation '-' is mixed with minus sign. ',' cannot be 
used. '.' is mixed with decimals. Special characters ($∞§£) are not 
allowed...

Original issue reported on code.google.com by [email protected] on 21 Feb 2011 at 2:40

No responce means no error in ttm

What steps will reproduce the problem?
1. Shut down labview server
2. Use force status in lumikki-main
3. status shows "210 ready to measure" (it should show no connection or similar 
error)



Original issue reported on code.google.com by [email protected] on 7 Apr 2011 at 12:12

feature request: move to setpoint box

GUI: TTM-tab needs a (decorative)box with setpoint and setpointTime
text fields and a button "move to setpoint". This should be bound to
csm_lumikki_instron_moveToSetpoint

Original issue reported on code.google.com by [email protected] on 21 Feb 2011 at 2:23

expID max length is 10

Due to hardware restrictions maximum expID length is 10. Apply this to 
index.html. Either force max length is 10 in text box or check and notify the 
user before applying/executing.

Experiment must not start if the expID is longer than 10 characters.

Add "max 10 chars" to expID label.



Original issue reported on code.google.com by [email protected] on 1 Apr 2011 at 2:28

Create mock-device


Create mock-device-server and mockConf(). After this is done you should be able 
to do:

mockServer.run()
config = mockConf()

import cam
try:
  ret = cam.ConnectAndSendStart()
  if not ret == correctRet: raise ValueError() 



Requirements:

- written in python
- listen to local ports
- 127.0.0.1:40001 = cam
- 127.0.0.1:40002 = ttm
- 127.0.0.1:40003 = ir
- 127.0.0.1:40004 = ae

- expect JSON http-post as input
- write JSON http-post as output

- ready before 1.6.2011
- read responses from a dict = {'inputCommand1': {'inputValue1':responce1, 
'inputValue2':responce2'}, 'inputCommand2': {...}, ...}

- if response exists in dict: print header + dict[corresponding responce]
- else: print header + dict['inputCommand1']['inputValue1']




Original issue reported on code.google.com by [email protected] on 1 Apr 2011 at 1:58

Consistent labels & format for CAM parameters in Lumikki UI

The CAM tab in the Lumikki UI has fields for values of FPS and exposure. At the 
moment, one has to enter them times 1000 (that is, FPS of 10 frames/s would be 
10000, exposure of 90ms would be 90000). The parameters should be filled as the 
actual FPS (ie. 10 [frames/s]) and exposure in milliseconds (ie. 90 [ms]) and 
the script talking with the CAM machine should convert the values to the 
1000*-format that is sent to the CAM machine.

Original issue reported on code.google.com by [email protected] on 23 Feb 2011 at 5:09

fix status signals


This is the next integration step to do. All devices should response to status 
query. Three possibilies exist: 200 (ready), 503 (not-ready), 220 (measuring).

Messages to be sent/posted:
IR: html-post json {'status':'0'}
TTM: <prefix>_status
CAM: message = "status?"

responce:
{'status': 'X', 'statusText': 'Y'}

Status signals are as follows (this has to be defined once, globally):

statusResponses = { "000":"Cannot connect to anything"
       , "010":"Server sent unknown status"
       , "020":"Server response did not contain status"
       , "100":"Disabled from server."
       , "110":"Target machine did not respond"
       , "120":"Server received malformed command."
       , 403:"122"
       , 0:"210"    #"Ready to measure"
       , 1:"200"    #"Target available, values not set"
       , 200:"210"  #"Ready to measure"
       , "220":"Measuring"
       , "230":"System is busy, please try again in a while."
}

Every device should return at least:
ready                             -> status: 200
not ready (service unavailable)   -> status: 503
measurement running               -> status: 220





Original issue reported on code.google.com by [email protected] on 17 Mar 2011 at 5:43

feature request: add TTM creep experiment

Change the outlook of GUI (and add features).

- add radiobuttons (or ticks boxes) that select either stress or strain 
controlled test
- the above selection disables and grayes the other selection
- the selection is also stored to cached parameters and used when 
main->start/stop is pressed
- add switch-case structure to TTM.py and dummy bindings (if TTM.py does not 
exist, create one and move TTM messaging there)

3 boxes:
1. General box
   - "General" title
   - ip textbox
   - port textbox
   - Setpoint textbox (default 1)
   - Setpoint time textbox (default 1)
   - move to setpoint button

2. Strain controlled test
   - Constant strain rate title
   - Active tick box (default ticked)
   - ramp rate textbox
   - ramp amplitude textbox

3. Stress controlled test
   - Constant stress title
   - Active tick box (default unticked)
   - Force textbox (default 10N)









Original issue reported on code.google.com by [email protected] on 28 Feb 2011 at 3:40

Create second degree interpolation server with memory


Write function(s)/class in c that:
- can be compiled in linux and windows (i.e. no exotic includes)
- recommended solution is function library with basic C and machine depended 
wrapper class(es)

exposed functions:
- int putData(double *timeArray, double *heightArray, int length)
- void getInterpolant(double time0, double timeStep, double *output, int 
outputLength)
- int setLimits(double heightMax, double heightMin, double speedMax)

putData:
- stores timeVector and heightVector
- returns SUCCESS if existing times are all smaller than input times and height 
is in correct limits 

getInterpolant:
- returns heightVector in points time0 + i*timeStep, i = 0 ... outputLength
- must return interpoland in all cases
- must obey limits

See samplePlaybackDll as example





Original issue reported on code.google.com by [email protected] on 27 Apr 2011 at 12:45

unify naming system


camera is called cam (cam.py, cam.doSomething(), jne). Same for ttm, ir, ae.

status is gotten with connectAndGetStatus(), same for start, stop etc. 


Original issue reported on code.google.com by [email protected] on 31 Mar 2011 at 4:46

Commands for getImageSeries loop

{"framerate":30.0} (possible values 30.0, 15.0, 9.0, 7.5, 3.75)
{"recordTime":5.0} (number of seconds to record)
{"filename":"name"} (base filename, MAX 10 characters)
{"getImageSeries":0} actual command to start taking images




Original issue reported on code.google.com by [email protected] on 24 Mar 2011 at 10:16

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.