PETRONE / BLE / Protocol / Definitions
Modified : 2018.10.8
Petrone에서 사용하고 있는 기본 정의들을 소개합니다.
- Protocol::CommandType::Type
- System::DeviceType::Type
- System::ModeUpdate::Type
- System::ImageType::Type
- System::ModeVehicle::Type
- System::ModeSystem::Type
- System::ModeFlight::Type
- System::ModeDrive::Type
- System::SensorOrientation::Type
- System::Direction::Type
- System::Coordinate::Type
- System::Trim::Type
- System::FlightEvent::Type
- Light::Mode::Type
- Light::Colors::Type
Protocol::CommandType::Type
CommandBase 구조체에서 commandType 변수에 사용합니다.
namespace Protocol
{
namespace CommandType
{
enum Type
{
None = 0, // 없음
// 설정
ModeVehicle = 0x10, // 동작 모드 전환
// 제어
Coordinate = 0x20, // 좌표 기준 변경
Trim, // 트림 변경
FlightEvent, // 비행 이벤트 실행
DriveEvent, // 주행 이벤트 실행
Stop, // 정지
ResetHeading = 0x50, // 방향 초기화
ClearGyroBiasAndTrim, // 자이로 바이어스와 트림 설정 초기화
ClearTrim, // 트림 초기화
TestFlight, // 테스트 비행(자이로 바이어스, 트림 초기화 됨)
// 요청
Request = 0x90, // 지정한 타입의 데이터 요청
EndOfType
};
}
}
System::DeviceType::Type
장치 타입.
펌웨어 정보를 요청할 때 사용합니다.
namespace System
{
namespace DeviceType
{
enum Type
{
None,
PetroneMain,
PetroneSub,
Link,
EndOfType
};
}
}
System::ModeUpdate::Type
펌웨어 업데이트 동작 상태.
namespace System
{
namespace ModeUpdate
{
enum Type
{
None, // 업데이트 불가능 상태(Debug 모드 등)
Ready, // 업데이트 가능 상태
Update, // 업데이트 중
Complete, // 업데이트 완료
Failed, // 업데이트 실패(업데이트 완료까지 갔으나 body의 CRC16이 일치하지 않는 경우)
EndOfType
};
}
}
System::ImageType::Type
펌웨어 이미지 타입.
namespace System
{
namespace ImageType
{
enum Type
{
None,
// 현재 장치의 이미지
ImageA,
ImageB,
// 펌웨어 이미지
RawImageA,
RawImageB,
EncryptedImageA,
EncryptedImageB,
// 현재 장치의 이미지
ImageSingle,
// 현재 장치의 이미지
RawImageSingle,
EncryptedImageSingle,
EndOfType
};
}
}
System::ModeVehicle::Type
페트론 동작 모드를 선택합니다.
namespace System
{
namespace ModeVehicle
{
enum Type
{
None = 0, // 없음
Flight = 0x10, // 비행(가드 포함)
FlightNoGuard, // 비행(가드 없음)
FlightFPV, // 비행(FPV)
Drive = 0x20, // 주행
DriveFPV, // 주행(FPV)
EndOfType
};
}
}
System::ModeSystem::Type
시스템 동작 상태를 나타냅니다.
namespace System
{
namespace ModeSystem
{
enum Type
{
None = 0, // 없음
Boot, // 부팅
Wait, // 연결 대기 상태
Ready, // 대기 상태
Running, // 메인 코드 동작
Update, // 펌웨어 업데이트
UpdateComplete, // 펌웨어 업데이트 완료
Error, // 오류
EndOfType
};
}
}
System::ModeFlight::Type
비행 제어기 동작 상태를 나타냅니다.
namespace System
{
namespace ModeFlight
{
enum Type
{
None = 0, // 없음
Ready, // 비행 준비
TakeOff, // 이륙 (Flight로 자동전환)
Flight, // 비행
Flip, // 회전
Stop, // 강제 정지
Landing, // 착륙
Reverse, // 뒤집기
Accident, // 사고 (Ready로 자동전환)
Error, // 오류
EndOfType
};
}
}
System::ModeDrive::Type
자동차 제어기 동작 상태를 나타냅니다.
namespace System
{
namespace ModeDrive
{
enum Type
{
None = 0, // 없음
Ready, // 준비
Start, // 출발
Drive, // 주행
Stop, // 강제 정지
Accident, // 사고 (Ready로 자동전환)
Error, // 오류
EndOfType
};
}
}
System::SensorOrientation::Type
센서 방향을 나타냅니다.
namespace System
{
namespace SensorOrientation
{
enum Type
{
None = 0, // 없음
Normal, // 정상
ReverseStart, // 뒤집히기 시작
Reversed, // 뒤집힘
EndOfType
};
}
}
System::Direction::Type
방향을 나타냅니다.
namespace System
{
namespace Direction
{
enum Type
{
None = 0,
Left,
Front,
Right,
Rear,
EndOfType
};
}
}
System::Coordinate::Type
페트론 조종기 방향 기준을 선택합니다. World는 앱솔루트 모드입니다. 드론 외부 세계를 중심으로 좌표를 판단합니다. Local은 일반모드입니다. 드론을 중심으로 좌표를 판단합니다.
namespace System
{
namespace Coordinate
{
enum Type
{
None = 0, // 없음
World, // 고정 좌표계(Absolute)
Local, // 상대 좌표계(일반)
EndOfType
};
}
}
System::Trim::Type
페트론이 한쪽 방향으로 흐를 때 반대 방향을 입력하여 호버링을 할 수 있게 조정합니다. 한 번 전송할 때마다 일정하게 값이 변합니다.
namespace System
{
namespace Trim
{
enum Type
{
None = 0, // 없음
RollIncrease, // Roll 증가
RollDecrease, // Roll 감소
PitchIncrease, // Pitch 증가
PitchDecrease, // Pitch 감소
YawIncrease, // Yaw 증가
YawDecrease, // Yaw 감소
ThrottleIncrease, // Throttle 증가
ThrottleDecrease, // Throttle 감소
EndOfType
};
}
}
System::FlightEvent::Type
페트론 비행 이벤트를 실행합니다.
namespace System
{
namespace FlightEvent
{
enum Type
{
None = 0, // 없음
TakeOff, // 이륙
FlipFront, // 회전(Not Yet)
FlipRear, // 회전(Not Yet)
FlipLeft, // 회전(Not Yet)
FlipRight, // 회전(Not Yet)
Stop, // 정지
Landing, // 착륙
Reverse, // 뒤집기
Shot, // 미사일 쏠때 움직임
UnderAttack, // 미사일 맞을때 움직임
EndOfType
};
}
}
Light::Mode::Type
LED 모드 또는 이벤트 명령 시 동작 모드를 지정할 때 사용합니다.
namespace Light
{
namespace Mode
{
enum Type
{
None,
EyeNone = 0x10,
EyeHold, // 지정한 색상을 계속 켬
EyeMix, // 순차적으로 LED 색 변경
EyeFlicker, // 깜빡임
EyeFlickerDouble, // 깜빡임(두 번 깜빡이고 깜빡인 시간만큼 꺼짐)
EyeDimming, // 밝기 제어하여 천천히 깜빡임
ArmNone = 0x40,
ArmHold, // 지정한 색상을 계속 켬
ArmMix, // 순차적으로 LED 색 변경
ArmFlicker, // 깜빡임
ArmFlickerDouble, // 깜빡임(두 번 깜빡이고 깜빡인 시간만큼 꺼짐)
ArmDimming, // 밝기 제어하여 천천히 깜빡임
ArmFlow, // 앞에서 뒤로 흐름
ArmFlowReverse, // 뒤에서 앞으로 흐름
EndOfType
};
}
}
Light::Colors::Type
LED 색상을 지정할 때 사용합니다.
namespace Light
{
namespace Colors
{
enum Type
{
AliceBlue,
AntiqueWhite,
Aqua,
Aquamarine,
Azure,
Beige,
Bisque,
Black,
BlanchedAlmond,
Blue,
BlueViolet,
Brown,
BurlyWood,
CadetBlue,
Chartreuse,
Chocolate,
Coral,
CornflowerBlue,
Cornsilk,
Crimson,
Cyan,
DarkBlue,
DarkCyan,
DarkGoldenRod,
DarkGray,
DarkGreen,
DarkKhaki,
DarkMagenta,
DarkOliveGreen,
DarkOrange,
DarkOrchid,
DarkRed,
DarkSalmon,
DarkSeaGreen,
DarkSlateBlue,
DarkSlateGray,
DarkTurquoise,
DarkViolet,
DeepPink,
DeepSkyBlue,
DimGray,
DodgerBlue,
FireBrick,
FloralWhite,
ForestGreen,
Fuchsia,
Gainsboro,
GhostWhite,
Gold,
GoldenRod,
Gray,
Green,
GreenYellow,
HoneyDew,
HotPink,
IndianRed,
Indigo,
Ivory,
Khaki,
Lavender,
LavenderBlush,
LawnGreen,
LemonChiffon,
LightBlue,
LightCoral,
LightCyan,
LightGoldenRodYellow,
LightGray,
LightGreen,
LightPink,
LightSalmon,
LightSeaGreen,
LightSkyBlue,
LightSlateGray,
LightSteelBlue,
LightYellow,
Lime,
LimeGreen,
Linen,
Magenta,
Maroon,
MediumAquaMarine,
MediumBlue,
MediumOrchid,
MediumPurple,
MediumSeaGreen,
MediumSlateBlue,
MediumSpringGreen,
MediumTurquoise,
MediumVioletRed,
MidnightBlue,
MintCream,
MistyRose,
Moccasin,
NavajoWhite,
Navy,
OldLace,
Olive,
OliveDrab,
Orange,
OrangeRed,
Orchid,
PaleGoldenRod,
PaleGreen,
PaleTurquoise,
PaleVioletRed,
PapayaWhip,
PeachPuff,
Peru,
Pink,
Plum,
PowderBlue,
Purple,
RebeccaPurple,
Red,
RosyBrown,
RoyalBlue,
SaddleBrown,
Salmon,
SandyBrown,
SeaGreen,
SeaShell,
Sienna,
Silver,
SkyBlue,
SlateBlue,
SlateGray,
Snow,
SpringGreen,
SteelBlue,
Tan,
Teal,
Thistle,
Tomato,
Turquoise,
Violet,
Wheat,
White,
WhiteSmoke,
Yellow,
YellowGreen,
EndOfColor
};
}
}
PETRONE
- Intro
- Typedef
- DataType
- Definitions
- Base Structs
- Structs
- Structs - Light
- Firmware Update