Skip to content

Commit 5fb1010

Browse files
authored
Motor (#29)
1 parent 4016099 commit 5fb1010

File tree

10 files changed

+802
-44
lines changed

10 files changed

+802
-44
lines changed

core/sdk/build.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ dependencies {
2626
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
2727
testImplementation "io.grpc:grpc-testing:1.63.0"
2828
testImplementation "io.grpc:grpc-inprocess:1.63.0"
29+
testImplementation 'org.mockito:mockito-core:5.12.0'
2930
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
3031
}
3132

core/sdk/src/main/java/com/viam/sdk/core/component/board/Board.kt

+3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ typealias Tick = StreamTicksResponse
2020
*/
2121
abstract class Board(name: String) : Component(SUBTYPE, named(name)) {
2222
companion object {
23+
@JvmStatic
2324
val SUBTYPE =
2425
Subtype(Subtype.NAMESPACE_RDK, Subtype.RESOURCE_TYPE_COMPONENT, "board")
2526

@@ -28,6 +29,7 @@ abstract class Board(name: String) : Component(SUBTYPE, named(name)) {
2829
* @param name the name of the component
2930
* @return the component's ResourceName
3031
*/
32+
@JvmStatic
3133
fun named(name: String): ResourceName {
3234
return Resource.named(SUBTYPE, name)
3335
}
@@ -38,6 +40,7 @@ abstract class Board(name: String) : Component(SUBTYPE, named(name)) {
3840
* @param name the name of the component
3941
* @return the component
4042
*/
43+
@JvmStatic
4144
fun fromRobot(robot: RobotClient, name: String): Board {
4245
return robot.getResource(Board::class.java, named(name))
4346
}

core/sdk/src/main/java/com/viam/sdk/core/component/board/BoardRPCService.kt

+39-43
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.viam.sdk.core.component.board
33
import com.viam.common.v1.Common
44
import com.viam.common.v1.Common.DoCommandResponse
55
import com.viam.common.v1.Common.GetGeometriesResponse
6+
import com.viam.component.board.v1.Board.*
67
import com.viam.component.board.v1.BoardServiceGrpc
78
import com.viam.sdk.core.resource.ResourceManager
89
import com.viam.sdk.core.resource.ResourceRPCService
@@ -12,110 +13,108 @@ import java.util.*
1213
import kotlin.time.DurationUnit
1314
import kotlin.time.toDuration
1415

15-
class BoardRPCService(private val manager: ResourceManager) :
16-
BoardServiceGrpc.BoardServiceImplBase(), ResourceRPCService<Board> {
16+
class BoardRPCService(private val manager: ResourceManager) : BoardServiceGrpc.BoardServiceImplBase(),
17+
ResourceRPCService<Board> {
1718

1819
override fun setGPIO(
19-
request: com.viam.component.board.v1.Board.SetGPIORequest,
20-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.SetGPIOResponse>
20+
request: SetGPIORequest,
21+
responseObserver: StreamObserver<SetGPIOResponse>
2122
) {
2223
val board = getResource(Board.named(request.name))
2324
board.setGpioState(request.pin, request.high, Optional.of(request.extra))
2425
responseObserver.onNext(
25-
com.viam.component.board.v1.Board.SetGPIOResponse.newBuilder().build()
26+
SetGPIOResponse.newBuilder().build()
2627
)
2728
responseObserver.onCompleted()
2829
}
2930

3031
override fun getGPIO(
31-
request: com.viam.component.board.v1.Board.GetGPIORequest,
32-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.GetGPIOResponse>
32+
request: GetGPIORequest,
33+
responseObserver: StreamObserver<GetGPIOResponse>
3334
) {
3435
val board = getResource(Board.named(request.name))
3536
val state = board.getGpioState(request.pin, Optional.of(request.extra))
3637
responseObserver.onNext(
37-
com.viam.component.board.v1.Board.GetGPIOResponse.newBuilder().setHigh(state).build()
38+
GetGPIOResponse.newBuilder().setHigh(state).build()
3839
)
3940
responseObserver.onCompleted()
4041
}
4142

4243
override fun setPWM(
43-
request: com.viam.component.board.v1.Board.SetPWMRequest,
44-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.SetPWMResponse>
44+
request: SetPWMRequest,
45+
responseObserver: StreamObserver<SetPWMResponse>
4546
) {
4647
val board = getResource(Board.named(request.name))
4748
board.setPwm(request.pin, request.dutyCyclePct, Optional.of(request.extra))
4849
responseObserver.onNext(
49-
com.viam.component.board.v1.Board.SetPWMResponse.newBuilder().build()
50+
SetPWMResponse.newBuilder().build()
5051
)
5152
responseObserver.onCompleted()
5253
}
5354

5455
override fun pWM(
55-
request: com.viam.component.board.v1.Board.PWMRequest,
56-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.PWMResponse>
56+
request: PWMRequest,
57+
responseObserver: StreamObserver<PWMResponse>
5758
) {
5859
val board = getResource(Board.named(request.name))
5960
val pwm = board.getPwm(request.pin, Optional.of(request.extra))
6061
responseObserver.onNext(
61-
com.viam.component.board.v1.Board.PWMResponse.newBuilder().setDutyCyclePct(pwm).build()
62+
PWMResponse.newBuilder().setDutyCyclePct(pwm).build()
6263
)
6364
responseObserver.onCompleted()
6465
}
6566

6667
override fun setPWMFrequency(
67-
request: com.viam.component.board.v1.Board.SetPWMFrequencyRequest,
68-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.SetPWMFrequencyResponse>
68+
request: SetPWMFrequencyRequest,
69+
responseObserver: StreamObserver<SetPWMFrequencyResponse>
6970
) {
7071
val board = getResource(Board.named(request.name))
7172
board.setPwmFrequency(request.pin, request.frequencyHz.toInt(), Optional.of(request.extra))
7273
responseObserver.onNext(
73-
com.viam.component.board.v1.Board.SetPWMFrequencyResponse.newBuilder().build()
74+
SetPWMFrequencyResponse.newBuilder().build()
7475
)
7576
responseObserver.onCompleted()
7677
}
7778

7879
override fun pWMFrequency(
79-
request: com.viam.component.board.v1.Board.PWMFrequencyRequest,
80-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.PWMFrequencyResponse>
80+
request: PWMFrequencyRequest,
81+
responseObserver: StreamObserver<PWMFrequencyResponse>
8182
) {
8283
val board = getResource(Board.named(request.name))
8384
val freq = board.getPwmFrequency(request.pin, Optional.of(request.extra))
8485
responseObserver.onNext(
85-
com.viam.component.board.v1.Board.PWMFrequencyResponse.newBuilder()
86-
.setFrequencyHz(freq.toLong()).build()
86+
PWMFrequencyResponse.newBuilder().setFrequencyHz(freq.toLong()).build()
8787
)
8888
responseObserver.onCompleted()
8989
}
9090

9191
override fun writeAnalog(
92-
request: com.viam.component.board.v1.Board.WriteAnalogRequest,
93-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.WriteAnalogResponse>
92+
request: WriteAnalogRequest,
93+
responseObserver: StreamObserver<WriteAnalogResponse>
9494
) {
9595
val board = getResource(Board.named(request.name))
9696
board.writeAnalog(request.pin, request.value, Optional.of(request.extra))
9797
responseObserver.onNext(
98-
com.viam.component.board.v1.Board.WriteAnalogResponse.newBuilder().build()
98+
WriteAnalogResponse.newBuilder().build()
9999
)
100100
responseObserver.onCompleted()
101101
}
102102

103103
override fun readAnalogReader(
104-
request: com.viam.component.board.v1.Board.ReadAnalogReaderRequest,
105-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.ReadAnalogReaderResponse>
104+
request: ReadAnalogReaderRequest,
105+
responseObserver: StreamObserver<ReadAnalogReaderResponse>
106106
) {
107107
val board = getResource(Board.named(request.boardName))
108108
val value = board.getAnalogReaderValue(request.analogReaderName, Optional.of(request.extra))
109109
responseObserver.onNext(
110-
com.viam.component.board.v1.Board.ReadAnalogReaderResponse.newBuilder().setValue(value)
111-
.build()
110+
ReadAnalogReaderResponse.newBuilder().setValue(value).build()
112111
)
113112
responseObserver.onCompleted()
114113
}
115114

116115
override fun streamTicks(
117-
request: com.viam.component.board.v1.Board.StreamTicksRequest,
118-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.StreamTicksResponse>
116+
request: StreamTicksRequest,
117+
responseObserver: StreamObserver<StreamTicksResponse>
119118
) {
120119
val board = getResource(Board.named(request.name))
121120
val ticksStream = board.streamTicks(request.pinNamesList, Optional.of(request.extra))
@@ -126,8 +125,8 @@ class BoardRPCService(private val manager: ResourceManager) :
126125
}
127126

128127
override fun setPowerMode(
129-
request: com.viam.component.board.v1.Board.SetPowerModeRequest,
130-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.SetPowerModeResponse>
128+
request: SetPowerModeRequest,
129+
responseObserver: StreamObserver<SetPowerModeResponse>
131130
) {
132131
val board = getResource(Board.named(request.name))
133132
board.setPowerMode(
@@ -136,28 +135,26 @@ class BoardRPCService(private val manager: ResourceManager) :
136135
Optional.of(request.extra)
137136
)
138137
responseObserver.onNext(
139-
com.viam.component.board.v1.Board.SetPowerModeResponse.newBuilder().build()
138+
SetPowerModeResponse.newBuilder().build()
140139
)
141140
responseObserver.onCompleted()
142141
}
143142

144143
override fun getDigitalInterruptValue(
145-
request: com.viam.component.board.v1.Board.GetDigitalInterruptValueRequest,
146-
responseObserver: StreamObserver<com.viam.component.board.v1.Board.GetDigitalInterruptValueResponse>
144+
request: GetDigitalInterruptValueRequest,
145+
responseObserver: StreamObserver<GetDigitalInterruptValueResponse>
147146
) {
148147
val board = getResource(Board.named(request.boardName))
149-
val value =
150-
board.getDigitalInterruptValue(request.digitalInterruptName, Optional.of(request.extra))
148+
val value = board.getDigitalInterruptValue(request.digitalInterruptName, Optional.of(request.extra))
151149
responseObserver.onNext(
152-
com.viam.component.board.v1.Board.GetDigitalInterruptValueResponse.newBuilder()
153-
.setValue(value.toLong()).build()
150+
GetDigitalInterruptValueResponse.newBuilder().setValue(value.toLong())
151+
.build()
154152
)
155153
responseObserver.onCompleted()
156154
}
157155

158156
override fun doCommand(
159-
request: Common.DoCommandRequest,
160-
responseObserver: StreamObserver<DoCommandResponse>
157+
request: Common.DoCommandRequest, responseObserver: StreamObserver<DoCommandResponse>
161158
) {
162159
val board = getResource(Board.named(request.name))
163160
val result = board.doCommand(request.command.fieldsMap)
@@ -166,8 +163,7 @@ class BoardRPCService(private val manager: ResourceManager) :
166163
}
167164

168165
override fun getGeometries(
169-
request: Common.GetGeometriesRequest,
170-
responseObserver: StreamObserver<GetGeometriesResponse>
166+
request: Common.GetGeometriesRequest, responseObserver: StreamObserver<GetGeometriesResponse>
171167
) {
172168
val board = getResource(Board.named(request.name))
173169
val result = board.getGeometries(Optional.of(request.extra))

0 commit comments

Comments
 (0)