Skip to content

Commit

Permalink
Merge pull request #193 from mcci-catena/issue189
Browse files Browse the repository at this point in the history
Major doc improvement; add cFSM<>
  • Loading branch information
terrillmoore authored Jul 6, 2019
2 parents 3af42bb + 2ac9a34 commit 54e06b4
Show file tree
Hide file tree
Showing 8 changed files with 1,345 additions and 10 deletions.
6 changes: 4 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,9 @@ script:
- _notsamd || arduino --verify $(_samdopts mcci_catena_4470) $THISLIB/examples/catena_hello/catena_hello.ino

#
# test the user-command exapmle on the 4470
# test the user-command example & the fsm example on the 4470
- _notsamd || arduino --verify $(_samdopts mcci_catena_4470) $THISLIB/examples/catena_usercommand/catena_usercommand.ino
- _notsamd || arduino --verify $(_samdopts mcci_catena_4470) $THISLIB/examples/catena_fsm/catena_fsm.ino

#
# test each of the regions on the 4450.
Expand Down Expand Up @@ -157,8 +158,9 @@ script:
- _notstm32l0 || arduino --verify $(_stm32l0opts mcci_catena_4801) $THISLIB/examples/catena_hello/catena_hello_lora.ino

#
# test the user-command exapmle on the 4610
# test the user-command and fsm examples on the 4610
- _notstm32l0 || arduino --verify $(_stm32l0opts mcci_catena_4610) $THISLIB/examples/catena_usercommand/catena_usercommand.ino
- _notstm32l0 || arduino --verify $(_stm32l0opts mcci_catena_4610) $THISLIB/examples/catena_fsm/catena_fsm.ino

# test each of the regions for 4610 (using it as an example). us915 already tested
- _notstm32l0 || arduino --verify $(_stm32l0opts mcci_catena_4610 eu868 ) $THISLIB/examples/catena_hello/catena_hello_lora.ino
Expand Down
490 changes: 483 additions & 7 deletions README.md

Large diffs are not rendered by default.

87 changes: 87 additions & 0 deletions assets/Catena_LoRaWAN.plantuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
@startuml
/'
Module: Catena_LoRaWAN.plantuml
Function:
PlantUML reference source for Catena::LoRaWAN class diagram.
Copyright:
See accompanying LICENSE file at
https:://github.com/mcci-catena/Catena-Arduino-Platform
Author:
Terry Moore, MCCI Corporation July 2019
Notes:
PlantUML images in REAMDE.md are generated by pasting this file into
the server at http://www.plantuml.com/plantuml, and grabbing the
resulting URLs.
'/

hide empty members

package Arduino-LoRaWAN as "MCCI Arduino LoRaWAN Library" {
abstract class Arduino_LoRaWAN

abstract class Arduino_LoRaWAN_machineQ_base as ".._machineQ_base"

class Arduino_LoRaWAN_machineQ_us915 as ".._machineQ_us915"

class Arduino_LoRaWAN_machineQ

abstract class Arduino_LoRaWAN_ttn_base as ".._ttn_base"

class Arduino_LoRaWAN_ttn_eu868 as ".._ttn_eu868"
class Arduino_LoRaWAN_ttn_us915 as ".._ttn_us915"
class Arduino_LoRaWAN_ttn_au921 as ".._ttn_au921"
class Arduino_LoRaWAN_ttn_as923 as ".._ttn_as923"
class Arduino_LoRaWAN_ttn_in866 as ".._ttn_in866"

class Arduino_LoRaWAN_ttn

Arduino_LoRaWAN <|-- Arduino_LoRaWAN_machineQ_base
Arduino_LoRaWAN <|-- Arduino_LoRaWAN_ttn_base
Arduino_LoRaWAN_machineQ_base <|-- Arduino_LoRaWAN_machineQ_us915
Arduino_LoRaWAN_machineQ_us915 <|.. Arduino_LoRaWAN_machineQ
note right on link
Region selected at compile time
by IDE or command line
end note

Arduino_LoRaWAN_ttn_base <|-- Arduino_LoRaWAN_ttn_eu868
Arduino_LoRaWAN_ttn_base <|-- Arduino_LoRaWAN_ttn_us915
Arduino_LoRaWAN_ttn_base <|-- Arduino_LoRaWAN_ttn_au921
Arduino_LoRaWAN_ttn_base <|-- Arduino_LoRaWAN_ttn_as923
Arduino_LoRaWAN_ttn_base <|-- Arduino_LoRaWAN_ttn_in866

Arduino_LoRaWAN_ttn_eu868 <|.. Arduino_LoRaWAN_ttn
Arduino_LoRaWAN_ttn_us915 <|.. Arduino_LoRaWAN_ttn
Arduino_LoRaWAN_ttn_au921 <|.. Arduino_LoRaWAN_ttn
Arduino_LoRaWAN_ttn_as923 <|.. Arduino_LoRaWAN_ttn
Arduino_LoRaWAN_ttn_in866 <|.. Arduino_LoRaWAN_ttn
}

