fixes to make the hardware stuff actually work
diff --git a/aos/crio/hardware/digital_source.cc b/aos/crio/hardware/digital_source.cc
index 83f6142..1ed6e1c 100644
--- a/aos/crio/hardware/digital_source.cc
+++ b/aos/crio/hardware/digital_source.cc
@@ -1,15 +1,18 @@
 #include "aos/crio/hardware/digital_source.h"
 
+using ::std::unique_ptr;
+
 namespace aos {
 namespace crio {
 namespace hardware {
 
-AnalogTriggerOutput::AnalogTriggerOutput(const ::AnalogTrigger &trigger,
+AnalogTriggerOutput::AnalogTriggerOutput(const unique_ptr< ::AnalogTrigger>
+                                             &trigger,
                                          ::AnalogTriggerOutput::Type type,
                                          float lowerVoltage,
                                          float upperVoltage)
-    : output_(trigger.CreateOutput(type)) {
-  trigger.SetLimitsVoltage(lowerVoltage, upperVoltage);
+    : output_(trigger->CreateOutput(type)) {
+  trigger->SetLimitsVoltage(lowerVoltage, upperVoltage);
 }
 
 }  // namespace hardware