mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-29 20:05:13 +08:00
🌴 Sync 2026-03-05 23:51:42
This commit is contained in:
1 parent
97c049ed0a
commit
0acff03804
14253 files changed
+3893239
No files matched your search
@@ -0,0 +1,183 @@
|
||||
---
|
||||
Language: Cpp
|
||||
# BasedOnStyle: Google
|
||||
AccessModifierOffset: -1
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveMacros: false
|
||||
AlignConsecutiveAssignments: false
|
||||
AlignConsecutiveBitFields: false
|
||||
AlignConsecutiveDeclarations: false
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: Align
|
||||
AlignTrailingComments: true
|
||||
AllowAllArgumentsOnNextLine: true
|
||||
AllowAllConstructorInitializersOnNextLine: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortEnumsOnASingleLine: true
|
||||
AllowShortBlocksOnASingleLine: Never
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: All
|
||||
AllowShortLambdasOnASingleLine: All
|
||||
AllowShortIfStatementsOnASingleLine: WithoutElse
|
||||
AllowShortLoopsOnASingleLine: true
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: true
|
||||
AlwaysBreakTemplateDeclarations: Yes
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: false
|
||||
AfterClass: false
|
||||
AfterControlStatement: Never
|
||||
AfterEnum: false
|
||||
AfterFunction: false
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: false
|
||||
AfterUnion: false
|
||||
AfterExternBlock: false
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
BeforeLambdaBody: false
|
||||
BeforeWhile: false
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeBraces: Attach
|
||||
BreakBeforeInheritanceComma: false
|
||||
BreakInheritanceList: BeforeColon
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializersBeforeComma: false
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakStringLiterals: true
|
||||
ColumnLimit: 80
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
CompactNamespaces: false
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: true
|
||||
DeriveLineEnding: true
|
||||
DerivePointerAlignment: true
|
||||
DisableFormat: false
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
FixNamespaceComments: true
|
||||
ForEachMacros:
|
||||
- foreach
|
||||
- Q_FOREACH
|
||||
- BOOST_FOREACH
|
||||
IncludeBlocks: Regroup
|
||||
IncludeCategories:
|
||||
- Regex: '^<ext/.*\.h>'
|
||||
Priority: 2
|
||||
SortPriority: 0
|
||||
- Regex: '^<.*\.h>'
|
||||
Priority: 1
|
||||
SortPriority: 0
|
||||
- Regex: '^<.*'
|
||||
Priority: 2
|
||||
SortPriority: 0
|
||||
- Regex: '.*'
|
||||
Priority: 3
|
||||
SortPriority: 0
|
||||
IncludeIsMainRegex: '([-_](test|unittest))?$'
|
||||
IncludeIsMainSourceRegex: ''
|
||||
IndentCaseLabels: true
|
||||
IndentCaseBlocks: false
|
||||
IndentGotoLabels: true
|
||||
IndentPPDirectives: None
|
||||
IndentExternBlock: AfterExternBlock
|
||||
IndentWidth: 2
|
||||
IndentWrappedFunctionNames: false
|
||||
InsertTrailingCommas: None
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: true
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: None
|
||||
ObjCBinPackProtocolList: Never
|
||||
ObjCBlockIndentWidth: 2
|
||||
ObjCBreakBeforeNestedBlockParam: true
|
||||
ObjCSpaceAfterProperty: false
|
||||
ObjCSpaceBeforeProtocolList: true
|
||||
PenaltyBreakAssignment: 2
|
||||
PenaltyBreakBeforeFirstCallParameter: 1
|
||||
PenaltyBreakComment: 300
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyBreakTemplateDeclaration: 10
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyReturnTypeOnItsOwnLine: 200
|
||||
PointerAlignment: Left
|
||||
RawStringFormats:
|
||||
- Language: Cpp
|
||||
Delimiters:
|
||||
- cc
|
||||
- CC
|
||||
- cpp
|
||||
- Cpp
|
||||
- CPP
|
||||
- 'c++'
|
||||
- 'C++'
|
||||
CanonicalDelimiter: ''
|
||||
BasedOnStyle: google
|
||||
- Language: TextProto
|
||||
Delimiters:
|
||||
- pb
|
||||
- PB
|
||||
- proto
|
||||
- PROTO
|
||||
EnclosingFunctions:
|
||||
- EqualsProto
|
||||
- EquivToProto
|
||||
- PARSE_PARTIAL_TEXT_PROTO
|
||||
- PARSE_TEST_PROTO
|
||||
- PARSE_TEXT_PROTO
|
||||
- ParseTextOrDie
|
||||
- ParseTextProtoOrDie
|
||||
- ParseTestProto
|
||||
- ParsePartialTestProto
|
||||
CanonicalDelimiter: ''
|
||||
BasedOnStyle: google
|
||||
ReflowComments: true
|
||||
SortIncludes: true
|
||||
SortUsingDeclarations: true
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceAfterLogicalNot: false
|
||||
SpaceAfterTemplateKeyword: true
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeCpp11BracedList: false
|
||||
SpaceBeforeCtorInitializerColon: true
|
||||
SpaceBeforeInheritanceColon: true
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceBeforeRangeBasedForLoopColon: true
|
||||
SpaceInEmptyBlock: false
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 2
|
||||
SpacesInAngles: false
|
||||
SpacesInConditionalStatement: false
|
||||
SpacesInContainerLiterals: true
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInParentheses: false
|
||||
SpacesInSquareBrackets: false
|
||||
SpaceBeforeSquareBrackets: false
|
||||
Standard: Auto
|
||||
StatementMacros:
|
||||
- Q_UNUSED
|
||||
- QT_REQUIRE_VERSION
|
||||
IndentWidth: 8
|
||||
TabWidth: 8
|
||||
UseCRLF: false
|
||||
UseTab: Always
|
||||
WhitespaceSensitiveMacros:
|
||||
- STRINGIZE
|
||||
- PP_STRINGIZE
|
||||
- BOOST_PP_STRINGIZE
|
||||
...
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,216 @@
|
||||
/*
|
||||
* MIT License
|
||||
|
||||
Copyright (c) 2017 DeeplyEmbedded
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
* SSD1306_OLED.h
|
||||
*
|
||||
* Created on : Sep 21, 2017
|
||||
* Author : Vinay Divakar
|
||||
* Website : www.deeplyembedded.org
|
||||
*/
|
||||
|
||||
#ifndef SSD1306_OLED_H_
|
||||
#define SSD1306_OLED_H_
|
||||
|
||||
/* Lib's */
|
||||
#include <stdbool.h>
|
||||
|
||||
/* Find Min and Max - MACROS */
|
||||
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
|
||||
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
|
||||
|
||||
/* I2C Address of SSD1306 */
|
||||
#define SSD1306_OLED_ADDR 0x3C
|
||||
#define DISPLAY_BUFF_SIZE (SSD1306_LCDWIDTH * SSD1306_LCDHEIGHT / 8)
|
||||
|
||||
/* COLOR MACROS */
|
||||
#define WHITE 1
|
||||
#define BLACK 0
|
||||
#define INVERSE 2
|
||||
|
||||
/* Number output format */
|
||||
#define DEC 10
|
||||
#define HEX 16
|
||||
#define OCT 8
|
||||
#define BIN 2
|
||||
#define DEFAULT 0
|
||||
|
||||
/*D/C# bit is '0' indicating that following
|
||||
* byte is a command. '1' is for data
|
||||
*/
|
||||
#define SSD1306_CNTRL_CMD 0x00
|
||||
#define SSD1306_CNTRL_DATA 0x40
|
||||
|
||||
/*-----------------------Enable the WxL of the Display
|
||||
* ---------------------------*/
|
||||
//#define SSD1306_128_64
|
||||
#define SSD1306_128_32
|
||||
//#define SSD1306_96_16
|
||||
/*--------------------------------------------------------------------------------*/
|
||||
|
||||
/* LCD HxW i.e. 64x128 || WxL i.e. 128x64 */
|
||||
#if defined SSD1306_128_64
|
||||
#define SSD1306_LCDWIDTH 128
|
||||
#define SSD1306_LCDHEIGHT 64
|
||||
#endif
|
||||
#if defined SSD1306_128_32
|
||||
#define SSD1306_LCDWIDTH 128
|
||||
#define SSD1306_LCDHEIGHT 32
|
||||
#endif
|
||||
#if defined SSD1306_96_16
|
||||
#define SSD1306_LCDWIDTH 96
|
||||
#define SSD1306_LCDHEIGHT 16
|
||||
#endif
|
||||
|
||||
/* SSD1306 Commands */
|
||||
#define SSD1306_DISPLAY_OFF 0xAE
|
||||
#define SSD1306_SET_DISP_CLK 0xD5
|
||||
#define SSD1306_SET_MULTIPLEX 0xA8
|
||||
#define SSD1306_SET_DISP_OFFSET 0xD3
|
||||
#define SSD1306_SET_DISP_START_LINE 0x40
|
||||
#define SSD1306_CONFIG_CHARGE_PUMP 0x8D
|
||||
#define SSD1306_SET_MEM_ADDR_MODE 0x20
|
||||
#define SSD1306_SEG_REMAP (0xA0 | 0x01)
|
||||
#define SSD1306_SEG_REMAP1 0xA0
|
||||
#define SSD1306_SET_COMSCANDEC 0xC8
|
||||
#define SSD1306_SET_COMSCANDEC1 0xC0
|
||||
#define SSD1306_SET_COMPINS 0xDA
|
||||
#define SSD1306_SET_CONTRAST 0x81
|
||||
#define SSD1306_SET_PRECHARGE 0xD9
|
||||
#define SSD1306_SET_VCOMDETECT 0xDB
|
||||
#define SSD1306_DISPLAYALLON_RESUME 0xA4
|
||||
#define SSD1306_NORMAL_DISPLAY 0xA6
|
||||
#define SSD1306_DISPLAYON 0xAF
|
||||
#define SSD1306_SET_COL_ADDR 0x21
|
||||
#define SSD1306_PAGEADDR 0x22
|
||||
#define SSD1306_INVERT_DISPLAY 0x01
|
||||
#define SSD1306_NORMALIZE_DISPLAY 0x00
|
||||
|
||||
/* SDD1306 Scroll Commands */
|
||||
#define SSD1306_SET_VERTICAL_SCROLL_AREA 0xA3
|
||||
#define SSD1306_ACTIVATE_SCROLL 0x2F
|
||||
#define SSD1306_DEACTIVATE_SCROLL 0x2E
|
||||
#define SSD1306_RIGHT_HORIZONTAL_SCROLL 0x26
|
||||
#define SSD1306_LEFT_HORIZONTAL_SCROLL 0x27
|
||||
#define SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL 0x29
|
||||
#define SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL 0x2A
|
||||
#define SSD1306_INVERTDISPLAY 0xA7
|
||||
|
||||
/* SSD1306 Configuration Commands */
|
||||
#define SSD1306_DISPCLK_DIV 0x80
|
||||
#if defined SSD1306_128_64
|
||||
#define SSD1306_MULT_64 0x3F
|
||||
#endif
|
||||
#if defined SSD1306_128_32
|
||||
#define SSD1306_MULT_64 0x1F
|
||||
#endif
|
||||
#define SSD1306_MULT_64 0x1F
|
||||
#define SSD1306_DISP_OFFSET_VAL 0x00
|
||||
#define SSD1306_COL_START_ADDR 0x00 // Reset to = 0
|
||||
#define SSD1306_COL_END_ADDR (SSD1306_LCDWIDTH - 1) // Reset to = 127
|
||||
#define SSD1306_PG_START_ADDR 0x00
|
||||
#define SSD1306_PG_END_ADDR 7
|
||||
#define SSD1306_CHARGE_PUMP_EN 0x14
|
||||
#if defined SSD1306_128_64
|
||||
#define SSD1306_CONFIG_COM_PINS 0x12
|
||||
#endif
|
||||
#if defined SSD1306_128_32
|
||||
#define SSD1306_CONFIG_COM_PINS 0x02
|
||||
#endif
|
||||
#define SSD1306_CONTRAST_VAL 0xCF // 207
|
||||
#define SSD1306_PRECHARGE_VAL 0xF1
|
||||
#define SSD1306_VCOMH_VAL 0x40
|
||||
#define SSD1306_MULT_DAT (SSD1306_LCDHEIGHT - 1)
|
||||
#define SSD1306_HOR_MM 0x00
|
||||
|
||||
/*SSD1306 Display API's */
|
||||
extern void clearDisplay();
|
||||
extern void display_Init_seq();
|
||||
extern void Display();
|
||||
extern void Init_Col_PG_addrs(unsigned char col_start_addr,
|
||||
unsigned char col_end_addr,
|
||||
unsigned char pg_start_addr,
|
||||
unsigned char pg_end_addr);
|
||||
extern void setRotation(unsigned char x);
|
||||
extern void startscrollright(unsigned char start, unsigned char stop);
|
||||
extern void startscrollleft(unsigned char start, unsigned char stop);
|
||||
extern void startscrolldiagright(unsigned char start, unsigned char stop);
|
||||
extern void startscrolldiagleft(unsigned char start, unsigned char stop);
|
||||
extern void stopscroll();
|
||||
extern void setCursor(short x, short y);
|
||||
extern short getCursorX();
|
||||
extern short getCursorY();
|
||||
extern unsigned char getRotation();
|
||||
extern void invertDisplay(unsigned char i);
|
||||
extern void display_rotate();
|
||||
extern void display_normal();
|
||||
|
||||
/*SSD1306 Graphics Handling API's */
|
||||
extern signed char drawPixel(short x, short y, short color);
|
||||
extern void writeLine(short x0, short y0, short x1, short y1, short color);
|
||||
extern void drawCircleHelper(short x0, short y0, short r,
|
||||
unsigned char cornername, short color);
|
||||
extern void drawLine(short x0, short y0, short x1, short y1, short color);
|
||||
extern void drawRect(short x, short y, short w, short h, short color);
|
||||
extern void fillRect(short x, short y, short w, short h, short color);
|
||||
extern void drawCircle(short x0, short y0, short r, short color);
|
||||
extern void fillCircleHelper(short x0, short y0, short r,
|
||||
unsigned char cornername, short delta,
|
||||
short color);
|
||||
extern void fillCircle(short x0, short y0, short r, short color);
|
||||
extern void drawTriangle(short x0, short y0, short x1, short y1, short x2,
|
||||
short y2, short color);
|
||||
extern void fillTriangle(short x0, short y0, short x1, short y1, short x2,
|
||||
short y2, short color);
|
||||
extern void drawRoundRect(short x, short y, short w, short h, short r,
|
||||
short color);
|
||||
extern void fillRoundRect(short x, short y, short w, short h, short r,
|
||||
short color);
|
||||
extern void drawBitmap(short x, short y, const unsigned char bitmap[], short w,
|
||||
short h, short color);
|
||||
extern short oled_write(unsigned char c);
|
||||
|
||||
/*SSD1306 Text and Character Handling API's */
|
||||
extern void setTextSize(unsigned char s);
|
||||
extern void setTextColor(short c);
|
||||
extern void setTextWrap(bool w);
|
||||
extern void drawChar(short x, short y, unsigned char c, short color, short bg,
|
||||
unsigned char size);
|
||||
extern short print_str(const unsigned char *strPtr);
|
||||
extern short println();
|
||||
extern short print_strln(const unsigned char *strPtr);
|
||||
|
||||
/*SSD1306 Number Handling API's */
|
||||
extern short printNumber(unsigned long n, unsigned char base);
|
||||
extern short printNumber_UL(unsigned long n, int base);
|
||||
extern short printNumber_UL_ln(unsigned long num, int base);
|
||||
extern short printNumber_UI(unsigned int n, int base);
|
||||
extern short printNumber_UI_ln(unsigned int n, int base);
|
||||
extern short printNumber_UC(unsigned char b, int base);
|
||||
extern short printNumber_UC_ln(unsigned char b, int base);
|
||||
extern short printNumber_L(long n, int base);
|
||||
extern short printNumber_L_ln(long num, int base);
|
||||
extern short printNumber_I(int n, int base);
|
||||
extern short printNumber_I_ln(int n, int base);
|
||||
extern short printFloat(double number, unsigned char digits);
|
||||
extern short printFloat_ln(double num, int digits);
|
||||
#endif /* SSD1306_OLED_H_ */
|
||||
@@ -0,0 +1,18 @@
|
||||
#ifndef _GFXFONT_H_
|
||||
#define _GFXFONT_H_
|
||||
|
||||
typedef struct { // Data stored PER GLYPH
|
||||
unsigned short bitmapOffset; // Pointer into GFXfont->bitmap
|
||||
unsigned char width, height; // Bitmap dimensions in pixels
|
||||
unsigned char xAdvance; // Distance to advance cursor (x axis)
|
||||
char xOffset, yOffset; // Dist from cursor pos to UL corner
|
||||
} GFXglyphT, *GFXglyphPtr;
|
||||
|
||||
typedef struct { // Data stored for FONT AS A WHOLE:
|
||||
unsigned char *bitmap; // Glyph bitmaps, concatenated
|
||||
GFXglyphPtr glyph; // Glyph array
|
||||
unsigned char first, last; // ASCII extents
|
||||
unsigned char yAdvance; // Newline distance (y axis)
|
||||
} GFXfontT, *GFXfontPtr;
|
||||
|
||||
#endif // _GFXFONT_H_
|
||||
Reference in new issue
Block a user