Skip to content

Commit

Permalink
build process cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
jveverka committed Apr 8, 2022
1 parent 09059ec commit 4e5c43a
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 31 deletions.
23 changes: 4 additions & 19 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,11 @@ name: Build and Test

on:
push:
branches: [ master ]
branches: [ master, pi4j-v2 ]
pull_request:
branches: [ master ]
branches: [ master, pi4j-v2 ]

jobs:
build-core-java8:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 8
uses: actions/setup-java@v1
with:
java-version: 8
- name: Check Java version
run: java -version
- name: Check Gradle version
run: gradle -version
- name: Run Gradle Build and tests
run: gradle --info clean build test

build-core-java11:
runs-on: ubuntu-latest
steps:
Expand All @@ -42,10 +27,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 15
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 16
java-version: 17
- name: Check Java version
run: java -version
- name: Check Gradle version
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@
import com.pi4j.Pi4J;
import com.pi4j.context.Context;
import com.pi4j.io.gpio.digital.DigitalInput;
import com.pi4j.io.gpio.digital.DigitalInputConfigBuilder;
import com.pi4j.io.gpio.digital.DigitalOutput;
import com.pi4j.io.gpio.digital.DigitalOutputConfigBuilder;
import com.pi4j.io.gpio.digital.DigitalState;
import com.pi4j.io.gpio.digital.DigitalStateChangeEvent;
import com.pi4j.io.gpio.digital.DigitalStateChangeListener;
import one.microproject.rpi.hardware.gpio.sensors.sensors.BMP180;
import one.microproject.rpi.hardware.gpio.sensors.sensors.HTU21DF;
import com.pi4j.io.gpio.digital.PullResistance;
import one.microproject.rpi.hardware.gpio.sensors.impl.BMP180Impl;
import one.microproject.rpi.hardware.gpio.sensors.impl.HTU21DFImpl;
import one.microproject.rpi.powercontroller.config.Configuration;
import one.microproject.rpi.powercontroller.dto.PortMapping;
import one.microproject.rpi.powercontroller.dto.PortType;
Expand All @@ -28,31 +32,36 @@ public class RPiHardwareServiceImpl implements RPiService {

private static final Logger LOG = LoggerFactory.getLogger(RPiHardwareServiceImpl.class);

private final BMP180 bmp180;
private final HTU21DF htu21DF;
private final BMP180Impl bmp180;
private final HTU21DFImpl htu21DF;
private final Map<Integer, DigitalOutput> outPorts;
private final Map<Integer, DigitalInput> inPorts;
private final Map<Integer, PortMapping> portMapping;

public RPiHardwareServiceImpl(PortListener portListener, Configuration configuration) {
LOG.info("Initializing RPi hardware ...");
Context context = Pi4J.newAutoContext();
this.bmp180 = new BMP180(context);
this.htu21DF = new HTU21DF(context);
this.bmp180 = new BMP180Impl(context);
this.htu21DF = new HTU21DFImpl(context);
this.outPorts = new ConcurrentHashMap<>();
this.inPorts = new ConcurrentHashMap<>();
this.portMapping = configuration.getPortsMapping();
this.portMapping.forEach((k, v) -> {
int pinId = v.getAddress();
LOG.info("Initializing port {} pinId={} as {}", k, pinId, v);
if (PortType.OUTPUT.equals(v.getType())) {
DigitalOutput digitalOutput = context.dout().create(pinId);
digitalOutput.low();
//DigitalOutput digitalOutput = context.provider("pigpio-digital-input").context().dout().create(pinId);
DigitalOutputConfigBuilder outConfigBuilder = DigitalOutput.newConfigBuilder(context);
outConfigBuilder.id("button" + pinId).address(pinId).provider("pigpio-digital-input").shutdown(DigitalState.LOW).initial(DigitalState.LOW);
DigitalOutput digitalOutput = context.create(outConfigBuilder);
outPorts.put(k, digitalOutput);
LOG.info("OUTPUT port created");
}
if (PortType.INPUT.equals(v.getType())) {
DigitalInput digitalInput = context.din().create(pinId);
//DigitalInput digitalInput = context.provider("pigpio-digital-input").context().din().create(pinId);
DigitalInputConfigBuilder inConfigBuilder = DigitalInput.newConfigBuilder(context);
inConfigBuilder.id("button" + pinId).address(pinId).provider("pigpio-digital-input").pull(PullResistance.PULL_DOWN);
DigitalInput digitalInput = context.create(inConfigBuilder);
digitalInput.addListener(new PinListener(k, portListener));
inPorts.put(k, digitalInput);
LOG.info("INPUT port created");
Expand All @@ -67,9 +76,9 @@ public RPiHardwareServiceImpl(PortListener portListener, Configuration configura
public Measurements getMeasurements() {
try {
LOG.debug("getMeasurements");
float temperature = bmp180.readTemperature();
float pressure = bmp180.readPressure() / 1000f;
float relHumidity = htu21DF.readHumidity();
float temperature = bmp180.getTemperature();
float pressure = bmp180.getPressure() / 1000f;
float relHumidity = htu21DF.getHumidity();
return new Measurements(new Date(), temperature, "celsius", relHumidity, "percent", pressure, "kPa");
} catch (Exception e) {
LOG.error("ERROR: ", e);
Expand Down

0 comments on commit 4e5c43a

Please sign in to comment.