You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
2.7 KiB
115 lines
2.7 KiB
@startuml "Inkplate ESP-IDF Library"
|
|
|
|
package "Inkplate-ESP-IDF" <<rectangle>> {
|
|
|
|
package "ESP-IDF Framework" <<rectangle>> {
|
|
}
|
|
|
|
package "Graphical" <<folder>> {
|
|
class Print
|
|
abstract class Adafruit_GFX
|
|
together group2 {
|
|
abstract class Graphics
|
|
abstract class Image
|
|
class Shapes
|
|
}
|
|
Print <|-- Adafruit_GFX
|
|
}
|
|
|
|
package "ESP-IDF Services" <<folder>> {
|
|
class NetworkClient
|
|
class SDCard << (S,#FF7700) Singleton >>
|
|
class Wire << (S,#FF7700) Singleton >>
|
|
}
|
|
|
|
"ESP-IDF Framework" <.. "ESP-IDF Services"
|
|
|
|
package "Drivers" <<folder>> {
|
|
|
|
together {
|
|
class MCP23017 << (S,#FF7700) Singleton >>
|
|
class TPS65186 << (S,#FF7700) Singleton >>
|
|
}
|
|
together {
|
|
class TouchScreen << (S,#FF7700) Singleton >>
|
|
class TouchKeys << (S,#FF7700) Singleton >>
|
|
}
|
|
|
|
together {
|
|
abstract class EInk
|
|
|
|
package "EInkKind" <<folder>> {
|
|
class EInk6 << (S,#FF7700) Singleton >>
|
|
class EInk6Plus << (S,#FF7700) Singleton >>
|
|
class EInk10 << (S,#FF7700) Singleton >>
|
|
EInk6 -[hidden]-> EInk10
|
|
EInk10 -[hidden]-> EInk6Plus
|
|
}
|
|
}
|
|
' MCP23017 -[hidden]-> TouchKeys
|
|
|
|
EInk -[hidden]> TouchKeys
|
|
TouchKeys -[hidden]- TouchScreen
|
|
|
|
Wire <.. MCP23017
|
|
Wire <.. TPS65186
|
|
TPS65186 <.. EInk
|
|
MCP23017 <.. EInk
|
|
MCP23017 <.. TouchKeys
|
|
MCP23017 <.. TouchScreen
|
|
EInk <|-- EInkKind
|
|
|
|
}
|
|
|
|
"EInkKind" -right[hidden] EInk
|
|
|
|
package "InkPlate" <<folder>> {
|
|
|
|
together group1 {
|
|
class InkPlatePlatform << (S,#FF7700) Singleton >>
|
|
class Inkplate << (S,#FF7700) Singleton >>
|
|
}
|
|
|
|
Graphics <|-- Inkplate
|
|
InkPlatePlatform <.. Inkplate
|
|
Adafruit_GFX <|-- Image
|
|
Image <|-- Graphics
|
|
Shapes <|-- Graphics
|
|
Drivers <.. InkPlatePlatform
|
|
"ESP-IDF Services" <.. InkPlatePlatform
|
|
|
|
' EInkKind <.. InkPlatePlatform
|
|
|
|
' EInk <.. Inkplate
|
|
}
|
|
|
|
"Drivers" -left[hidden]- "Inkplate"
|
|
|
|
package "User App" <<folder>> {
|
|
class MainApp
|
|
}
|
|
|
|
Inkplate --o MainApp
|
|
|
|
package "FrameBuffers" <<folder>> {
|
|
abstract class FrameBuffer
|
|
abstract class FrameBuffer1Bit
|
|
abstract class FrameBuffer3Bit
|
|
class FrameBuffer1BitX
|
|
class FrameBuffer3BitX
|
|
FrameBuffer <|-- FrameBuffer1Bit
|
|
FrameBuffer <|-- FrameBuffer3Bit
|
|
FrameBuffer1Bit <|-- FrameBuffer1BitX
|
|
FrameBuffer3Bit <|-- FrameBuffer3BitX
|
|
}
|
|
|
|
' FrameBuffers <|-- EInkKind
|
|
' FrameBuffers -right[hidden]- EInkKind
|
|
FrameBuffer1Bit --o Graphics
|
|
Graphical -left[hidden]- FrameBuffers
|
|
' Inkplate -left[hidden]- Graphical
|
|
' Inkplate ..> EInk
|
|
|
|
}
|
|
|
|
@enduml
|