projects
/
sifive-blocks.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5d1e9b7
)
GPIO Pins needs clone type.
signal_bundles
author
Megan Wachs
<megan@sifive.com>
Fri, 22 Sep 2017 23:38:37 +0000
(16:38 -0700)
committer
Megan Wachs
<megan@sifive.com>
Fri, 22 Sep 2017 23:38:37 +0000
(16:38 -0700)
src/main/scala/devices/gpio/GPIOPins.scala
patch
|
blob
|
history
diff --git
a/src/main/scala/devices/gpio/GPIOPins.scala
b/src/main/scala/devices/gpio/GPIOPins.scala
index e2f279eeacc6da9892fe81a99f6dbcd154b8c76a..85729237f6e9eac42a10190addfd19b481d52045 100644
(file)
--- a/
src/main/scala/devices/gpio/GPIOPins.scala
+++ b/
src/main/scala/devices/gpio/GPIOPins.scala
@@
-11,9
+11,15
@@
import sifive.blocks.devices.pinctrl.{Pin}
// type of pad this connects to.
class GPIOSignals[T <: Data] (pingen: ()=> T, c: GPIOParams) extends Bundle {
val pins = Vec(c.width, pingen())
// type of pad this connects to.
class GPIOSignals[T <: Data] (pingen: ()=> T, c: GPIOParams) extends Bundle {
val pins = Vec(c.width, pingen())
+
+ override def cloneType: this.type =
+ this.getClass.getConstructors.head.newInstance(pingen, c).asInstanceOf[this.type]
}
}
-class GPIOPins[T <: Pin] (pingen: ()=> T, c: GPIOParams) extends GPIOSignals[T](pingen, c)
+class GPIOPins[T <: Pin] (pingen: ()=> T, c: GPIOParams) extends GPIOSignals[T](pingen, c) {
+ override def cloneType: this.type =
+ this.getClass.getConstructors.head.newInstance(pingen, c).asInstanceOf[this.type]
+}
object GPIOPinsFromPort {
object GPIOPinsFromPort {