up
authorMart Lubbers <mart@martlubbers.net>
Fri, 23 Jun 2017 18:24:17 +0000 (20:24 +0200)
committerMart Lubbers <mart@martlubbers.net>
Fri, 23 Jun 2017 18:24:17 +0000 (20:24 +0200)
Devices/mTaskDevice.icl
Shares/mTaskShare.icl
Utils/SDS.icl
client/task.h

index a91a0b3..36623bd 100644 (file)
@@ -94,16 +94,16 @@ connectDevice procFun device = let ch = channels device
                = withDevices device (\d->{d & deviceTask=Nothing, deviceError=Just e}) @! ()
 
 manageDevices :: (MTaskDevice (Shared Channels) -> Task ()) -> Task ()
-manageDevices processFun = get deviceStoreNP >>= \ds->anyTask [
-               addDevice processFun <<@ Title "Add new device" @! ()]//:
-//                     [viewDevice processFun d <<@ Title d.deviceName\\d<-ds]]
+manageDevices processFun = whileUnchanged deviceStoreNP $ \ds->anyTask [
+               addDevice processFun <<@ Title "Add new device" @! ():
+                       [viewDevice processFun d <<@ Title d.deviceName\\d<-ds]]
        <<@ ArrangeWithTabs
        @! ()
 
 viewDevice :: (MTaskDevice (Shared Channels) -> Task ()) MTaskDevice -> Task ()
 viewDevice pf d = forever $ traceValue "viewDevice" >>| anyTask 
                [viewInformation "Device settings" [] d @! ()
-               /*,viewSharedInformation "Channels" [ViewAs dropEmpty] (channels d) @! ()*/
+               ,viewSharedInformation "Channels" [ViewAs dropEmpty] (channels d) @! ()
                ,forever $ 
                        enterChoice "Delete task on device" [ChooseFromGrid id] d.deviceTasks
                        >>* [OnAction (Action "Delete") $ ifValue (\t->t.ident <> -1) (deviceTaskDelete d)]
index e8ed9a2..d3dea6b 100644 (file)
@@ -13,10 +13,10 @@ from StdFunc import flip
 derive class iTask MTaskShare
 
 manageShares :: Task [MTaskDevice]
-manageShares = viewInformation "" [] []//whileUnchanged deviceStoreNP
-//     $ \devs->case devs of
-//             [] = viewInformation "No devices yet" [] []
-//             _ = allTasks (map manageSharesOnDevice devs)
+manageShares = whileUnchanged deviceStoreNP
+       $ \devs->case devs of
+               [] = viewInformation "No devices yet" [] []
+               _ = allTasks (map manageSharesOnDevice devs)
 
 manageSharesOnDevice :: MTaskDevice -> Task MTaskDevice
 manageSharesOnDevice dev = (case dev.deviceShares of
index f90c029..e23e767 100644 (file)
@@ -63,10 +63,8 @@ where
        notifyPred (Just (d1, i1)) (Just (d2, i2)) = d1 == d2 && i1 == i2
 
 realDeviceStore :: Shared [MTaskDevice]
-realDeviceStore = memoryShare "mTaskDevices" []
-
-bcStateStore :: Shared BCState
-bcStateStore = memoryShare "mTaskBCState" zero
+realDeviceStore = sharedStore "mTaskDevices" []
+//realDeviceStore = memoryShare "mTaskDevices" []
 
 mTaskTaskStore :: Shared [String]
 mTaskTaskStore = memoryShare "mTaskTasks" $ 'DM'.keys allmTasks
index 253558e..41ff04a 100644 (file)
@@ -12,7 +12,6 @@ struct task {
        uint16_t interval;
        unsigned long lastrun;
        uint8_t taskid;
-       struct task *next;
        uint8_t *bc;
        char type;
        int value;