|
From: <ma...@us...> - 2011-03-05 14:45:04
|
Revision: 313
http://openautomation.svn.sourceforge.net/openautomation/?rev=313&view=rev
Author: mayerch
Date: 2011-03-05 14:44:58 +0000 (Sat, 05 Mar 2011)
Log Message:
-----------
New Feature: automatically set the range of a slider to the possible range of it's addresses datatype.
This will e.g. set the slider range for a integer value to 0..255 instead of the default 0..100.
Modified Paths:
--------------
CometVisu/trunk/visu/designs/structure_pure.js
CometVisu/trunk/visu/transforms/transform_knx.js
Modified: CometVisu/trunk/visu/designs/structure_pure.js
===================================================================
--- CometVisu/trunk/visu/designs/structure_pure.js 2011-03-05 11:52:31 UTC (rev 312)
+++ CometVisu/trunk/visu/designs/structure_pure.js 2011-03-05 14:44:58 UTC (rev 313)
@@ -172,16 +172,25 @@
var labelElement = $p.find('label')[0];
var label = labelElement ? '<div class="label">' + labelElement.textContent + '</div>' : '';
var address = {};
+ var datatype_min = undefined;
+ var datatype_max = undefined;
$p.find('address').each( function(){
var src = this.textContent;
var transform = this.getAttribute('transform');
var readonly = this.getAttribute('readonly');
ga_list.push( src )
address[ '_' + src ] = [ transform, readonly=='true' ];
+ if( Transform[ transform ] && Transform[ transform ].range )
+ {
+ if( !( datatype_min > Transform[ transform ].range.min ) )
+ datatype_min = Transform[ transform ].range.min;
+ if( !( datatype_max < Transform[ transform ].range.max ) )
+ datatype_max = Transform[ transform ].range.max;
+ }
});
var actor = $('<div class="actor">');
- var min = parseFloat( $p.attr('min') || 0 );
- var max = parseFloat( $p.attr('max') || 100 );
+ var min = parseFloat( $p.attr('min') || datatype_min || 0 );
+ var max = parseFloat( $p.attr('max') || datatype_max || 100 );
var step = parseFloat( $p.attr('step') || 0.5 );
var $actor = $(actor).data({
'events': $(actor).data( 'events' ),
Modified: CometVisu/trunk/visu/transforms/transform_knx.js
===================================================================
--- CometVisu/trunk/visu/transforms/transform_knx.js 2011-03-05 11:52:31 UTC (rev 312)
+++ CometVisu/trunk/visu/transforms/transform_knx.js 2011-03-05 14:44:58 UTC (rev 313)
@@ -59,6 +59,10 @@
'5.001' : {
name : 'DPT_Scaling',
unit : '%',
+ range : {
+ min: 0.0,
+ max: 100.0
+ },
encode: function( phy ){
var val = parseInt( phy * 255 / 100 ).toString( 16 );
return (val.length == 1 ? '800' : '80') + val;
@@ -70,6 +74,10 @@
'5.003' : {
name : 'DPT_Angle',
unit : '°',
+ range : {
+ min: 0.0,
+ max: 360.0
+ },
encode: function( phy ){
var val = parseInt( phy * 255 / 360 ).toString( 16 );
return (val.length == 1 ? '800' : '80') + val;
@@ -81,6 +89,10 @@
'5.004' : {
name : 'DPT_Percent_U8',
unit : '%',
+ range : {
+ min: 0.0,
+ max: 255.0
+ },
encode: function( phy ){
var val = parseInt( phy ).toString( 16 );
return (val.length == 1 ? '800' : '80') + val;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|