namespace McciCatena {

class cPollableObject
class Catena::LoRaWAN
note right
Some complexity hidden;
Subclasses deal with device
configuration and FRAM
usage.
end note

cPollableObject <|- Catena::LoRaWAN

.Arduino_LoRaWAN_machineQ <|.. Catena::LoRaWAN
note right on link
Network selected at compile time
by IDE or command line.
end note
.Arduino_LoRaWAN_ttn <|.. Catena::LoRaWAN

}
@enduml
59 changes: 59 additions & 0 deletions assets/Catena_PollableInterface.plantuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
@startuml
/'
Module: CatenaBase.plantuml
Function:
PlantUML reference source for cPollableInterface class diagram.
Copyright:
See accompanying LICENSE file
Author:
Terry Moore, MCCI Corporation July 2019
Notes:
PlantUML images in REAMDE.md are generated by pasting this file into
the server at http://www.plantuml.com/plantuml, and grabbing the
resulting URLs. That has to be done several times, with different
values edited into the variables below. The comments in README.md
will tell you what's needed.
'/

hide empty members

namespace McciCatena {

interface cPollableInterface {
+{abstract} ~cPollableInterface()
+{abstract} void poll();
}

class cPollingEngine <<Pollable>> {
+void poll();
+void begin();
+void registerObject(cPollableObject *);
-cPollableObject *m_pHead;
}

abstract class cPollableObject <<Pollable>> {
-cPollableObject *m_pNext;
-cPollableObject *m_pLast;
+{abstract} void poll();
}

cPollableInterface <|-- cPollingEngine
cPollableInterface <|-- cPollableObject
cPollingEngine o-> "0:*" cPollableObject
}
class UserClass1 <<Pollable>> {
+void poll();
}
class UserClass2 as "..." <<Pollable>> {
+void poll();
}
McciCatena.cPollableObject <|--- UserClass1
McciCatena.cPollableObject <|--- UserClass2

@enduml
38 changes: 38 additions & 0 deletions assets/FSMexample.plantuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
@startuml
/'
Module: FSMexample.plantuml
Function:
PlantUML reference source for cFSM state diagram.
Copyright:
See accompanying LICENSE file at
https:://github.com/mcci-catena/Catena-Arduino-Platform
Author:
Terry Moore, MCCI Corporation July 2019
Notes:
PlantUML images in REAMDE.md are generated by pasting this file into
the server at http://www.plantuml.com/plantuml, and grabbing the
resulting URLs. That has to be done several times, with different
values edited into the variables below. The comments in README.md
will tell you what's needed.
'/

[*] --> stLocked : stInitial

state stLocked
state stUnlocked

stLocked --> stLocked : evPush
stLocked : Entry/ lock the turnstile
stLocked --> stUnlocked : evCoin
stLocked -left-> [*] : shutdown\nstFinal

stUnlocked --> stUnlocked : evCoin
stUnlocked : Entry/ unlock the turnstile
stUnlocked --> stLocked : evPush | shutdown
@enduml
Loading

0 comments on commit 54e06b4

Please sign in to comment.