machine_setup 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,99 @@
1
+ [<%= lang_name %>]
2
+ //Parametertexte
3
+ <% parameter_range.each do |number| %>PARAM<%= number%>=<%= name(number)%><%= "\r\n" %><% end %>
4
+ //Texte Tabelle/Registerkarte
5
+ <% categories.each_with_index do |category, index| %>TAB<%= index%>=<%= cat_name(category)%><%= "\r\n" %><% end %>
6
+
7
+ //�berschriften Spalten
8
+ COL0=Parameter
9
+ COL1=Wert
10
+
11
+ //Men�Texte
12
+ MENU0=&Datei
13
+ MENU1=�&ffnen
14
+ MENU2=2.Setup �ffnen
15
+ MENU3=S&peichern
16
+ MENU4=Speichern &unter
17
+ MENU5=&Drucken
18
+ MENU6=Drucker&einrichtung
19
+ MENU7=Backup Datei SETUPS.DAT anlegen
20
+ MENU8=Backup Datei SETUPS.DAT laden
21
+ MENU9=&Beenden
22
+ MENU10=Da&ten
23
+ MENU11=Se&nden
24
+ MENU12=&Empfangen
25
+ MENU13=&Bereinigen
26
+ MENU14=&Ausgeblendete Werte Null setzen
27
+ MENU15=&Schnittstelle
28
+ MENU16=COM&1
29
+ MENU17=COM&2
30
+ MENU18=COM&3
31
+ MENU19=COM&4
32
+ MENU20=S&chliessen
33
+ MENU21=&Ansicht
34
+ MENU22=&Symbolleiste
35
+ MENU23=Fenster Datenvergleich
36
+ MENU24=S&prache
37
+ MENU25=Spracheinstellungen...
38
+ MENU26=&?
39
+ MENU27=&Hilfethemen
40
+ MENU28=Inf&o �ber Setup...
41
+
42
+ //Systemtexte(Beschriftungen, �berschriften, usw.)
43
+ SYSTEM0=Setupprogramm V6.0.01
44
+ SYSTEM1=Dateiname
45
+ SYSTEM2=Dateidatum
46
+ SYSTEM3=Status
47
+ SYSTEM4=Parameter einstellen
48
+ SYSTEM5=Parametername
49
+ SYSTEM6=Dateiwert
50
+ SYSTEM7=Letzter SetupWert
51
+ SYSTEM8=Neuer Wert
52
+ SYSTEM9=OK
53
+ SYSTEM10=Abbrechen
54
+ SYSTEM11=Senden
55
+ SYSTEM12=Alle Parameter �bermitteln
56
+ SYSTEM13=Abbruch
57
+ SYSTEM14=Empfangen
58
+ SYSTEM15=Alle Parameter empfangen
59
+ SYSTEM16=Abbruch
60
+ SYSTEM17=Sprache �ndern...
61
+ SYSTEM18=Bitte w�hlen Sie eine Sprache aus.
62
+ SYSTEM19=Ok
63
+ SYSTEM20=Abbruch
64
+ SYSTEM21=Info
65
+ SYSTEM22=Setupprogramm V6.0.01
66
+ SYSTEM23=Progdat: Apr.08.04 Inidat: Sep.07.05
67
+ SYSTEM24=(c) Weber GmbH
68
+ SYSTEM25=Bereit
69
+ SYSTEM26=Closed
70
+ SYSTEM27=Empfang
71
+ SYSTEM28=Senden
72
+ SYSTEM29=MPS3 Dateien
73
+ SYSTEM30=Alle Dateien
74
+ SYSTEM31=Beschreibung
75
+ SYSTEM32=Programmparameter
76
+ SYSTEM33=Maximalwert
77
+ SYSTEM34=Minimalwert
78
+ SYSTEM35=Seite
79
+ SYSTEM36=�nderungen speichern?
80
+
81
+ //Fehlertexte
82
+ ERROR0=Unbekannter Fehler
83
+ ERROR1=Parameterwert liegt ausserhalb der Grenzwerte
84
+ ERROR2=Es konnten keine Parameterdaten geladen werden.
85
+ ERROR3=Abbruch!. Fehler beim Zuweisen der Menuetexte.
86
+ ERROR4=Fehler beim Empfangen von Daten von der MPS3.
87
+ ERROR5=Fehler! MPS3 hat auf eine Datenabfrage mit dem falschen Parameter geantwortet.
88
+ ERROR6=Schnittstelle konnte nicht ge�ffnet werden.
89
+ ERROR7=Angegebene Sprachversion konnte nicht ge�ffnet werden.
90
+ ERROR8=Fehler beim Daten Senden aufgetreten. Fehler: DatenHeader.
91
+ ERROR9=Fehler beim Daten senden aufgetreten. Fehler: DatenBody.
92
+ ERROR10=Fehler beim Daten senden aufgetreten.
93
+ ERROR11=Fehler beim Daten empfangen. Fehler: kein Ack empfangen
94
+ ERROR12=Fehler beim Daten empfangen. Fehler: DatenHeader.
95
+ ERROR13=Fehler beim Daten empfangen. Fehler: DatenBody.
96
+ ERROR14=Fehler beim Daten empfangen.
97
+ ERROR15=Schnittstelle ist nicht ge�ffnet.
98
+ ERROR16=keine Beschreibung vorhanden
99
+ ERROR17=Kein Text vorhanden
@@ -0,0 +1,99 @@
1
+ [<%= lang_name %>]
2
+ //Parametertexte
3
+ <% parameter_range.each do |number| %>PARAM<%= number%>=<%= name(number)%><%= "\r\n" %><% end %>
4
+ //Texte Tabelle/Registerkarte
5
+ <% categories.each_with_index do |category, index| %>TAB<%= index%>=<%= cat_name(category)%><%= "\r\n" %><% end %>
6
+
7
+ //�berschriften Spalten
8
+ COL0=Parameter
9
+ COL1=Value
10
+
11
+ //Men�Texte
12
+ MENU0=&File
13
+ MENU1=O&pen
14
+ MENU2=Open 2. Setup
15
+ MENU3=S&ave
16
+ MENU4=Save &as
17
+ MENU5=&Print
18
+ MENU6=Print &Setup
19
+ MENU7=Save Backup File SETUPS.DAT
20
+ MENU8=Load Backup File SETUPS.DAT
21
+ MENU9=&Exit
22
+ MENU10=Da&ta
23
+ MENU11=Se&nd
24
+ MENU12=&Receive
25
+ MENU13=&Clean
26
+ MENU14=Set &hide values to zero
27
+ MENU15=&Interface
28
+ MENU16=COM&1
29
+ MENU17=COM&2
30
+ MENU18=COM&3
31
+ MENU19=COM&4
32
+ MENU20=C&lose
33
+ MENU21=&View
34
+ MENU22=&ToolBar
35
+ MENU23=Window compare files
36
+ MENU24=L&anguage
37
+ MENU25=Language settings...
38
+ MENU26=&?
39
+ MENU27=&Help topics
40
+ MENU28=Abo&ut Setup...
41
+
42
+ //Systemtexte(Beschriftungen, �berschriften, usw.)
43
+ SYSTEM0=Setup program V6.0.01
44
+ SYSTEM1=File name
45
+ SYSTEM2=File date
46
+ SYSTEM3=Status
47
+ SYSTEM4=Set parameters
48
+ SYSTEM5=Parameter name
49
+ SYSTEM6=File value
50
+ SYSTEM7=Last Setup Value
51
+ SYSTEM8=New value
52
+ SYSTEM9=OK
53
+ SYSTEM10=Cancel
54
+ SYSTEM11=Send
55
+ SYSTEM12=Transmit all parameters
56
+ SYSTEM13=Cancel
57
+ SYSTEM14=Receive
58
+ SYSTEM15=Receive all parameters
59
+ SYSTEM16=Cancel
60
+ SYSTEM17=Change language...
61
+ SYSTEM18=Please select a language.
62
+ SYSTEM19=Ok
63
+ SYSTEM20=Cancel
64
+ SYSTEM21=Info
65
+ SYSTEM22=Setup program V5.0.25
66
+ SYSTEM23=Progdat: Apr.08.04 Inidat: Aug.20.05
67
+ SYSTEM24=(c) Weber GmbH
68
+ SYSTEM25=Ready
69
+ SYSTEM26=Closed
70
+ SYSTEM27=Reception
71
+ SYSTEM28=Send
72
+ SYSTEM29=MPS3 files
73
+ SYSTEM30=All files
74
+ SYSTEM31=Description
75
+ SYSTEM32=Program parameters
76
+ SYSTEM33=Maximum value
77
+ SYSTEM34=Minimum value
78
+ SYSTEM35=Page
79
+ SYSTEM36=Save changes?
80
+
81
+ //Fehlertexte
82
+ ERROR0=Unknown error
83
+ ERROR1=Parameter value is outside of the limit values
84
+ ERROR2=Parameter data cannot be loaded.
85
+ ERROR3=Cancel! Error while assigning the menu texts.
86
+ ERROR4=Error while receiving data from the MPS3.
87
+ ERROR5=Error! MPS3 replied to data query with incorrect parameter.
88
+ ERROR6=Unable to open interface.
89
+ ERROR7=Unable to open specified language.
90
+ ERROR8=Error while sending data. Error: Data header.
91
+ ERROR9=Error while sending data. Error: Data body.
92
+ ERROR10=Error while sending data.
93
+ ERROR11=Error while receiving data. Error: No Ack received
94
+ ERROR12=Error while receiving data. Error: Data header.
95
+ ERROR13=Error while receiving data. Error: Data body.
96
+ ERROR14=Error while receiving data.
97
+ ERROR15=Interface is not open.
98
+ ERROR16=No description present.
99
+ ERROR17=No text present.
@@ -0,0 +1,38 @@
1
+ [EINSTELLUNG]
2
+ TABSTART=2
3
+ DRUCK=0
4
+ DATKONVERT=0
5
+
6
+ [SPRACHE]
7
+ AKTUELL=0<% languages.each_with_index do | language_name, index| %>
8
+ SPRACHE<%= index %>=<%= language_name.upcase %><% end %>
9
+
10
+ [MINMAXWERTE]
11
+ BEGIN_MIN=<%= settings.minimum.first %>
12
+ END_MIN=<%= settings.minimum.last %>
13
+ BEGIN_MAX=<%= settings.maximum.first %>
14
+ END_MAX=<%= settings.maximum.last %>
15
+ BEGIN_WAAG_MIN=<%= settings.balance_minimum.first %>
16
+ END_WAAG_MIN=<%= settings.balance_minimum.last %>
17
+ BEGIN_WAAG_MAX=<%= settings.balance_maximum.first %>
18
+ END_WAAG_MAX=<%= settings.balance_maximum.last %>
19
+
20
+ [MASCHINENTYP]
21
+ BEGIN_TYP0=0
22
+ BEGIN_TYP1=1000
23
+ BEGIN_TYP2=2000
24
+ BEGIN_TYP3=3000
25
+ BEGIN_TYP4=4000
26
+
27
+ ;(0..16)
28
+ ;generate param names as comment
29
+ [PARAMANZEIGE]<% categories.each_with_index do |category, index| %><% dependencies, machine_types, parameters = param_infos(category)%>
30
+ 2CF<%= index%>a=<%= dependencies %>
31
+ 1CF<%= index%>a=<%= machine_types %>
32
+ TAB<%= index%>a=<%= parameters %>
33
+ 2CF<%= index%>b=
34
+ 1CF<%= index%>b=
35
+ TAB<%= index%>b=
36
+ 2CF<%= index%>c=
37
+ 1CF<%= index%>c=
38
+ TAB<%= index%>c=<% end %>
@@ -0,0 +1,38 @@
1
+ module SetupConfiguration::Translation
2
+
3
+ FILE_EXTENSION="setup.param".freeze
4
+
5
+ def self.translation_files(config_name)
6
+ languages.collect{ |lang| "#{config_name}.#{FILE_EXTENSION}.#{lang}.yml"}
7
+ end
8
+
9
+ # Returns all supported setup languages.
10
+ def self.languages()
11
+ language_names().keys()
12
+ end
13
+
14
+ def self.language_name(lang)
15
+ language_names()[lang]
16
+ end
17
+
18
+ def self.language_names()
19
+ {:de => "deutsch", :en => "english"}
20
+ end
21
+
22
+ class Translator
23
+
24
+ # Adds a file with translations.
25
+ def self.i18n_load_path(path)
26
+ I18n.load_path << path
27
+ end
28
+
29
+ # Returns name and description for the given parameter in the given language.
30
+ def translate(key, language)
31
+ name=I18n.translate(:name, :scope => key, :default => key.to_s , :locale => language)
32
+ description=I18n.translate(:comment, :scope => key, :default => "", :locale => language)
33
+ [name, description]
34
+ end
35
+
36
+ end
37
+
38
+ end
data/setup.rb ADDED
@@ -0,0 +1,101 @@
1
+ require 'pp'
2
+
3
+ setup_file_name=ARGV[0].gsub(/\\/,"/")
4
+ setup_ids= ARGV[1].nil? ? [] : ARGV[1].split(',').collect(){|id| id.to_i}
5
+ #puts setup_file_name
6
+ #pp setup_ids
7
+
8
+ =begin
9
+ Setup.dat auswerten:
10
+ Die Werte werden als WORD (vorzeichenlos) bin�r in der Setup.dat gespeichert.
11
+
12
+ Zwei Bytes ergeben den Wert eines Setupparameters.
13
+
14
+ Beispiel:
15
+ Setupwert
16
+ Dezimal: 380
17
+ Bin�r: | 00000001 | 01111100 |
18
+
19
+ Byte n: 1111100
20
+ Byte n+1: 1
21
+
22
+ nach auff�llen:
23
+ Byte n: 01111100
24
+ Byte n+1: 00000001
25
+
26
+ => | Byte n+1 | Byte n | ergeben den gesucht Wert
27
+
28
+ Da Byte n zuerst eingelesen wird, muss Byte n+1 um 1 Byte ( 8 Stellen ) nach links geshiftet werden.
29
+ Den ganzen Wert ergibt dann die Bin�roperation OR oder XOR.
30
+
31
+ =end
32
+
33
+
34
+ def param_name(dir, id)
35
+ params=%w{deutsch.lng english.lng}
36
+ param_regexp = /PARAM#{id}=/
37
+
38
+ help_params=params.collect() do |p|
39
+ (1..3).to_a().collect() do |n|
40
+ p.split('.').join("#{n}.")
41
+ end
42
+ end.flatten()
43
+ help_param_regexp = /HILFEPARAM#{id}=/
44
+
45
+ names=[]
46
+ params.each() do |param_file|
47
+ File.open(File.join(dir, param_file), "r") do |f|
48
+ f.readlines().each() {|line| names << "#{param_file}: #{line.split(param_regexp).last}" if line =~ param_regexp }
49
+ end
50
+ end
51
+ help_params.each() do |param_file|
52
+ File.open(File.join(dir, param_file), "r") do |f|
53
+ f.readlines().each() {|line| names << "#{param_file}: #{line.split(help_param_regexp).last.gsub(/��/, " ") }" if line =~ help_param_regexp }
54
+ end
55
+ end
56
+
57
+ names
58
+ end
59
+
60
+ File.open(setup_file_name, "rb") do |file|
61
+ puts "\t\tDez\tHex\tOkt\tBin" if setup_ids.empty?
62
+ puts "\t\t---\t---\t---\t---" if setup_ids.empty?
63
+ counter=0
64
+ sor=nil
65
+ sxor=nil
66
+ while(b = file.getc)
67
+ c = b.chr
68
+ if sor.nil? then
69
+ sor= b
70
+ sxor= b
71
+ else
72
+ sor= (b << 8) | sor
73
+ sxor= (b << 8) ^ sxor
74
+ end
75
+
76
+ puts "i:#{counter},\t, #{Regexp.escape(c)},\t#{b},\t0x#{b.to_s(16).upcase},\to#{b.to_s(8).upcase},\t#{b.to_s(2)}" if setup_ids.empty?
77
+ if counter % 2 == 1 then
78
+
79
+ if setup_ids.empty?
80
+ puts "sp:#{counter/2}\t, #{Regexp.escape(c)},\t#{sor},\t0x#{sor.to_s(16).upcase},\to#{sor.to_s(8).upcase},\t#{sor.to_s(2)}"
81
+ puts "sp:#{counter/2}\t, #{Regexp.escape(c)},\t#{sxor},\t0x#{sxor.to_s(16).upcase},\to#{sxor.to_s(8).upcase},\t#{sxor.to_s(2)}"
82
+ puts "-"*45
83
+ else
84
+ if setup_ids.include?(counter/2)
85
+ puts "#{counter / 2}\t: #{sor}"
86
+ puts param_name(File.dirname(setup_file_name), counter/2)
87
+ puts "-"*45
88
+ end
89
+ end
90
+
91
+
92
+ sor=nil
93
+ sxor=nil
94
+ end
95
+
96
+ counter=counter+1
97
+
98
+ #break if counter > 16
99
+
100
+ end
101
+ end
@@ -0,0 +1,36 @@
1
+ require "test/unit"
2
+ require File.dirname(__FILE__) + "/../test_helper"
3
+
4
+ class SetupConfigurationTest < Test::Unit::TestCase
5
+
6
+ # Called before every test method runs. Can be used
7
+ # to set up fixture information.
8
+ def setup
9
+ # Do nothing
10
+ end
11
+
12
+ # Called after every test method runs. Can be used to tear
13
+ # down fixture information.
14
+
15
+ def teardown
16
+ # Do nothing
17
+ end
18
+
19
+ # # Fake test
20
+ # def test_fail
21
+ #
22
+ # # To change this template use File | Settings | File Templates.
23
+ # fail("Not implemented")
24
+ # end
25
+
26
+ def test_parameter_range
27
+ assert_equal( (0..1299), SetupConfiguration.parameter_range())
28
+ end
29
+
30
+ def test_description_ranges
31
+ assert_equal(3, SetupConfiguration.description_ranges().size)
32
+ assert_equal((0..199), SetupConfiguration.description_ranges()[0])
33
+ assert_equal((200..599), SetupConfiguration.description_ranges()[1])
34
+ assert_equal((600..1299), SetupConfiguration.description_ranges()[2])
35
+ end
36
+ end
@@ -0,0 +1 @@
1
+ require File.dirname(__FILE__) + '/../lib/setup_configuration'
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: machine_setup
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - robi-wan
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-12-10 00:00:00 +01:00
13
+ default_executable: setup_config_gen.rb
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: i18n
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.3.0
24
+ version:
25
+ description: Helps generating configuration files for machine setup parameters.
26
+ email: robi-wan@suyu.de
27
+ executables:
28
+ - setup_config_gen.rb
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - README.rdoc
33
+ - TODO
34
+ files:
35
+ - .document
36
+ - .gitignore
37
+ - MIT-LICENSE
38
+ - README.rdoc
39
+ - Rakefile
40
+ - TODO
41
+ - VERSION
42
+ - bin/setup_config_gen.rb
43
+ - examples/underleaver/underleaver.setup.param
44
+ - examples/underleaver/underleaver.setup.param.de.yml
45
+ - examples/underleaver/underleaver.setup.param.en.yml
46
+ - lib/setup_configuration.rb
47
+ - lib/setup_configuration/setup_config.rb
48
+ - lib/setup_configuration/suite_generator.rb
49
+ - lib/setup_configuration/templates/deutsch.lng.erb
50
+ - lib/setup_configuration/templates/english.lng.erb
51
+ - lib/setup_configuration/templates/mps3.ini.erb
52
+ - lib/setup_configuration/translation.rb
53
+ - setup.rb
54
+ - test/setup_configuration/setup_configuration_test.rb
55
+ - test/test_helper.rb
56
+ has_rdoc: true
57
+ homepage: http://github.com/robi-wan/machine_setup
58
+ licenses: []
59
+
60
+ post_install_message:
61
+ rdoc_options:
62
+ - --charset=UTF-8
63
+ require_paths:
64
+ - lib
65
+ required_ruby_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: "0"
70
+ version:
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: "0"
76
+ version:
77
+ requirements: []
78
+
79
+ rubyforge_project:
80
+ rubygems_version: 1.3.5
81
+ signing_key:
82
+ specification_version: 3
83
+ summary: Generating configuration for machine setup parameters.
84
+ test_files:
85
+ - test/test_helper.rb
86
+ - test/setup_configuration/setup_configuration_test.rb