Skip to content
probonopd edited this page Apr 17, 2022 · 24 revisions

This page contains information relevant for developers.

Naming conventions

MiniDexed is based on Circle, a C++ bare metal environment for Raspberry Pi with USB (32 and 64 bit). The following naming conventions are used:

  • Identifiers for types and variables will be written this way: "MyExampleIdentifier" (each word starts with an uppercase letter).
  • Class names start with a "C", other types (struct, enum) with a "T".
  • Member variable names of a class start with a "m_", static variables in a class definition with a "s_".
  • Variable names get a prefix, which specify its (simple) standard type. This prefix follows the "m_" or "s_", if it is used. Variables of complex types do not have such prefix (except a "p" for pointer). Only one of these prefixes is used (i.e. "puch" for a pointer to an unsigned char is not used, use only "p" instead):
uch	unsigned char, u8, uint8_t
us	unsigned short u16, uint16_t
ul	unsigned long
ch	signed char, s8, int8_t
s	signed short, s16, int16_t
l	signed long
n	unsigned, int, u32, s32, uint32_t, int32_t, or any other (non-float) numeric variable
f	float, double
b	bool, boolean
p	Pointer to a simple or complex type

Updating Synth_Dexed git submodule

From time to time, developers need to update a git submodule, such as Synth_Dexed. This example shows how to do this on a Pull Request:

git clone https://github.com/probonopd/MiniDexed
git pull origin pull/93/head             # PR #93
git checkout FETCH_HEAD
cd MiniDexed
git submodule update --init --recursive
cd Synth_Dexed
git fetch
git checkout abcdef                      # some hash
cd ..
git add Synth_Dexed
git commit -m "Submodule updated"
git push
Clone this wiki locally