Embrio Forum
»
Embrio Support
»
Issues and Bugs
»
FireTrigger required in uploaded mode, not in connected mode
Rank: Member
Groups: BetaUser, Registered Joined: 12/6/2015(UTC) Posts: 10
|
I discovered this after I bought the full version of Embrio; the code this MWE is based on worked in connected mode, but then failed in uploaded mode. This led to the unfortunate experience of buying Embrio only to have my code fail as soon as I tried to use it. In connected mode, it is possible to fire a trigger by directly writing to an Output_Trigger; the same code fails in uploaded mode. For example, the following MWE blinks the pin 13 LED in connected mode, but leaves it unlit in uploaded mode:
<EmbrioCopy> <Version>1.3.5.0</Version> <Nodes> <Node> <UniqueID>e6a136a7-e0a5-4a97-84a3-093c266fbe46</UniqueID> <AssemblyType>Embrio.NodeEngine.AgentController.Nodes.AgentControllerCustomArduinoNode</AssemblyType> <NodeType>Custom Arduino Node</NodeType> <UserDefinedName></UserDefinedName> <Description>A node that lets you write any Arduino code to interact with the Arduino hardware. Can be both an input and output.</Description> <NodeColor>144,183,227,255</NodeColor> <X>0</X> <Y>0</Y> <Width>438</Width> <IncludeCode></IncludeCode> <DeclerationCode>int i = 0;</DeclerationCode> <SetupCode></SetupCode> <ImageName>arduino.png</ImageName> <InfoURL></InfoURL> <IsOpen>True</IsOpen> <EditWidth>360</EditWidth> <CodeDefinitions> <CodeDefinition> <UpdateCondition>EveryUpdate</UpdateCondition> <Code>if ( (i++)%8 == 0 ) { Output_Trigger = true; }</Code> <UniqueID>cff76473-d795-4f10-8e4c-392db93862ff</UniqueID> </CodeDefinition> </CodeDefinitions> <Inputs></Inputs> <Outputs> <Output> <UniqueID>310aa4d4-29b8-44c0-8bce-c04de2f948f3</UniqueID> <DefinitionID>00000000-0000-0000-0000-000000000000</DefinitionID> <DefaultName>Trigger</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>False</IsNative> <TypeName>Trigger</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.TriggerNodeOutput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>True</IsUserAdded> </Output> </Outputs> </Node> <Node> <UniqueID>fb957216-c451-48cd-a68f-4f4cf2923a65</UniqueID> <AssemblyType>Embrio.NodeEngine.AgentController.Nodes.AgentControllerOutputNode</AssemblyType> <NodeType>Controller Output</NodeType> <UserDefinedName></UserDefinedName> <Description>Sets either an analog or digital output pin on the Arduino.</Description> <NodeColor>144,183,227,255</NodeColor> <X>818</X> <Y>72</Y> <Width>260</Width> <PinType>Digital</PinType> <RangeMin>0</RangeMin> <RangeMax>255</RangeMax> <Pin>D13</Pin> <UpdateCondition>InputChange</UpdateCondition> <DebugIndex>0</DebugIndex> <DebugBoolIndex>0</DebugBoolIndex> <Inputs> <Input> <UniqueID>4892f98c-5783-421e-ab88-e3d63e0dee0e</UniqueID> <DefinitionID>00000000-0000-0000-0000-000000000000</DefinitionID> <DefaultName>Activation</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>True</IsNative> <TypeName>Numeric</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.NumericNodeInput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>False</IsUserAdded> <ConnectedOutputs> <Output>b418ad25-caac-40c2-9d79-8ae09e5e75e0</Output> </ConnectedOutputs> <BlendMode>Add</BlendMode> <DisconnectedValue>0</DisconnectedValue> <UseNegativeRange>False</UseNegativeRange> <CanUseNegativeRange>True</CanUseNegativeRange> </Input> </Inputs> <Outputs></Outputs> </Node> <Node> <UniqueID>6171c50f-9b64-40d9-a5f2-0aa07a9e7410</UniqueID> <AssemblyType>Embrio.NodeEngine.AgentController.Nodes.DynamicNode</AssemblyType> <NodeType>Switch</NodeType> <UserDefinedName></UserDefinedName> <Description></Description> <NodeColor>229,229,197,255</NodeColor> <X>524</X> <Y>26</Y> <Width>260</Width> <DefinitionID>13030c99-98ce-4f5b-bdc5-5ee155eac37c</DefinitionID> <Inputs> <Input> <UniqueID>91594046-cc7b-4d70-a05e-a05d3ceb482e</UniqueID> <DefinitionID>a8114d67-28ba-43a7-b292-5065f966dde3</DefinitionID> <DefaultName>On Value</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>False</IsNative> <TypeName>Numeric</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.NumericNodeInput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>False</IsUserAdded> <ConnectedOutputs></ConnectedOutputs> <BlendMode>Add</BlendMode> <DisconnectedValue>1</DisconnectedValue> <UseNegativeRange>False</UseNegativeRange> <CanUseNegativeRange>True</CanUseNegativeRange> </Input> <Input> <UniqueID>c402808d-2dd3-48d8-8e92-7344aa63a987</UniqueID> <DefinitionID>88d36748-1367-442a-997a-1055f1fe32f4</DefinitionID> <DefaultName>Off Value</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>False</IsNative> <TypeName>Numeric</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.NumericNodeInput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>False</IsUserAdded> <ConnectedOutputs></ConnectedOutputs> <BlendMode>Add</BlendMode> <DisconnectedValue>0</DisconnectedValue> <UseNegativeRange>False</UseNegativeRange> <CanUseNegativeRange>True</CanUseNegativeRange> </Input> <Input> <UniqueID>669769ac-8647-48c3-8e96-3c5455fb6b51</UniqueID> <DefinitionID>b53a92f7-c2ee-4c85-a58b-3bbc75dafae0</DefinitionID> <DefaultName>Turn On</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>False</IsNative> <TypeName>Trigger</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.TriggerNodeInput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>False</IsUserAdded> <ConnectedOutputs></ConnectedOutputs> </Input> <Input> <UniqueID>a5aa961c-71ff-444e-9ef6-5b04f86cd078</UniqueID> <DefinitionID>f892a324-2a05-4132-bbe1-e4038aad4f0f</DefinitionID> <DefaultName>Turn Off</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>False</IsNative> <TypeName>Trigger</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.TriggerNodeInput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>False</IsUserAdded> <ConnectedOutputs></ConnectedOutputs> </Input> <Input> <UniqueID>bb11ae42-9de1-4af3-a39b-69107a52153f</UniqueID> <DefinitionID>e6265564-36b2-4ca6-8da9-4516345f3a7e</DefinitionID> <DefaultName>Toggle</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>False</IsNative> <TypeName>Trigger</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.TriggerNodeInput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>False</IsUserAdded> <ConnectedOutputs> <Output>310aa4d4-29b8-44c0-8bce-c04de2f948f3</Output> </ConnectedOutputs> </Input> </Inputs> <Outputs> <Output> <UniqueID>b418ad25-caac-40c2-9d79-8ae09e5e75e0</UniqueID> <DefinitionID>5298cec5-3257-4ea1-9ed0-0f06b7be1293</DefinitionID> <DefaultName>Activation</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>False</IsNative> <TypeName>Numeric</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.NumericNodeOutput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>False</IsUserAdded> <MinValue>0</MinValue> <MaxValue>1</MaxValue> <UseNegativeRange>False</UseNegativeRange> <CanUseNegativeRange>True</CanUseNegativeRange> </Output> <Output> <UniqueID>cbab81e6-5735-4f52-b4e7-096ae0da19ed</UniqueID> <DefinitionID>a20f60f2-2608-48db-92cf-90be81dcb5b6</DefinitionID> <DefaultName>Turned On</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>False</IsNative> <TypeName>Trigger</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.TriggerNodeOutput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>False</IsUserAdded> </Output> <Output> <UniqueID>7ac03f52-9596-4930-9288-7312fabedce3</UniqueID> <DefinitionID>c67e21ce-6ec8-4048-9973-3cedb4ee8927</DefinitionID> <DefaultName>Turned Off</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>False</IsNative> <TypeName>Trigger</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.TriggerNodeOutput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>False</IsUserAdded> </Output> <Output> <UniqueID>91ad5b6a-190b-41a3-8029-ffcddb0da5b0</UniqueID> <DefinitionID>52f1e9c7-efa8-48db-8a10-7dd671aa74ae</DefinitionID> <DefaultName>Toggled</DefaultName> <CustomName></CustomName> <IsDisplayed>True</IsDisplayed> <IsNative>False</IsNative> <TypeName>Trigger</TypeName> <IsOutsideConnection>False</IsOutsideConnection> <IOType>Embrio.NodeEngine.NodeIO.TriggerNodeOutput</IOType> <ShowGraph>False</ShowGraph> <LinkedIOID>00000000-0000-0000-0000-000000000000</LinkedIOID> <IsUserAdded>False</IsUserAdded> </Output> </Outputs> </Node> </Nodes> </EmbrioCopy>
On the other hand, replacing the direct assignment to Output_Trigger with FireTrigger(Output_Trigger) causes both connected and uploaded modes to behave the same.
|
|
|
|
Rank: Administration
Groups: Administrators
Joined: 12/11/2014(UTC) Posts: 661
Thanks: 1 times Was thanked: 109 time(s) in 104 post(s)
|
Perfect bug report, thanks! I've got it fixed and it'll be in the next installer a little later this week.
|
|
|
|
Embrio Forum
»
Embrio Support
»
Issues and Bugs
»
FireTrigger required in uploaded mode, not in connected mode
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.