Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
sfp-plus-i2c
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
9
Issues
9
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
sfp-plus-i2c
Commits
7a60e994
Commit
7a60e994
authored
Sep 22, 2016
by
Vincent van Beveren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Continued on GUI, some addtions
parent
c3ca3a04
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
102 additions
and
12 deletions
+102
-12
SFPDevice.java
sw/jsfp/src/nl/nikhef/sfp/SFPDevice.java
+1
-1
SFPDeviceBase.java
sw/jsfp/src/nl/nikhef/sfp/SFPDeviceBase.java
+4
-0
DDMI.java
sw/jsfp/src/nl/nikhef/sfp/ddmi/DDMI.java
+1
-1
DDMIGroup.java
sw/jsfp/src/nl/nikhef/sfp/ddmi/DDMIGroup.java
+1
-4
Monitor.java
sw/safaripark/src/nl/nikhef/safaripark/monitor/Monitor.java
+5
-2
MonitorModel.java
...ripark/src/nl/nikhef/safaripark/monitor/MonitorModel.java
+90
-4
No files found.
sw/jsfp/src/nl/nikhef/sfp/SFPDevice.java
View file @
7a60e994
...
@@ -8,7 +8,7 @@ import nl.nikhef.sfp.i2c.I2CLink;
...
@@ -8,7 +8,7 @@ import nl.nikhef.sfp.i2c.I2CLink;
/**
/**
* Encapsulates the peripheral which reads the SFP device, not the SFP device itself.
* Encapsulates the peripheral which reads the SFP device, not the SFP device itself.
*/
*/
public
interface
SFPDevice
public
interface
SFPDevice
extends
Comparable
<
SFPDevice
>
{
{
/**
/**
* Device serial.
* Device serial.
...
...
sw/jsfp/src/nl/nikhef/sfp/SFPDeviceBase.java
View file @
7a60e994
...
@@ -75,4 +75,8 @@ public abstract class SFPDeviceBase implements SFPDevice {
...
@@ -75,4 +75,8 @@ public abstract class SFPDeviceBase implements SFPDevice {
}
}
@Override
public
int
compareTo
(
SFPDevice
o
)
{
return
getSerial
().
compareTo
(
o
.
getSerial
());
}
}
}
sw/jsfp/src/nl/nikhef/sfp/ddmi/DDMI.java
View file @
7a60e994
...
@@ -87,7 +87,7 @@ public class DDMI extends DDMIGroup {
...
@@ -87,7 +87,7 @@ public class DDMI extends DDMIGroup {
* @param filter The filter to use
* @param filter The filter to use
* @return A collection of matched elements
* @return A collection of matched elements
*/
*/
public
<
T
extends
DDMIElement
>
Collection
<
T
>
findElements
(
DDMIFilter
<
T
>
filter
)
public
<
T
extends
DDMIElement
>
List
<
T
>
findElements
(
DDMIFilter
<
T
>
filter
)
{
{
List
<
T
>
list
=
new
ArrayList
<
T
>();
List
<
T
>
list
=
new
ArrayList
<
T
>();
...
...
sw/jsfp/src/nl/nikhef/sfp/ddmi/DDMIGroup.java
View file @
7a60e994
...
@@ -68,14 +68,11 @@ public class DDMIGroup extends DDMIElement {
...
@@ -68,14 +68,11 @@ public class DDMIGroup extends DDMIElement {
DDMIGroup
.
class
.
cast
(
element
).
findElements
(
filter
,
list
);
DDMIGroup
.
class
.
cast
(
element
).
findElements
(
filter
,
list
);
}
}
if
(!
filter
.
get
Class
().
isAssignableFrom
(
element
.
getClass
()))
continue
;
if
(!
filter
.
match
Class
().
isAssignableFrom
(
element
.
getClass
()))
continue
;
T
match
=
filter
.
matchClass
().
cast
(
element
);
T
match
=
filter
.
matchClass
().
cast
(
element
);
//
if
(
filter
.
matches
(
match
))
list
.
add
(
match
);
if
(
filter
.
matches
(
match
))
list
.
add
(
match
);
}
}
}
}
...
...
sw/safaripark/src/nl/nikhef/safaripark/monitor/Monitor.java
View file @
7a60e994
...
@@ -8,20 +8,23 @@ import javax.swing.JTable;
...
@@ -8,20 +8,23 @@ import javax.swing.JTable;
import
javax.swing.JToolBar
;
import
javax.swing.JToolBar
;
import
nl.nikhef.safaripark.Title
;
import
nl.nikhef.safaripark.Title
;
import
nl.nikhef.sfp.ddmi.DDMI
;
public
class
Monitor
extends
JPanel
{
public
class
Monitor
extends
JPanel
{
private
JTable
_table
=
new
JTable
()
;
private
JTable
_table
;
private
JToolBar
_tbar
;
private
JToolBar
_tbar
;
public
Monitor
()
{
public
Monitor
()
{
setLayout
(
new
BorderLayout
());
setLayout
(
new
BorderLayout
());
_table
=
new
JTable
(
new
MonitorModel
(
DDMI
.
getDefault
()));
JScrollPane
sp
=
new
JScrollPane
(
_table
);
JScrollPane
sp
=
new
JScrollPane
(
_table
);
_tbar
=
new
JToolBar
(
"Monitor"
);
_tbar
=
new
JToolBar
(
"Monitor"
);
add
(
_tbar
,
BorderLayout
.
NORTH
);
add
(
_tbar
,
BorderLayout
.
NORTH
);
add
(
sp
,
BorderLayout
.
CENTER
);
add
(
sp
,
BorderLayout
.
CENTER
);
}
}
...
...
sw/safaripark/src/nl/nikhef/safaripark/monitor/MonitorModel.java
View file @
7a60e994
package
nl
.
nikhef
.
safaripark
.
monitor
;
package
nl
.
nikhef
.
safaripark
.
monitor
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.SortedSet
;
import
java.util.TreeSet
;
import
javax.swing.table.AbstractTableModel
;
import
javax.swing.table.AbstractTableModel
;
import
nl.nikhef.sfp.SFPDevice
;
import
nl.nikhef.sfp.SFPDeviceListener
;
import
nl.nikhef.sfp.SFPManager
;
import
nl.nikhef.sfp.SFPProvider
;
import
nl.nikhef.sfp.SFPProviderListener
;
import
nl.nikhef.sfp.ddmi.DDMI
;
import
nl.nikhef.sfp.ddmi.DDMI
;
import
nl.nikhef.sfp.ddmi.DDMIFilter
;
import
nl.nikhef.sfp.ddmi.DDMIFilter
;
import
nl.nikhef.sfp.ddmi.DDMIValue
;
import
nl.nikhef.sfp.ddmi.DDMIValue
;
public
class
MonitorModel
extends
AbstractTableModel
{
public
class
MonitorModel
extends
AbstractTableModel
implements
SFPDeviceListener
,
SFPProviderListener
{
private
final
DDMI
_ddmi
;
private
final
DDMI
_ddmi
;
private
List
<
DDMIValue
>
_columns
;
private
SortedSet
<
SFPDevice
>
_devices
=
new
TreeSet
<
SFPDevice
>();
private
List
<
DevAndBay
>
_rows
=
new
ArrayList
<
DevAndBay
>();
private
class
DevAndBay
{
final
SFPDevice
dev
;
final
int
bay
;
public
DevAndBay
(
SFPDevice
dev
,
int
bay
)
{
this
.
dev
=
dev
;
this
.
bay
=
bay
;
}
}
public
MonitorModel
(
DDMI
ddmi
)
{
public
MonitorModel
(
DDMI
ddmi
)
{
SFPManager
.
get
().
addSFPProviderListener
(
this
);
_ddmi
=
ddmi
;
_ddmi
=
ddmi
;
_ddmi
.
findElements
(
new
DDMIFilter
<
DDMIValue
>()
{
_
columns
=
_
ddmi
.
findElements
(
new
DDMIFilter
<
DDMIValue
>()
{
@Override
@Override
public
boolean
matches
(
DDMIValue
element
)
{
public
boolean
matches
(
DDMIValue
element
)
{
...
@@ -25,25 +54,82 @@ public class MonitorModel extends AbstractTableModel {
...
@@ -25,25 +54,82 @@ public class MonitorModel extends AbstractTableModel {
}
}
});
});
}
}
@Override
@Override
public
int
getColumnCount
()
{
public
int
getColumnCount
()
{
return
0
;
return
_columns
.
size
()
+
1
;
}
@Override
public
String
getColumnName
(
int
column
)
{
if
(
column
==
0
)
return
"Module"
;
return
_columns
.
get
(
column
-
1
).
getLabel
();
}
}
@Override
@Override
public
int
getRowCount
()
{
public
int
getRowCount
()
{
return
0
;
return
_rows
.
size
()
;
}
}
@Override
@Override
public
Object
getValueAt
(
int
row
,
int
col
)
{
public
Object
getValueAt
(
int
row
,
int
col
)
{
return
null
;
return
null
;
}
}
@Override
public
void
sfpModuleStateChanged
(
SFPDevice
dev
,
int
bay
)
{
if
(!
_devices
.
contains
(
dev
))
{
_devices
.
add
(
dev
);
}
if
(
updateRowCount
())
{
fireTableDataChanged
();
}
}
private
boolean
updateRowCount
()
{
int
rc
=
0
;
List
<
DevAndBay
>
dAb
=
new
ArrayList
<
DevAndBay
>();
for
(
SFPDevice
dev
:
_devices
)
{
for
(
int
i
=
0
;
i
<
dev
.
getBayCount
();
++
i
)
{
if
(
dev
.
isModulePresent
(
i
))
{
rc
++;
dAb
.
add
(
new
DevAndBay
(
dev
,
i
));
}
}
}
_rows
=
dAb
;
return
true
;
}
@Override
public
void
sfpDeviceAdded
(
SFPProvider
provider
,
SFPDevice
dev
)
{
_devices
.
add
(
dev
);
}
@Override
public
void
sfpDeviceRemoved
(
SFPProvider
provider
,
SFPDevice
dev
)
{
_devices
.
remove
(
dev
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment