Oops, I over-complicated that. Try this:
struct {
  u8 code[5];
  u8 unused[11];
} pttid[15];

This I will definitely do. I've seen it before but I guess until now I didn't realize what it was doing or why. Now I do. Thanks.
 

Now instead of calling pttid.code0, call pttid[0].code. Or:

for pttid in self._memobj.pttid:
    _code = pttid.code
    ... # create setting, etc
 
I'll try this out today as well.
Thanks,
Jim