Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Impl basic information home location attribute #34276

Draft
wants to merge 18 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
f6c3635
Added the AreaTypeTag and HomeLocationStruct to the BasicInformation …
hicklin Jul 5, 2024
024714e
Regenerated zap files
hicklin Jul 5, 2024
d853f33
Added missed generated files.
hicklin Jul 8, 2024
02ace81
Added DeivcLocation to the attributeAccessInterfaceAttributes for the…
hicklin Jul 8, 2024
c3b0760
erge branch 'master' into add_home_location_to_basic_information
hicklin Jul 8, 2024
f9f8d2d
Generated code from xml.
hicklin Jul 8, 2024
e0a8c8e
Added handling of reading and writing the device location.
hicklin Jul 9, 2024
a7b8588
Added the Bisic Information cluster's DeviceLocaation attribute to th…
hicklin Jul 10, 2024
7c94158
Updated the device location attribute to be writeable in the basic in…
hicklin Jul 10, 2024
12409e0
Merge branch 'add_home_location_to_basic_information' into impl_basic…
hicklin Jul 10, 2024
0a0f521
Initial example of storing and getting the Device Location attribute.
hicklin Jul 10, 2024
30ae28e
Implemented methods for storing and getting the DeviceLocation attrib…
hicklin Jul 11, 2024
dcbe505
Restyled by whitespace
restyled-commits Jul 11, 2024
5c4093d
Restyled by clang-format
restyled-commits Jul 11, 2024
b67437b
Added the DeviceLocation key to all targets.
hicklin Jul 11, 2024
76cfea2
Created a new cluster object for the basic infromation culster to all…
hicklin Jul 16, 2024
6d33cae
Replaced the use of ->Decode with DataModel::Decode.
hicklin Jul 16, 2024
316d6d0
Merge branch 'master' into impl_basic_information_home_location_attri…
hicklin Jul 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions examples/air-purifier-app/air-purifier-common/air-purifier-app.matter
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,104 @@ cluster AccessControl = 31 {
cluster BasicInformation = 40 {
revision 3;

enum AreaTypeTag : enum8 {
kAisle = 0;
kAttic = 1;
kBackDoor = 2;
kBackYard = 3;
kBalcony = 4;
kBallroom = 5;
kBathroom = 6;
kBedroom = 7;
kBorder = 8;
kBoxroom = 9;
kBreakfastRoom = 10;
kCarport = 11;
kCellar = 12;
kCloakroom = 13;
kCloset = 14;
kConservatory = 15;
kCorridor = 16;
kCraftRoom = 17;
kCupboard = 18;
kDeck = 19;
kDen = 20;
kDining = 21;
kDrawingRoom = 22;
kDressingRoom = 23;
kDriveway = 24;
kElevator = 25;
kEnsuite = 26;
kEntrance = 27;
kEntryway = 28;
kFamilyRoom = 29;
kFoyer = 30;
kFrontDoor = 31;
kFrontYard = 32;
kGameRoom = 33;
kGarage = 34;
kGarageDoor = 35;
kGarden = 36;
kGardenDoor = 37;
kGuestBathroom = 38;
kGuestBedroom = 39;
kGuestRestroom = 40;
kGuestRoom = 41;
kGym = 42;
kHallway = 43;
kHearthRoom = 44;
kKidsRoom = 45;
kKidsBedroom = 46;
kKitchen = 47;
kLarder = 48;
kLaundryRoom = 49;
kLawn = 50;
kLibrary = 51;
kLivingRoom = 52;
kLounge = 53;
kMediaTVRoom = 54;
kMudRoom = 55;
kMusicRoom = 56;
kNursery = 57;
kOffice = 58;
kOutdoorKitchen = 59;
kOutside = 60;
kPantry = 61;
kParkingLot = 62;
kParlor = 63;
kPatio = 64;
kPlayRoom = 65;
kPoolRoom = 66;
kPorch = 67;
kPrimaryBathroom = 68;
kPrimaryBedroom = 69;
kRamp = 70;
kReceptionRoom = 71;
kRecreationRoom = 72;
kRestroom = 73;
kRoof = 74;
kSauna = 75;
kScullery = 76;
kSewingRoom = 77;
kShed = 78;
kSideDoor = 79;
kSideYard = 80;
kSittingRoom = 81;
kSnug = 82;
kSpa = 83;
kStaircase = 84;
kSteamRoom = 85;
kStorageRoom = 86;
kStudio = 87;
kStudy = 88;
kSunRoom = 89;
kSwimmingPool = 90;
kTerrace = 91;
kUtilityRoom = 92;
kWard = 93;
kWorkshop = 94;
}

enum ColorEnum : enum8 {
kBlack = 0;
kNavy = 1;
Expand Down Expand Up @@ -203,6 +301,12 @@ cluster BasicInformation = 40 {
int16u subscriptionsPerFabric = 1;
}

struct HomeLocationStruct {
char_string<128> locationName = 0;
nullable int16s floorNumber = 1;
nullable AreaTypeTag areaType = 2;
}

struct ProductAppearanceStruct {
ProductFinishEnum finish = 0;
nullable ColorEnum primaryColor = 1;
Expand Down Expand Up @@ -246,6 +350,7 @@ cluster BasicInformation = 40 {
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
readonly attribute int16u maxPathsPerInvoke = 22;
attribute optional nullable HomeLocationStruct deviceLocation = 23;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,104 @@ cluster AccessControl = 31 {
cluster BasicInformation = 40 {
revision 3;

enum AreaTypeTag : enum8 {
kAisle = 0;
kAttic = 1;
kBackDoor = 2;
kBackYard = 3;
kBalcony = 4;
kBallroom = 5;
kBathroom = 6;
kBedroom = 7;
kBorder = 8;
kBoxroom = 9;
kBreakfastRoom = 10;
kCarport = 11;
kCellar = 12;
kCloakroom = 13;
kCloset = 14;
kConservatory = 15;
kCorridor = 16;
kCraftRoom = 17;
kCupboard = 18;
kDeck = 19;
kDen = 20;
kDining = 21;
kDrawingRoom = 22;
kDressingRoom = 23;
kDriveway = 24;
kElevator = 25;
kEnsuite = 26;
kEntrance = 27;
kEntryway = 28;
kFamilyRoom = 29;
kFoyer = 30;
kFrontDoor = 31;
kFrontYard = 32;
kGameRoom = 33;
kGarage = 34;
kGarageDoor = 35;
kGarden = 36;
kGardenDoor = 37;
kGuestBathroom = 38;
kGuestBedroom = 39;
kGuestRestroom = 40;
kGuestRoom = 41;
kGym = 42;
kHallway = 43;
kHearthRoom = 44;
kKidsRoom = 45;
kKidsBedroom = 46;
kKitchen = 47;
kLarder = 48;
kLaundryRoom = 49;
kLawn = 50;
kLibrary = 51;
kLivingRoom = 52;
kLounge = 53;
kMediaTVRoom = 54;
kMudRoom = 55;
kMusicRoom = 56;
kNursery = 57;
kOffice = 58;
kOutdoorKitchen = 59;
kOutside = 60;
kPantry = 61;
kParkingLot = 62;
kParlor = 63;
kPatio = 64;
kPlayRoom = 65;
kPoolRoom = 66;
kPorch = 67;
kPrimaryBathroom = 68;
kPrimaryBedroom = 69;
kRamp = 70;
kReceptionRoom = 71;
kRecreationRoom = 72;
kRestroom = 73;
kRoof = 74;
kSauna = 75;
kScullery = 76;
kSewingRoom = 77;
kShed = 78;
kSideDoor = 79;
kSideYard = 80;
kSittingRoom = 81;
kSnug = 82;
kSpa = 83;
kStaircase = 84;
kSteamRoom = 85;
kStorageRoom = 86;
kStudio = 87;
kStudy = 88;
kSunRoom = 89;
kSwimmingPool = 90;
kTerrace = 91;
kUtilityRoom = 92;
kWard = 93;
kWorkshop = 94;
}

enum ColorEnum : enum8 {
kBlack = 0;
kNavy = 1;
Expand Down Expand Up @@ -203,6 +301,12 @@ cluster BasicInformation = 40 {
int16u subscriptionsPerFabric = 1;
}

struct HomeLocationStruct {
char_string<128> locationName = 0;
nullable int16s floorNumber = 1;
nullable AreaTypeTag areaType = 2;
}

struct ProductAppearanceStruct {
ProductFinishEnum finish = 0;
nullable ColorEnum primaryColor = 1;
Expand Down Expand Up @@ -246,6 +350,7 @@ cluster BasicInformation = 40 {
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
readonly attribute int16u maxPathsPerInvoke = 22;
attribute optional nullable HomeLocationStruct deviceLocation = 23;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down
106 changes: 106 additions & 0 deletions examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
Original file line number Diff line number Diff line change
Expand Up @@ -744,6 +744,104 @@ cluster Actions = 37 {
cluster BasicInformation = 40 {
revision 3;

enum AreaTypeTag : enum8 {
kAisle = 0;
kAttic = 1;
kBackDoor = 2;
kBackYard = 3;
kBalcony = 4;
kBallroom = 5;
kBathroom = 6;
kBedroom = 7;
kBorder = 8;
kBoxroom = 9;
kBreakfastRoom = 10;
kCarport = 11;
kCellar = 12;
kCloakroom = 13;
kCloset = 14;
kConservatory = 15;
kCorridor = 16;
kCraftRoom = 17;
kCupboard = 18;
kDeck = 19;
kDen = 20;
kDining = 21;
kDrawingRoom = 22;
kDressingRoom = 23;
kDriveway = 24;
kElevator = 25;
kEnsuite = 26;
kEntrance = 27;
kEntryway = 28;
kFamilyRoom = 29;
kFoyer = 30;
kFrontDoor = 31;
kFrontYard = 32;
kGameRoom = 33;
kGarage = 34;
kGarageDoor = 35;
kGarden = 36;
kGardenDoor = 37;
kGuestBathroom = 38;
kGuestBedroom = 39;
kGuestRestroom = 40;
kGuestRoom = 41;
kGym = 42;
kHallway = 43;
kHearthRoom = 44;
kKidsRoom = 45;
kKidsBedroom = 46;
kKitchen = 47;
kLarder = 48;
kLaundryRoom = 49;
kLawn = 50;
kLibrary = 51;
kLivingRoom = 52;
kLounge = 53;
kMediaTVRoom = 54;
kMudRoom = 55;
kMusicRoom = 56;
kNursery = 57;
kOffice = 58;
kOutdoorKitchen = 59;
kOutside = 60;
kPantry = 61;
kParkingLot = 62;
kParlor = 63;
kPatio = 64;
kPlayRoom = 65;
kPoolRoom = 66;
kPorch = 67;
kPrimaryBathroom = 68;
kPrimaryBedroom = 69;
kRamp = 70;
kReceptionRoom = 71;
kRecreationRoom = 72;
kRestroom = 73;
kRoof = 74;
kSauna = 75;
kScullery = 76;
kSewingRoom = 77;
kShed = 78;
kSideDoor = 79;
kSideYard = 80;
kSittingRoom = 81;
kSnug = 82;
kSpa = 83;
kStaircase = 84;
kSteamRoom = 85;
kStorageRoom = 86;
kStudio = 87;
kStudy = 88;
kSunRoom = 89;
kSwimmingPool = 90;
kTerrace = 91;
kUtilityRoom = 92;
kWard = 93;
kWorkshop = 94;
}

enum ColorEnum : enum8 {
kBlack = 0;
kNavy = 1;
Expand Down Expand Up @@ -782,6 +880,12 @@ cluster BasicInformation = 40 {
int16u subscriptionsPerFabric = 1;
}

struct HomeLocationStruct {
char_string<128> locationName = 0;
nullable int16s floorNumber = 1;
nullable AreaTypeTag areaType = 2;
}

struct ProductAppearanceStruct {
ProductFinishEnum finish = 0;
nullable ColorEnum primaryColor = 1;
Expand Down Expand Up @@ -825,6 +929,7 @@ cluster BasicInformation = 40 {
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
readonly attribute int16u maxPathsPerInvoke = 22;
attribute optional nullable HomeLocationStruct deviceLocation = 23;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
Expand Down Expand Up @@ -7346,6 +7451,7 @@ endpoint 0 {
callback attribute productAppearance;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
callback attribute deviceLocation;
callback attribute generatedCommandList;
callback attribute acceptedCommandList;
callback attribute eventList;
Expand Down
Loading
Loading