
python-on-a-chip online compiler
- http://pymbed.appspot.com/
- https://code.google.com/p/python-on-a-chip/
- http://www.youtube.com/watch?v=Oyqc2bFRW9I
- https://bitbucket.org/va009039/pymbed/
more info: python-on-a-chip
Revision 1:28afb064a41c, committed 2013-03-10
- Comitter:
- va009039
- Date:
- Sun Mar 10 10:13:36 2013 +0000
- Parent:
- 0:65f1469d6bfb
- Child:
- 2:a2bea117e22e
- Commit message:
- add python2.7 bytecode, update mbed.py
Changed in this revision
--- a/platform/mbed/main_img.cpp Sat Mar 02 11:54:20 2013 +0000 +++ b/platform/mbed/main_img.cpp Sun Mar 10 10:13:36 2013 +0000 @@ -6,9 +6,9 @@ * mbed.py * img-list-terminator * by pmImgCreator.py on - * Sat Mar 02 20:27:03 2013. + * Sun Mar 10 18:24:12 2013. * - * Byte count: 1916 + * Byte count: 2106 * * Selected memspace type: RAM * @@ -26,248 +26,272 @@ /* main.py */ - 0x0A, 0x5D, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, - 0x0D, 0x00, 0x04, 0x03, 0x03, 0x03, 0x00, 0x69, + 0x0A, 0x1D, 0x01, 0x00, 0x40, 0x05, 0x00, 0x00, + 0x0D, 0x00, 0x04, 0x0A, 0x03, 0x04, 0x00, 0x6D, + 0x62, 0x65, 0x64, 0x03, 0x03, 0x00, 0x73, 0x79, + 0x73, 0x03, 0x04, 0x00, 0x4C, 0x45, 0x44, 0x31, + 0x03, 0x0A, 0x00, 0x44, 0x69, 0x67, 0x69, 0x74, + 0x61, 0x6C, 0x4F, 0x75, 0x74, 0x03, 0x05, 0x00, + 0x6D, 0x79, 0x6C, 0x65, 0x64, 0x03, 0x05, 0x00, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x03, 0x04, 0x00, + 0x77, 0x61, 0x69, 0x74, 0x03, 0x03, 0x00, 0x69, 0x70, 0x6D, 0x03, 0x07, 0x00, 0x67, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x73, 0x03, 0x04, 0x00, 0x6D, - 0x61, 0x69, 0x6E, 0x03, 0x02, 0x00, 0x0C, 0x01, - 0x03, 0x08, 0x00, 0x6D, 0x61, 0x69, 0x6E, 0x2E, - 0x70, 0x79, 0x00, 0x04, 0x02, 0x01, 0xFF, 0xFF, - 0xFF, 0xFF, 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, - 0x64, 0x01, 0x00, 0x6B, 0x00, 0x00, 0x5A, 0x00, - 0x00, 0x65, 0x00, 0x00, 0x69, 0x00, 0x00, 0x65, - 0x01, 0x00, 0x83, 0x00, 0x00, 0x83, 0x01, 0x00, + 0x61, 0x69, 0x6E, 0x03, 0x14, 0x00, 0x0C, 0x01, + 0x0C, 0x01, 0x06, 0x01, 0x0F, 0x01, 0x03, 0x01, + 0x0D, 0x01, 0x0D, 0x01, 0x0D, 0x01, 0x10, 0x02, + 0x0C, 0x01, 0x03, 0x08, 0x00, 0x6D, 0x61, 0x69, + 0x6E, 0x2E, 0x70, 0x79, 0x00, 0x04, 0x05, 0x01, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x01, 0xC8, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x64, 0x00, + 0x00, 0x64, 0x01, 0x00, 0x6B, 0x00, 0x00, 0x5A, + 0x00, 0x00, 0x64, 0x00, 0x00, 0x64, 0x01, 0x00, + 0x6B, 0x01, 0x00, 0x5A, 0x01, 0x00, 0x64, 0x02, + 0x00, 0x5A, 0x02, 0x00, 0x65, 0x00, 0x00, 0x69, + 0x03, 0x00, 0x65, 0x02, 0x00, 0x83, 0x01, 0x00, + 0x5A, 0x04, 0x00, 0x78, 0x37, 0x00, 0x65, 0x04, + 0x00, 0x69, 0x05, 0x00, 0x64, 0x02, 0x00, 0x83, + 0x01, 0x00, 0x01, 0x65, 0x01, 0x00, 0x69, 0x06, + 0x00, 0x64, 0x03, 0x00, 0x83, 0x01, 0x00, 0x01, + 0x65, 0x04, 0x00, 0x69, 0x05, 0x00, 0x64, 0x04, + 0x00, 0x83, 0x01, 0x00, 0x01, 0x65, 0x01, 0x00, + 0x69, 0x06, 0x00, 0x64, 0x03, 0x00, 0x83, 0x01, + 0x00, 0x01, 0x71, 0x30, 0x00, 0x64, 0x00, 0x00, + 0x64, 0x01, 0x00, 0x6B, 0x07, 0x00, 0x5A, 0x07, + 0x00, 0x65, 0x07, 0x00, 0x69, 0x07, 0x00, 0x65, + 0x08, 0x00, 0x83, 0x00, 0x00, 0x83, 0x01, 0x00, 0x01, 0x64, 0x01, 0x00, 0x53, /* mbed.py */ - 0x0A, 0x1E, 0x07, 0x00, 0x40, 0x03, 0x00, 0x00, - 0x1D, 0x00, 0x04, 0x0C, 0x03, 0x07, 0x00, 0x5F, + 0x0A, 0x1C, 0x07, 0x00, 0x40, 0x03, 0x00, 0x00, + 0x18, 0x00, 0x04, 0x0B, 0x03, 0x07, 0x00, 0x5F, 0x5F, 0x64, 0x6F, 0x63, 0x5F, 0x5F, 0x03, 0x06, 0x00, 0x6F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x03, - 0x08, 0x00, 0x41, 0x6E, 0x61, 0x6C, 0x6F, 0x67, - 0x49, 0x6E, 0x03, 0x09, 0x00, 0x41, 0x6E, 0x61, - 0x6C, 0x6F, 0x67, 0x4F, 0x75, 0x74, 0x03, 0x09, - 0x00, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6C, - 0x49, 0x6E, 0x03, 0x0A, 0x00, 0x44, 0x69, 0x67, - 0x69, 0x74, 0x61, 0x6C, 0x4F, 0x75, 0x74, 0x03, + 0x0A, 0x00, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, + 0x6C, 0x4F, 0x75, 0x74, 0x03, 0x09, 0x00, 0x44, + 0x69, 0x67, 0x69, 0x74, 0x61, 0x6C, 0x49, 0x6E, + 0x03, 0x08, 0x00, 0x41, 0x6E, 0x61, 0x6C, 0x6F, + 0x67, 0x49, 0x6E, 0x03, 0x09, 0x00, 0x41, 0x6E, + 0x61, 0x6C, 0x6F, 0x67, 0x4F, 0x75, 0x74, 0x03, 0x06, 0x00, 0x50, 0x77, 0x6D, 0x4F, 0x75, 0x74, 0x03, 0x06, 0x00, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6C, 0x03, 0x03, 0x00, 0x53, 0x50, 0x49, 0x03, - 0x03, 0x00, 0x49, 0x32, 0x43, 0x03, 0x07, 0x00, - 0x73, 0x65, 0x74, 0x5F, 0x6C, 0x65, 0x64, 0x03, - 0x04, 0x00, 0x6D, 0x62, 0x65, 0x64, 0x03, 0x14, - 0x00, 0x06, 0x03, 0x16, 0x6F, 0x16, 0xA9, 0x16, - 0x4E, 0x16, 0x76, 0x16, 0xFF, 0x00, 0x3F, 0x16, - 0xA3, 0x16, 0xB7, 0x16, 0xB8, 0x03, 0x08, 0x00, - 0x6D, 0x62, 0x65, 0x64, 0x2E, 0x70, 0x79, 0x00, - 0x04, 0x13, 0x00, 0x03, 0x08, 0x00, 0x41, 0x6E, - 0x61, 0x6C, 0x6F, 0x67, 0x49, 0x6E, 0x0A, 0x93, - 0x00, 0x00, 0x42, 0x01, 0x00, 0x00, 0x20, 0x00, - 0x04, 0x06, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x6E, - 0x61, 0x6D, 0x65, 0x5F, 0x5F, 0x03, 0x0A, 0x00, - 0x5F, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, - 0x5F, 0x5F, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x69, - 0x6E, 0x69, 0x74, 0x5F, 0x5F, 0x03, 0x08, 0x00, - 0x72, 0x65, 0x61, 0x64, 0x5F, 0x75, 0x31, 0x36, - 0x03, 0x04, 0x00, 0x72, 0x65, 0x61, 0x64, 0x03, - 0x08, 0x00, 0x41, 0x6E, 0x61, 0x6C, 0x6F, 0x67, - 0x49, 0x6E, 0x03, 0x06, 0x00, 0x06, 0x02, 0x09, - 0x2B, 0x09, 0x21, 0x03, 0x08, 0x00, 0x6D, 0x62, - 0x65, 0x64, 0x2E, 0x70, 0x79, 0x00, 0x04, 0x03, - 0x0B, 0x02, 0xFF, 0xFF, 0x0B, 0x01, 0xFE, 0xFF, - 0x0B, 0x01, 0xFD, 0xFF, 0x04, 0x00, 0x65, 0x00, - 0x00, 0x5A, 0x01, 0x00, 0x64, 0x00, 0x00, 0x84, - 0x00, 0x00, 0x5A, 0x02, 0x00, 0x64, 0x01, 0x00, - 0x84, 0x00, 0x00, 0x5A, 0x03, 0x00, 0x64, 0x02, - 0x00, 0x84, 0x00, 0x00, 0x5A, 0x04, 0x00, 0x52, - 0x53, 0x03, 0x09, 0x00, 0x41, 0x6E, 0x61, 0x6C, - 0x6F, 0x67, 0x4F, 0x75, 0x74, 0x0A, 0xAC, 0x00, - 0x00, 0x42, 0x01, 0x00, 0x00, 0x8F, 0x00, 0x04, - 0x07, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x6E, 0x61, - 0x6D, 0x65, 0x5F, 0x5F, 0x03, 0x0A, 0x00, 0x5F, - 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x5F, - 0x5F, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x69, 0x6E, - 0x69, 0x74, 0x5F, 0x5F, 0x03, 0x09, 0x00, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x5F, 0x75, 0x31, 0x36, - 0x03, 0x05, 0x00, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x03, 0x04, 0x00, 0x72, 0x65, 0x61, 0x64, 0x03, - 0x09, 0x00, 0x41, 0x6E, 0x61, 0x6C, 0x6F, 0x67, - 0x4F, 0x75, 0x74, 0x03, 0x08, 0x00, 0x06, 0x02, - 0x09, 0x2C, 0x09, 0x28, 0x09, 0x32, 0x03, 0x08, - 0x00, 0x6D, 0x62, 0x65, 0x64, 0x2E, 0x70, 0x79, - 0x00, 0x04, 0x04, 0x0B, 0x02, 0xFC, 0xFF, 0x0B, - 0x02, 0xFB, 0xFF, 0x0B, 0x02, 0xFA, 0xFF, 0x0B, - 0x01, 0xF9, 0xFF, 0x04, 0x00, 0x65, 0x00, 0x00, - 0x5A, 0x01, 0x00, 0x64, 0x00, 0x00, 0x84, 0x00, - 0x00, 0x5A, 0x02, 0x00, 0x64, 0x01, 0x00, 0x84, - 0x00, 0x00, 0x5A, 0x03, 0x00, 0x64, 0x02, 0x00, - 0x84, 0x00, 0x00, 0x5A, 0x04, 0x00, 0x64, 0x03, - 0x00, 0x84, 0x00, 0x00, 0x5A, 0x05, 0x00, 0x52, - 0x53, 0x03, 0x09, 0x00, 0x44, 0x69, 0x67, 0x69, - 0x74, 0x61, 0x6C, 0x49, 0x6E, 0x0A, 0x7A, 0x00, - 0x00, 0x42, 0x01, 0x00, 0x00, 0x38, 0x01, 0x04, - 0x05, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x6E, 0x61, - 0x6D, 0x65, 0x5F, 0x5F, 0x03, 0x0A, 0x00, 0x5F, - 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x5F, - 0x5F, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x69, 0x6E, - 0x69, 0x74, 0x5F, 0x5F, 0x03, 0x04, 0x00, 0x72, - 0x65, 0x61, 0x64, 0x03, 0x09, 0x00, 0x44, 0x69, - 0x67, 0x69, 0x74, 0x61, 0x6C, 0x49, 0x6E, 0x03, - 0x04, 0x00, 0x06, 0x02, 0x09, 0x2B, 0x03, 0x08, - 0x00, 0x6D, 0x62, 0x65, 0x64, 0x2E, 0x70, 0x79, - 0x00, 0x04, 0x02, 0x0B, 0x02, 0xF8, 0xFF, 0x0B, - 0x01, 0xF7, 0xFF, 0x04, 0x00, 0x65, 0x00, 0x00, - 0x5A, 0x01, 0x00, 0x64, 0x00, 0x00, 0x84, 0x00, - 0x00, 0x5A, 0x02, 0x00, 0x64, 0x01, 0x00, 0x84, - 0x00, 0x00, 0x5A, 0x03, 0x00, 0x52, 0x53, 0x03, + 0x03, 0x00, 0x49, 0x32, 0x43, 0x03, 0x04, 0x00, + 0x6D, 0x62, 0x65, 0x64, 0x03, 0x12, 0x00, 0x06, + 0x02, 0x16, 0x73, 0x16, 0x4B, 0x16, 0x6F, 0x16, + 0xAB, 0x16, 0xFF, 0x00, 0x54, 0x16, 0xA3, 0x16, + 0xB7, 0x03, 0x08, 0x00, 0x6D, 0x62, 0x65, 0x64, + 0x2E, 0x70, 0x79, 0x00, 0x04, 0x12, 0x00, 0x03, 0x0A, 0x00, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6C, 0x4F, 0x75, 0x74, 0x0A, 0x92, 0x00, 0x00, - 0x42, 0x01, 0x00, 0x00, 0x86, 0x01, 0x04, 0x06, + 0x42, 0x01, 0x00, 0x00, 0x1A, 0x00, 0x04, 0x06, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x5F, 0x03, 0x0A, 0x00, 0x5F, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x5F, 0x5F, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x69, 0x6E, 0x69, - 0x74, 0x5F, 0x5F, 0x03, 0x04, 0x00, 0x72, 0x65, - 0x61, 0x64, 0x03, 0x05, 0x00, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x03, 0x0A, 0x00, 0x44, 0x69, 0x67, + 0x74, 0x5F, 0x5F, 0x03, 0x05, 0x00, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x03, 0x04, 0x00, 0x72, 0x65, + 0x61, 0x64, 0x03, 0x0A, 0x00, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6C, 0x4F, 0x75, 0x74, 0x03, - 0x06, 0x00, 0x06, 0x02, 0x09, 0x2B, 0x09, 0x21, + 0x06, 0x00, 0x06, 0x01, 0x09, 0x2A, 0x09, 0x27, 0x03, 0x08, 0x00, 0x6D, 0x62, 0x65, 0x64, 0x2E, - 0x70, 0x79, 0x00, 0x04, 0x03, 0x0B, 0x02, 0xF6, - 0xFF, 0x0B, 0x01, 0xF5, 0xFF, 0x0B, 0x02, 0xF4, + 0x70, 0x79, 0x00, 0x04, 0x03, 0x0B, 0x02, 0xFF, + 0xFF, 0x0B, 0x02, 0xFE, 0xFF, 0x0B, 0x01, 0xFD, 0xFF, 0x04, 0x00, 0x65, 0x00, 0x00, 0x5A, 0x01, 0x00, 0x64, 0x00, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x02, 0x00, 0x64, 0x01, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x03, 0x00, 0x64, 0x02, 0x00, 0x84, 0x00, - 0x00, 0x5A, 0x04, 0x00, 0x52, 0x53, 0x03, 0x06, - 0x00, 0x50, 0x77, 0x6D, 0x4F, 0x75, 0x74, 0x0A, - 0x1F, 0x01, 0x00, 0x42, 0x01, 0x00, 0x00, 0xFC, - 0x01, 0x04, 0x0B, 0x03, 0x08, 0x00, 0x5F, 0x5F, + 0x00, 0x5A, 0x04, 0x00, 0x52, 0x53, 0x03, 0x09, + 0x00, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6C, + 0x49, 0x6E, 0x0A, 0x7A, 0x00, 0x00, 0x42, 0x01, + 0x00, 0x00, 0x8D, 0x00, 0x04, 0x05, 0x03, 0x08, + 0x00, 0x5F, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, + 0x5F, 0x03, 0x0A, 0x00, 0x5F, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x5F, 0x5F, 0x03, 0x08, + 0x00, 0x5F, 0x5F, 0x69, 0x6E, 0x69, 0x74, 0x5F, + 0x5F, 0x03, 0x04, 0x00, 0x72, 0x65, 0x61, 0x64, + 0x03, 0x09, 0x00, 0x44, 0x69, 0x67, 0x69, 0x74, + 0x61, 0x6C, 0x49, 0x6E, 0x03, 0x04, 0x00, 0x06, + 0x01, 0x09, 0x2A, 0x03, 0x08, 0x00, 0x6D, 0x62, + 0x65, 0x64, 0x2E, 0x70, 0x79, 0x00, 0x04, 0x02, + 0x0B, 0x02, 0xFC, 0xFF, 0x0B, 0x01, 0xFB, 0xFF, + 0x04, 0x00, 0x65, 0x00, 0x00, 0x5A, 0x01, 0x00, + 0x64, 0x00, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x02, + 0x00, 0x64, 0x01, 0x00, 0x84, 0x00, 0x00, 0x5A, + 0x03, 0x00, 0x52, 0x53, 0x03, 0x08, 0x00, 0x41, + 0x6E, 0x61, 0x6C, 0x6F, 0x67, 0x49, 0x6E, 0x0A, + 0x93, 0x00, 0x00, 0x42, 0x01, 0x00, 0x00, 0xD8, + 0x00, 0x04, 0x06, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x5F, 0x03, 0x0A, 0x00, 0x5F, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x5F, 0x5F, 0x03, 0x08, 0x00, 0x5F, 0x5F, - 0x69, 0x6E, 0x69, 0x74, 0x5F, 0x5F, 0x03, 0x04, - 0x00, 0x72, 0x65, 0x61, 0x64, 0x03, 0x06, 0x00, - 0x70, 0x65, 0x72, 0x69, 0x6F, 0x64, 0x03, 0x09, - 0x00, 0x70, 0x65, 0x72, 0x69, 0x6F, 0x64, 0x5F, - 0x6D, 0x73, 0x03, 0x09, 0x00, 0x70, 0x65, 0x72, - 0x69, 0x6F, 0x64, 0x5F, 0x75, 0x73, 0x03, 0x0A, - 0x00, 0x70, 0x75, 0x6C, 0x73, 0x65, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x03, 0x0D, 0x00, 0x70, 0x75, - 0x73, 0x6C, 0x65, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x5F, 0x6D, 0x73, 0x03, 0x0D, 0x00, 0x70, 0x75, - 0x6C, 0x73, 0x65, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x5F, 0x75, 0x73, 0x03, 0x06, 0x00, 0x50, 0x77, - 0x6D, 0x4F, 0x75, 0x74, 0x03, 0x10, 0x00, 0x06, - 0x02, 0x09, 0x2B, 0x09, 0x21, 0x09, 0x28, 0x09, - 0x28, 0x09, 0x28, 0x09, 0x28, 0x09, 0x28, 0x03, + 0x69, 0x6E, 0x69, 0x74, 0x5F, 0x5F, 0x03, 0x08, + 0x00, 0x72, 0x65, 0x61, 0x64, 0x5F, 0x75, 0x31, + 0x36, 0x03, 0x04, 0x00, 0x72, 0x65, 0x61, 0x64, + 0x03, 0x08, 0x00, 0x41, 0x6E, 0x61, 0x6C, 0x6F, + 0x67, 0x49, 0x6E, 0x03, 0x06, 0x00, 0x06, 0x02, + 0x09, 0x2B, 0x09, 0x21, 0x03, 0x08, 0x00, 0x6D, + 0x62, 0x65, 0x64, 0x2E, 0x70, 0x79, 0x00, 0x04, + 0x03, 0x0B, 0x02, 0xFA, 0xFF, 0x0B, 0x01, 0xF9, + 0xFF, 0x0B, 0x01, 0xF8, 0xFF, 0x04, 0x00, 0x65, + 0x00, 0x00, 0x5A, 0x01, 0x00, 0x64, 0x00, 0x00, + 0x84, 0x00, 0x00, 0x5A, 0x02, 0x00, 0x64, 0x01, + 0x00, 0x84, 0x00, 0x00, 0x5A, 0x03, 0x00, 0x64, + 0x02, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x04, 0x00, + 0x52, 0x53, 0x03, 0x09, 0x00, 0x41, 0x6E, 0x61, + 0x6C, 0x6F, 0x67, 0x4F, 0x75, 0x74, 0x0A, 0xAC, + 0x00, 0x00, 0x42, 0x01, 0x00, 0x00, 0x47, 0x01, + 0x04, 0x07, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x6E, + 0x61, 0x6D, 0x65, 0x5F, 0x5F, 0x03, 0x0A, 0x00, + 0x5F, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x5F, 0x5F, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x69, + 0x6E, 0x69, 0x74, 0x5F, 0x5F, 0x03, 0x09, 0x00, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x5F, 0x75, 0x31, + 0x36, 0x03, 0x05, 0x00, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x03, 0x04, 0x00, 0x72, 0x65, 0x61, 0x64, + 0x03, 0x09, 0x00, 0x41, 0x6E, 0x61, 0x6C, 0x6F, + 0x67, 0x4F, 0x75, 0x74, 0x03, 0x08, 0x00, 0x06, + 0x02, 0x09, 0x2C, 0x09, 0x28, 0x09, 0x32, 0x03, 0x08, 0x00, 0x6D, 0x62, 0x65, 0x64, 0x2E, 0x70, - 0x79, 0x00, 0x04, 0x08, 0x0B, 0x02, 0xF3, 0xFF, - 0x0B, 0x01, 0xF2, 0xFF, 0x0B, 0x02, 0xF1, 0xFF, - 0x0B, 0x02, 0xF0, 0xFF, 0x0B, 0x02, 0xEF, 0xFF, - 0x0B, 0x02, 0xEE, 0xFF, 0x0B, 0x02, 0xED, 0xFF, - 0x0B, 0x02, 0xEC, 0xFF, 0x04, 0x00, 0x65, 0x00, + 0x79, 0x00, 0x04, 0x04, 0x0B, 0x02, 0xF7, 0xFF, + 0x0B, 0x02, 0xF6, 0xFF, 0x0B, 0x02, 0xF5, 0xFF, + 0x0B, 0x01, 0xF4, 0xFF, 0x04, 0x00, 0x65, 0x00, 0x00, 0x5A, 0x01, 0x00, 0x64, 0x00, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x02, 0x00, 0x64, 0x01, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x03, 0x00, 0x64, 0x02, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x04, 0x00, 0x64, 0x03, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x05, 0x00, - 0x64, 0x04, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x06, - 0x00, 0x64, 0x05, 0x00, 0x84, 0x00, 0x00, 0x5A, - 0x07, 0x00, 0x64, 0x06, 0x00, 0x84, 0x00, 0x00, - 0x5A, 0x08, 0x00, 0x64, 0x07, 0x00, 0x84, 0x00, - 0x00, 0x5A, 0x09, 0x00, 0x52, 0x53, 0x03, 0x06, - 0x00, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6C, 0x0A, - 0xA3, 0x00, 0x00, 0x42, 0x01, 0x00, 0x00, 0x3A, - 0x03, 0x04, 0x07, 0x03, 0x08, 0x00, 0x5F, 0x5F, - 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x5F, 0x03, 0x0A, - 0x00, 0x5F, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, - 0x65, 0x5F, 0x5F, 0x03, 0x08, 0x00, 0x5F, 0x5F, - 0x69, 0x6E, 0x69, 0x74, 0x5F, 0x5F, 0x03, 0x04, - 0x00, 0x70, 0x75, 0x74, 0x63, 0x03, 0x04, 0x00, - 0x70, 0x75, 0x74, 0x73, 0x03, 0x04, 0x00, 0x67, - 0x65, 0x74, 0x63, 0x03, 0x06, 0x00, 0x53, 0x65, - 0x72, 0x69, 0x61, 0x6C, 0x03, 0x08, 0x00, 0x06, - 0x02, 0x09, 0x30, 0x09, 0x28, 0x09, 0x28, 0x03, - 0x08, 0x00, 0x6D, 0x62, 0x65, 0x64, 0x2E, 0x70, - 0x79, 0x00, 0x04, 0x04, 0x0B, 0x03, 0xEB, 0xFF, - 0x0B, 0x02, 0xEA, 0xFF, 0x0B, 0x02, 0xE9, 0xFF, - 0x0B, 0x01, 0xE8, 0xFF, 0x04, 0x00, 0x65, 0x00, - 0x00, 0x5A, 0x01, 0x00, 0x64, 0x00, 0x00, 0x84, - 0x00, 0x00, 0x5A, 0x02, 0x00, 0x64, 0x01, 0x00, - 0x84, 0x00, 0x00, 0x5A, 0x03, 0x00, 0x64, 0x02, - 0x00, 0x84, 0x00, 0x00, 0x5A, 0x04, 0x00, 0x64, - 0x03, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x05, 0x00, - 0x52, 0x53, 0x03, 0x03, 0x00, 0x53, 0x50, 0x49, - 0x0A, 0xB0, 0x00, 0x00, 0x42, 0x02, 0x00, 0x00, - 0xDD, 0x03, 0x04, 0x07, 0x03, 0x08, 0x00, 0x5F, - 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x5F, 0x03, - 0x0A, 0x00, 0x5F, 0x5F, 0x6D, 0x6F, 0x64, 0x75, - 0x6C, 0x65, 0x5F, 0x5F, 0x03, 0x08, 0x00, 0x5F, - 0x5F, 0x69, 0x6E, 0x69, 0x74, 0x5F, 0x5F, 0x03, - 0x06, 0x00, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, - 0x03, 0x09, 0x00, 0x66, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x6E, 0x63, 0x79, 0x03, 0x05, 0x00, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x03, 0x03, 0x00, 0x53, - 0x50, 0x49, 0x03, 0x08, 0x00, 0x06, 0x02, 0x09, - 0x34, 0x0C, 0x30, 0x09, 0x28, 0x03, 0x08, 0x00, + 0x52, 0x53, 0x03, 0x06, 0x00, 0x50, 0x77, 0x6D, + 0x4F, 0x75, 0x74, 0x0A, 0x36, 0x01, 0x00, 0x42, + 0x01, 0x00, 0x00, 0xF2, 0x01, 0x04, 0x0C, 0x03, + 0x08, 0x00, 0x5F, 0x5F, 0x6E, 0x61, 0x6D, 0x65, + 0x5F, 0x5F, 0x03, 0x0A, 0x00, 0x5F, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x5F, 0x5F, 0x03, + 0x08, 0x00, 0x5F, 0x5F, 0x69, 0x6E, 0x69, 0x74, + 0x5F, 0x5F, 0x03, 0x05, 0x00, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x03, 0x04, 0x00, 0x72, 0x65, 0x61, + 0x64, 0x03, 0x06, 0x00, 0x70, 0x65, 0x72, 0x69, + 0x6F, 0x64, 0x03, 0x09, 0x00, 0x70, 0x65, 0x72, + 0x69, 0x6F, 0x64, 0x5F, 0x6D, 0x73, 0x03, 0x09, + 0x00, 0x70, 0x65, 0x72, 0x69, 0x6F, 0x64, 0x5F, + 0x75, 0x73, 0x03, 0x0A, 0x00, 0x70, 0x75, 0x6C, + 0x73, 0x65, 0x77, 0x69, 0x64, 0x74, 0x68, 0x03, + 0x0D, 0x00, 0x70, 0x75, 0x73, 0x6C, 0x65, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x5F, 0x6D, 0x73, 0x03, + 0x0D, 0x00, 0x70, 0x75, 0x6C, 0x73, 0x65, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x5F, 0x75, 0x73, 0x03, + 0x06, 0x00, 0x50, 0x77, 0x6D, 0x4F, 0x75, 0x74, + 0x03, 0x12, 0x00, 0x06, 0x01, 0x09, 0x2A, 0x09, + 0x23, 0x09, 0x21, 0x09, 0x22, 0x09, 0x27, 0x09, + 0x27, 0x09, 0x25, 0x09, 0x28, 0x03, 0x08, 0x00, 0x6D, 0x62, 0x65, 0x64, 0x2E, 0x70, 0x79, 0x00, - 0x04, 0x05, 0x0B, 0x04, 0xE7, 0xFF, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x0B, 0x03, 0xE6, 0xFF, 0x0B, - 0x02, 0xE5, 0xFF, 0x0B, 0x02, 0xE4, 0xFF, 0x04, - 0x00, 0x65, 0x00, 0x00, 0x5A, 0x01, 0x00, 0x64, - 0x00, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x02, 0x00, - 0x64, 0x01, 0x00, 0x64, 0x02, 0x00, 0x84, 0x01, - 0x00, 0x5A, 0x03, 0x00, 0x64, 0x03, 0x00, 0x84, - 0x00, 0x00, 0x5A, 0x04, 0x00, 0x64, 0x04, 0x00, - 0x84, 0x00, 0x00, 0x5A, 0x05, 0x00, 0x52, 0x53, - 0x03, 0x03, 0x00, 0x49, 0x32, 0x43, 0x0A, 0xA6, - 0x00, 0x00, 0x42, 0x01, 0x00, 0x00, 0x94, 0x04, - 0x04, 0x07, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x6E, - 0x61, 0x6D, 0x65, 0x5F, 0x5F, 0x03, 0x0A, 0x00, - 0x5F, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, - 0x5F, 0x5F, 0x03, 0x08, 0x00, 0x5F, 0x5F, 0x69, - 0x6E, 0x69, 0x74, 0x5F, 0x5F, 0x03, 0x09, 0x00, - 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6E, 0x63, - 0x79, 0x03, 0x04, 0x00, 0x72, 0x65, 0x61, 0x64, - 0x03, 0x05, 0x00, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x03, 0x03, 0x00, 0x49, 0x32, 0x43, 0x03, 0x08, - 0x00, 0x06, 0x02, 0x09, 0x30, 0x09, 0x28, 0x09, - 0x30, 0x03, 0x08, 0x00, 0x6D, 0x62, 0x65, 0x64, - 0x2E, 0x70, 0x79, 0x00, 0x04, 0x04, 0x0B, 0x03, - 0xE3, 0xFF, 0x0B, 0x02, 0xE2, 0xFF, 0x0B, 0x04, - 0xE1, 0xFF, 0x0B, 0x04, 0xE0, 0xFF, 0x04, 0x00, + 0x04, 0x09, 0x0B, 0x02, 0xF3, 0xFF, 0x0B, 0x02, + 0xF2, 0xFF, 0x0B, 0x01, 0xF1, 0xFF, 0x0B, 0x02, + 0xF0, 0xFF, 0x0B, 0x02, 0xEF, 0xFF, 0x0B, 0x02, + 0xEE, 0xFF, 0x0B, 0x02, 0xED, 0xFF, 0x0B, 0x02, + 0xEC, 0xFF, 0x0B, 0x02, 0xEB, 0xFF, 0x04, 0x00, 0x65, 0x00, 0x00, 0x5A, 0x01, 0x00, 0x64, 0x00, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x02, 0x00, 0x64, 0x01, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x03, 0x00, 0x64, 0x02, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x04, 0x00, 0x64, 0x03, 0x00, 0x84, 0x00, 0x00, 0x5A, - 0x05, 0x00, 0x52, 0x53, 0x0B, 0x02, 0xDF, 0xFF, - 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x5A, 0x00, - 0x00, 0x64, 0x01, 0x00, 0x65, 0x01, 0x00, 0x66, - 0x01, 0x00, 0x64, 0x02, 0x00, 0x84, 0x00, 0x00, - 0x83, 0x00, 0x00, 0x59, 0x5A, 0x02, 0x00, 0x64, - 0x03, 0x00, 0x65, 0x01, 0x00, 0x66, 0x01, 0x00, - 0x64, 0x04, 0x00, 0x84, 0x00, 0x00, 0x83, 0x00, - 0x00, 0x59, 0x5A, 0x03, 0x00, 0x64, 0x05, 0x00, - 0x65, 0x01, 0x00, 0x66, 0x01, 0x00, 0x64, 0x06, - 0x00, 0x84, 0x00, 0x00, 0x83, 0x00, 0x00, 0x59, - 0x5A, 0x04, 0x00, 0x64, 0x07, 0x00, 0x65, 0x01, - 0x00, 0x66, 0x01, 0x00, 0x64, 0x08, 0x00, 0x84, - 0x00, 0x00, 0x83, 0x00, 0x00, 0x59, 0x5A, 0x05, - 0x00, 0x64, 0x09, 0x00, 0x65, 0x01, 0x00, 0x66, - 0x01, 0x00, 0x64, 0x0A, 0x00, 0x84, 0x00, 0x00, - 0x83, 0x00, 0x00, 0x59, 0x5A, 0x06, 0x00, 0x64, - 0x0B, 0x00, 0x65, 0x01, 0x00, 0x66, 0x01, 0x00, - 0x64, 0x0C, 0x00, 0x84, 0x00, 0x00, 0x83, 0x00, - 0x00, 0x59, 0x5A, 0x07, 0x00, 0x64, 0x0D, 0x00, - 0x65, 0x01, 0x00, 0x66, 0x01, 0x00, 0x64, 0x0E, - 0x00, 0x84, 0x00, 0x00, 0x83, 0x00, 0x00, 0x59, - 0x5A, 0x08, 0x00, 0x64, 0x0F, 0x00, 0x65, 0x01, - 0x00, 0x66, 0x01, 0x00, 0x64, 0x10, 0x00, 0x84, - 0x00, 0x00, 0x83, 0x00, 0x00, 0x59, 0x5A, 0x09, - 0x00, 0x64, 0x11, 0x00, 0x84, 0x00, 0x00, 0x5A, - 0x0A, 0x00, 0x64, 0x12, 0x00, 0x53, + 0x05, 0x00, 0x64, 0x04, 0x00, 0x84, 0x00, 0x00, + 0x5A, 0x06, 0x00, 0x64, 0x05, 0x00, 0x84, 0x00, + 0x00, 0x5A, 0x07, 0x00, 0x64, 0x06, 0x00, 0x84, + 0x00, 0x00, 0x5A, 0x08, 0x00, 0x64, 0x07, 0x00, + 0x84, 0x00, 0x00, 0x5A, 0x09, 0x00, 0x64, 0x08, + 0x00, 0x84, 0x00, 0x00, 0x5A, 0x0A, 0x00, 0x52, + 0x53, 0x03, 0x06, 0x00, 0x53, 0x65, 0x72, 0x69, + 0x61, 0x6C, 0x0A, 0xA3, 0x00, 0x00, 0x42, 0x01, + 0x00, 0x00, 0x45, 0x03, 0x04, 0x07, 0x03, 0x08, + 0x00, 0x5F, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, + 0x5F, 0x03, 0x0A, 0x00, 0x5F, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x5F, 0x5F, 0x03, 0x08, + 0x00, 0x5F, 0x5F, 0x69, 0x6E, 0x69, 0x74, 0x5F, + 0x5F, 0x03, 0x04, 0x00, 0x70, 0x75, 0x74, 0x63, + 0x03, 0x04, 0x00, 0x70, 0x75, 0x74, 0x73, 0x03, + 0x04, 0x00, 0x67, 0x65, 0x74, 0x63, 0x03, 0x06, + 0x00, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6C, 0x03, + 0x08, 0x00, 0x06, 0x02, 0x09, 0x30, 0x09, 0x28, + 0x09, 0x28, 0x03, 0x08, 0x00, 0x6D, 0x62, 0x65, + 0x64, 0x2E, 0x70, 0x79, 0x00, 0x04, 0x04, 0x0B, + 0x03, 0xEA, 0xFF, 0x0B, 0x02, 0xE9, 0xFF, 0x0B, + 0x02, 0xE8, 0xFF, 0x0B, 0x01, 0xE7, 0xFF, 0x04, + 0x00, 0x65, 0x00, 0x00, 0x5A, 0x01, 0x00, 0x64, + 0x00, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x02, 0x00, + 0x64, 0x01, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x03, + 0x00, 0x64, 0x02, 0x00, 0x84, 0x00, 0x00, 0x5A, + 0x04, 0x00, 0x64, 0x03, 0x00, 0x84, 0x00, 0x00, + 0x5A, 0x05, 0x00, 0x52, 0x53, 0x03, 0x03, 0x00, + 0x53, 0x50, 0x49, 0x0A, 0xB0, 0x00, 0x00, 0x42, + 0x02, 0x00, 0x00, 0xE8, 0x03, 0x04, 0x07, 0x03, + 0x08, 0x00, 0x5F, 0x5F, 0x6E, 0x61, 0x6D, 0x65, + 0x5F, 0x5F, 0x03, 0x0A, 0x00, 0x5F, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x5F, 0x5F, 0x03, + 0x08, 0x00, 0x5F, 0x5F, 0x69, 0x6E, 0x69, 0x74, + 0x5F, 0x5F, 0x03, 0x06, 0x00, 0x66, 0x6F, 0x72, + 0x6D, 0x61, 0x74, 0x03, 0x09, 0x00, 0x66, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x6E, 0x63, 0x79, 0x03, + 0x05, 0x00, 0x77, 0x72, 0x69, 0x74, 0x65, 0x03, + 0x03, 0x00, 0x53, 0x50, 0x49, 0x03, 0x08, 0x00, + 0x06, 0x02, 0x09, 0x34, 0x0C, 0x30, 0x09, 0x28, + 0x03, 0x08, 0x00, 0x6D, 0x62, 0x65, 0x64, 0x2E, + 0x70, 0x79, 0x00, 0x04, 0x05, 0x0B, 0x04, 0xE6, + 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x03, + 0xE5, 0xFF, 0x0B, 0x02, 0xE4, 0xFF, 0x0B, 0x02, + 0xE3, 0xFF, 0x04, 0x00, 0x65, 0x00, 0x00, 0x5A, + 0x01, 0x00, 0x64, 0x00, 0x00, 0x84, 0x00, 0x00, + 0x5A, 0x02, 0x00, 0x64, 0x01, 0x00, 0x64, 0x02, + 0x00, 0x84, 0x01, 0x00, 0x5A, 0x03, 0x00, 0x64, + 0x03, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x04, 0x00, + 0x64, 0x04, 0x00, 0x84, 0x00, 0x00, 0x5A, 0x05, + 0x00, 0x52, 0x53, 0x03, 0x03, 0x00, 0x49, 0x32, + 0x43, 0x0A, 0xA6, 0x00, 0x00, 0x42, 0x01, 0x00, + 0x00, 0x9F, 0x04, 0x04, 0x07, 0x03, 0x08, 0x00, + 0x5F, 0x5F, 0x6E, 0x61, 0x6D, 0x65, 0x5F, 0x5F, + 0x03, 0x0A, 0x00, 0x5F, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x5F, 0x5F, 0x03, 0x08, 0x00, + 0x5F, 0x5F, 0x69, 0x6E, 0x69, 0x74, 0x5F, 0x5F, + 0x03, 0x09, 0x00, 0x66, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x6E, 0x63, 0x79, 0x03, 0x04, 0x00, 0x72, + 0x65, 0x61, 0x64, 0x03, 0x05, 0x00, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x03, 0x03, 0x00, 0x49, 0x32, + 0x43, 0x03, 0x08, 0x00, 0x06, 0x02, 0x09, 0x30, + 0x09, 0x28, 0x09, 0x30, 0x03, 0x08, 0x00, 0x6D, + 0x62, 0x65, 0x64, 0x2E, 0x70, 0x79, 0x00, 0x04, + 0x04, 0x0B, 0x03, 0xE2, 0xFF, 0x0B, 0x02, 0xE1, + 0xFF, 0x0B, 0x04, 0xE0, 0xFF, 0x0B, 0x04, 0xDF, + 0xFF, 0x04, 0x00, 0x65, 0x00, 0x00, 0x5A, 0x01, + 0x00, 0x64, 0x00, 0x00, 0x84, 0x00, 0x00, 0x5A, + 0x02, 0x00, 0x64, 0x01, 0x00, 0x84, 0x00, 0x00, + 0x5A, 0x03, 0x00, 0x64, 0x02, 0x00, 0x84, 0x00, + 0x00, 0x5A, 0x04, 0x00, 0x64, 0x03, 0x00, 0x84, + 0x00, 0x00, 0x5A, 0x05, 0x00, 0x52, 0x53, 0x00, + 0x04, 0x00, 0x64, 0x00, 0x00, 0x5A, 0x00, 0x00, + 0x64, 0x01, 0x00, 0x65, 0x01, 0x00, 0x66, 0x01, + 0x00, 0x64, 0x02, 0x00, 0x84, 0x00, 0x00, 0x83, + 0x00, 0x00, 0x59, 0x5A, 0x02, 0x00, 0x64, 0x03, + 0x00, 0x65, 0x01, 0x00, 0x66, 0x01, 0x00, 0x64, + 0x04, 0x00, 0x84, 0x00, 0x00, 0x83, 0x00, 0x00, + 0x59, 0x5A, 0x03, 0x00, 0x64, 0x05, 0x00, 0x65, + 0x01, 0x00, 0x66, 0x01, 0x00, 0x64, 0x06, 0x00, + 0x84, 0x00, 0x00, 0x83, 0x00, 0x00, 0x59, 0x5A, + 0x04, 0x00, 0x64, 0x07, 0x00, 0x65, 0x01, 0x00, + 0x66, 0x01, 0x00, 0x64, 0x08, 0x00, 0x84, 0x00, + 0x00, 0x83, 0x00, 0x00, 0x59, 0x5A, 0x05, 0x00, + 0x64, 0x09, 0x00, 0x65, 0x01, 0x00, 0x66, 0x01, + 0x00, 0x64, 0x0A, 0x00, 0x84, 0x00, 0x00, 0x83, + 0x00, 0x00, 0x59, 0x5A, 0x06, 0x00, 0x64, 0x0B, + 0x00, 0x65, 0x01, 0x00, 0x66, 0x01, 0x00, 0x64, + 0x0C, 0x00, 0x84, 0x00, 0x00, 0x83, 0x00, 0x00, + 0x59, 0x5A, 0x07, 0x00, 0x64, 0x0D, 0x00, 0x65, + 0x01, 0x00, 0x66, 0x01, 0x00, 0x64, 0x0E, 0x00, + 0x84, 0x00, 0x00, 0x83, 0x00, 0x00, 0x59, 0x5A, + 0x08, 0x00, 0x64, 0x0F, 0x00, 0x65, 0x01, 0x00, + 0x66, 0x01, 0x00, 0x64, 0x10, 0x00, 0x84, 0x00, + 0x00, 0x83, 0x00, 0x00, 0x59, 0x5A, 0x09, 0x00, + 0x64, 0x11, 0x00, 0x53, /* img-list-terminator */ 0xFF,
--- a/platform/mbed/main_nat.cpp Sat Mar 02 11:54:20 2013 +0000 +++ b/platform/mbed/main_nat.cpp Sun Mar 10 10:13:36 2013 +0000 @@ -4,7 +4,7 @@ * PyMite usr native function file * * automatically created by pmImgCreator.py - * on Sat Mar 02 20:27:03 2013 + * on Sun Mar 10 18:24:12 2013 * * DO NOT EDIT THIS FILE. * ANY CHANGES WILL BE LOST. @@ -18,11 +18,6 @@ /* From: mbed.py */ #include "mbed.h" -static DigitalOut led1(LED1); -static DigitalOut led2(LED2); -static DigitalOut led3(LED3); -static DigitalOut led4(LED4); - /* PinName lookup table. Converts pin number to PinName. */ static PinName const pinNumToName[] = { NC, LED1, LED2, LED3, LED4, p5, p6, p7, p8, p9, @@ -54,6 +49,203 @@ pPmObj_t pn; pPmObj_t pattrs; PmReturn_t retval = PM_RET_OK; + DigitalOut *dout; + uint8_t objid; + + /* Raise TypeError if wrong number of args */ + if (NATIVE_GET_NUM_ARGS() != 2) + { + PM_RAISE(retval, PM_RET_EX_TYPE); + return retval; + } + pself = NATIVE_GET_LOCAL(0); + + /* Raise TypeError if arg is not the right type */ + pn = NATIVE_GET_LOCAL(1); + if (OBJ_GET_TYPE(pn) != OBJ_TYPE_INT) + { + PM_RAISE(retval, PM_RET_EX_TYPE); + return retval; + } + + /* Instantiate the C++ object */ + dout = new DigitalOut(pinNumToName[((pPmInt_t)pn)->val]); + + /* Save the pointer to adc as an inaccessible attribute */ + pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; + retval = int_new((uint32_t)dout, &pn); + PM_RETURN_IF_ERROR(retval); + heap_gcPushTempRoot(pn, &objid); + retval = dict_setItem(pattrs, PM_NONE, pn); + heap_gcPopTempRoot(objid); + PM_RETURN_IF_ERROR(retval); + + NATIVE_SET_TOS(PM_NONE); + return retval; + +} + +PmReturn_t +nat_02_mbed_write(pPmFrame_t *ppframe) +{ + + pPmObj_t pself; + pPmObj_t pn; + pPmObj_t pattrs; + PmReturn_t retval = PM_RET_OK; + DigitalOut *dout; + + /* Raise TypeError if wrong number of args */ + if (NATIVE_GET_NUM_ARGS() != 2) + { + PM_RAISE(retval, PM_RET_EX_TYPE); + return retval; + } + pself = NATIVE_GET_LOCAL(0); + + /* Raise TypeError if arg is not the right type */ + pn = NATIVE_GET_LOCAL(1); + if (OBJ_GET_TYPE(pn) != OBJ_TYPE_INT) + { + PM_RAISE(retval, PM_RET_EX_TYPE); + return retval; + } + + /* Get the the C++ instance */ + pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; + retval = dict_getItem(pattrs, PM_NONE, &pn); + PM_RETURN_IF_ERROR(retval); + dout = (DigitalOut *)((pPmInt_t)pn)->val; + + /* Write value to DAC */ + pn = NATIVE_GET_LOCAL(1); + dout->write(((pPmInt_t)pn)->val); + + NATIVE_SET_TOS(PM_NONE); + return retval; + +} + +PmReturn_t +nat_03_mbed_read(pPmFrame_t *ppframe) +{ + + pPmObj_t pself; + pPmObj_t pn; + pPmObj_t pattrs; + PmReturn_t retval = PM_RET_OK; + DigitalOut *dout; + int32_t n; + + /* If wrong number of args, throw type exception */ + if (NATIVE_GET_NUM_ARGS() != 1) + { + PM_RAISE(retval, PM_RET_EX_TYPE); + return retval; + } + pself = NATIVE_GET_LOCAL(0); + + /* Get the the C++ instance */ + pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; + retval = dict_getItem(pattrs, PM_NONE, &pn); + PM_RETURN_IF_ERROR(retval); + dout = (DigitalOut *)((pPmInt_t)pn)->val; + + /* Return input value on the stack */ + n = dout->read(); + retval = int_new(n, &pn); + NATIVE_SET_TOS(pn); + + return retval; + +} + +PmReturn_t +nat_04_mbed___init__(pPmFrame_t *ppframe) +{ + + pPmObj_t pself; + pPmObj_t pn; + pPmObj_t pattrs; + PmReturn_t retval = PM_RET_OK; + DigitalIn *din; + uint8_t objid; + + /* Raise TypeError if wrong number of args */ + if (NATIVE_GET_NUM_ARGS() != 2) + { + PM_RAISE(retval, PM_RET_EX_TYPE); + return retval; + } + pself = NATIVE_GET_LOCAL(0); + + /* Raise TypeError if arg is not the right type */ + pn = NATIVE_GET_LOCAL(1); + if (OBJ_GET_TYPE(pn) != OBJ_TYPE_INT) + { + PM_RAISE(retval, PM_RET_EX_TYPE); + return retval; + } + + /* Instantiate the C++ object */ + din = new DigitalIn(pinNumToName[((pPmInt_t)pn)->val]); + + /* Save the pointer to adc as an inaccessible attribute */ + pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; + retval = int_new((uint32_t)din, &pn); + PM_RETURN_IF_ERROR(retval); + heap_gcPushTempRoot(pn, &objid); + retval = dict_setItem(pattrs, PM_NONE, pn); + heap_gcPopTempRoot(objid); + PM_RETURN_IF_ERROR(retval); + + NATIVE_SET_TOS(PM_NONE); + return retval; + +} + +PmReturn_t +nat_05_mbed_read(pPmFrame_t *ppframe) +{ + + pPmObj_t pself; + pPmObj_t pn; + pPmObj_t pattrs; + PmReturn_t retval = PM_RET_OK; + DigitalIn *din; + int32_t n; + + /* If wrong number of args, throw type exception */ + if (NATIVE_GET_NUM_ARGS() != 1) + { + PM_RAISE(retval, PM_RET_EX_TYPE); + return retval; + } + pself = NATIVE_GET_LOCAL(0); + + /* Get the the C++ instance */ + pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; + retval = dict_getItem(pattrs, PM_NONE, &pn); + PM_RETURN_IF_ERROR(retval); + din = (DigitalIn *)((pPmInt_t)pn)->val; + + /* Return input value on the stack */ + n = din->read(); + retval = int_new(n, &pn); + NATIVE_SET_TOS(pn); + + return retval; + +} + +PmReturn_t +nat_06_mbed___init__(pPmFrame_t *ppframe) +{ + + pPmObj_t pself; + pPmObj_t pn; + pPmObj_t pattrs; + PmReturn_t retval = PM_RET_OK; AnalogIn *adc; uint8_t objid; @@ -91,7 +283,7 @@ } PmReturn_t -nat_02_mbed_read_u16(pPmFrame_t *ppframe) +nat_07_mbed_read_u16(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -125,7 +317,7 @@ } PmReturn_t -nat_03_mbed_read(pPmFrame_t *ppframe) +nat_08_mbed_read(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -159,7 +351,7 @@ } PmReturn_t -nat_04_mbed___init__(pPmFrame_t *ppframe) +nat_09_mbed___init__(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -204,7 +396,7 @@ } PmReturn_t -nat_05_mbed_write_u16(pPmFrame_t *ppframe) +nat_10_mbed_write_u16(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -245,7 +437,7 @@ } PmReturn_t -nat_06_mbed_write(pPmFrame_t *ppframe) +nat_11_mbed_write(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -296,7 +488,7 @@ } PmReturn_t -nat_07_mbed_read(pPmFrame_t *ppframe) +nat_12_mbed_read(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -330,203 +522,6 @@ } PmReturn_t -nat_08_mbed___init__(pPmFrame_t *ppframe) -{ - - pPmObj_t pself; - pPmObj_t pn; - pPmObj_t pattrs; - PmReturn_t retval = PM_RET_OK; - DigitalIn *din; - uint8_t objid; - - /* Raise TypeError if wrong number of args */ - if (NATIVE_GET_NUM_ARGS() != 2) - { - PM_RAISE(retval, PM_RET_EX_TYPE); - return retval; - } - pself = NATIVE_GET_LOCAL(0); - - /* Raise TypeError if arg is not the right type */ - pn = NATIVE_GET_LOCAL(1); - if (OBJ_GET_TYPE(pn) != OBJ_TYPE_INT) - { - PM_RAISE(retval, PM_RET_EX_TYPE); - return retval; - } - - /* Instantiate the C++ object */ - din = new DigitalIn(pinNumToName[((pPmInt_t)pn)->val]); - - /* Save the pointer to adc as an inaccessible attribute */ - pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; - retval = int_new((uint32_t)din, &pn); - PM_RETURN_IF_ERROR(retval); - heap_gcPushTempRoot(pn, &objid); - retval = dict_setItem(pattrs, PM_NONE, pn); - heap_gcPopTempRoot(objid); - PM_RETURN_IF_ERROR(retval); - - NATIVE_SET_TOS(PM_NONE); - return retval; - -} - -PmReturn_t -nat_09_mbed_read(pPmFrame_t *ppframe) -{ - - pPmObj_t pself; - pPmObj_t pn; - pPmObj_t pattrs; - PmReturn_t retval = PM_RET_OK; - DigitalIn *din; - int32_t n; - - /* If wrong number of args, throw type exception */ - if (NATIVE_GET_NUM_ARGS() != 1) - { - PM_RAISE(retval, PM_RET_EX_TYPE); - return retval; - } - pself = NATIVE_GET_LOCAL(0); - - /* Get the the C++ instance */ - pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; - retval = dict_getItem(pattrs, PM_NONE, &pn); - PM_RETURN_IF_ERROR(retval); - din = (DigitalIn *)((pPmInt_t)pn)->val; - - /* Return input value on the stack */ - n = din->read(); - retval = int_new(n, &pn); - NATIVE_SET_TOS(pn); - - return retval; - -} - -PmReturn_t -nat_10_mbed___init__(pPmFrame_t *ppframe) -{ - - pPmObj_t pself; - pPmObj_t pn; - pPmObj_t pattrs; - PmReturn_t retval = PM_RET_OK; - DigitalOut *dout; - uint8_t objid; - - /* Raise TypeError if wrong number of args */ - if (NATIVE_GET_NUM_ARGS() != 2) - { - PM_RAISE(retval, PM_RET_EX_TYPE); - return retval; - } - pself = NATIVE_GET_LOCAL(0); - - /* Raise TypeError if arg is not the right type */ - pn = NATIVE_GET_LOCAL(1); - if (OBJ_GET_TYPE(pn) != OBJ_TYPE_INT) - { - PM_RAISE(retval, PM_RET_EX_TYPE); - return retval; - } - - /* Instantiate the C++ object */ - dout = new DigitalOut(pinNumToName[((pPmInt_t)pn)->val]); - - /* Save the pointer to adc as an inaccessible attribute */ - pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; - retval = int_new((uint32_t)dout, &pn); - PM_RETURN_IF_ERROR(retval); - heap_gcPushTempRoot(pn, &objid); - retval = dict_setItem(pattrs, PM_NONE, pn); - heap_gcPopTempRoot(objid); - PM_RETURN_IF_ERROR(retval); - - NATIVE_SET_TOS(PM_NONE); - return retval; - -} - -PmReturn_t -nat_11_mbed_read(pPmFrame_t *ppframe) -{ - - pPmObj_t pself; - pPmObj_t pn; - pPmObj_t pattrs; - PmReturn_t retval = PM_RET_OK; - DigitalOut *dout; - int32_t n; - - /* If wrong number of args, throw type exception */ - if (NATIVE_GET_NUM_ARGS() != 1) - { - PM_RAISE(retval, PM_RET_EX_TYPE); - return retval; - } - pself = NATIVE_GET_LOCAL(0); - - /* Get the the C++ instance */ - pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; - retval = dict_getItem(pattrs, PM_NONE, &pn); - PM_RETURN_IF_ERROR(retval); - dout = (DigitalOut *)((pPmInt_t)pn)->val; - - /* Return input value on the stack */ - n = dout->read(); - retval = int_new(n, &pn); - NATIVE_SET_TOS(pn); - - return retval; - -} - -PmReturn_t -nat_12_mbed_write(pPmFrame_t *ppframe) -{ - - pPmObj_t pself; - pPmObj_t pn; - pPmObj_t pattrs; - PmReturn_t retval = PM_RET_OK; - DigitalOut *dout; - - /* Raise TypeError if wrong number of args */ - if (NATIVE_GET_NUM_ARGS() != 2) - { - PM_RAISE(retval, PM_RET_EX_TYPE); - return retval; - } - pself = NATIVE_GET_LOCAL(0); - - /* Raise TypeError if arg is not the right type */ - pn = NATIVE_GET_LOCAL(1); - if (OBJ_GET_TYPE(pn) != OBJ_TYPE_INT) - { - PM_RAISE(retval, PM_RET_EX_TYPE); - return retval; - } - - /* Get the the C++ instance */ - pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; - retval = dict_getItem(pattrs, PM_NONE, &pn); - PM_RETURN_IF_ERROR(retval); - dout = (DigitalOut *)((pPmInt_t)pn)->val; - - /* Write value to DAC */ - pn = NATIVE_GET_LOCAL(1); - dout->write(((pPmInt_t)pn)->val); - - NATIVE_SET_TOS(PM_NONE); - return retval; - -} - -PmReturn_t nat_13_mbed___init__(pPmFrame_t *ppframe) { @@ -571,7 +566,44 @@ } PmReturn_t -nat_14_mbed_read(pPmFrame_t *ppframe) +nat_14_mbed_write(pPmFrame_t *ppframe) +{ + + PmReturn_t retval = PM_RET_OK; + + /* Raise TypeError if wrong number of args */ + if (NATIVE_GET_NUM_ARGS() != 2) + { + PM_RAISE(retval, PM_RET_EX_TYPE); + return retval; + } + pPmObj_t pself = NATIVE_GET_LOCAL(0); + + /* Raise TypeError if arg is not the right type */ + pPmObj_t pn = NATIVE_GET_LOCAL(1); + if (OBJ_GET_TYPE(pn) != OBJ_TYPE_FLT) + { + PM_RAISE(retval, PM_RET_EX_TYPE); + return retval; + } + + /* Get the the C++ instance */ + pPmObj_t pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; + retval = dict_getItem(pattrs, PM_NONE, &pn); + PM_RETURN_IF_ERROR(retval); + PwmOut* pwm = (PwmOut *)((pPmInt_t)pn)->val; + + pn = NATIVE_GET_LOCAL(1); + float n = ((pPmFloat_t)pn)->val; + pwm->write(n); + + NATIVE_SET_TOS(PM_NONE); + return retval; + +} + +PmReturn_t +nat_15_mbed_read(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -605,14 +637,10 @@ } PmReturn_t -nat_15_mbed_period(pPmFrame_t *ppframe) +nat_16_mbed_period(pPmFrame_t *ppframe) { - pPmObj_t pself; - pPmObj_t pn; - pPmObj_t pattrs; PmReturn_t retval = PM_RET_OK; - PwmOut *pwm; /* Raise TypeError if wrong number of args */ if (NATIVE_GET_NUM_ARGS() != 2) @@ -620,25 +648,24 @@ PM_RAISE(retval, PM_RET_EX_TYPE); return retval; } - pself = NATIVE_GET_LOCAL(0); + pPmObj_t pself = NATIVE_GET_LOCAL(0); /* Raise TypeError if arg is not the right type */ - pn = NATIVE_GET_LOCAL(1); - if (OBJ_GET_TYPE(pn) != OBJ_TYPE_INT) + pPmObj_t pn = NATIVE_GET_LOCAL(1); + if (OBJ_GET_TYPE(pn) != OBJ_TYPE_FLT) { PM_RAISE(retval, PM_RET_EX_TYPE); return retval; } /* Get the the C++ instance */ - pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; + pPmObj_t pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; retval = dict_getItem(pattrs, PM_NONE, &pn); PM_RETURN_IF_ERROR(retval); - pwm = (PwmOut *)((pPmInt_t)pn)->val; + PwmOut* pwm = (PwmOut *)((pPmInt_t)pn)->val; - /* Write value to DAC */ pn = NATIVE_GET_LOCAL(1); - pwm->period(((pPmInt_t)pn)->val); + pwm->period(((pPmFloat_t)pn)->val); NATIVE_SET_TOS(PM_NONE); return retval; @@ -646,7 +673,7 @@ } PmReturn_t -nat_16_mbed_period_ms(pPmFrame_t *ppframe) +nat_17_mbed_period_ms(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -677,7 +704,6 @@ PM_RETURN_IF_ERROR(retval); pwm = (PwmOut *)((pPmInt_t)pn)->val; - /* Write value to DAC */ pn = NATIVE_GET_LOCAL(1); pwm->period_ms(((pPmInt_t)pn)->val); @@ -687,7 +713,7 @@ } PmReturn_t -nat_17_mbed_period_us(pPmFrame_t *ppframe) +nat_18_mbed_period_us(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -718,7 +744,6 @@ PM_RETURN_IF_ERROR(retval); pwm = (PwmOut *)((pPmInt_t)pn)->val; - /* Write value to DAC */ pn = NATIVE_GET_LOCAL(1); pwm->period_us(((pPmInt_t)pn)->val); @@ -728,14 +753,13 @@ } PmReturn_t -nat_18_mbed_pulsewidth(pPmFrame_t *ppframe) +nat_19_mbed_pulsewidth(pPmFrame_t *ppframe) { pPmObj_t pself; pPmObj_t pn; pPmObj_t pattrs; PmReturn_t retval = PM_RET_OK; - PwmOut *pwm; /* Raise TypeError if wrong number of args */ if (NATIVE_GET_NUM_ARGS() != 2) @@ -747,7 +771,7 @@ /* Raise TypeError if arg is not the right type */ pn = NATIVE_GET_LOCAL(1); - if (OBJ_GET_TYPE(pn) != OBJ_TYPE_INT) + if (OBJ_GET_TYPE(pn) != OBJ_TYPE_FLT) { PM_RAISE(retval, PM_RET_EX_TYPE); return retval; @@ -757,11 +781,10 @@ pattrs = (pPmObj_t)((pPmInstance_t)pself)->cli_attrs; retval = dict_getItem(pattrs, PM_NONE, &pn); PM_RETURN_IF_ERROR(retval); - pwm = (PwmOut *)((pPmInt_t)pn)->val; + PwmOut* pwm = (PwmOut *)((pPmInt_t)pn)->val; - /* Write value to DAC */ pn = NATIVE_GET_LOCAL(1); - pwm->pulsewidth(((pPmInt_t)pn)->val); + pwm->pulsewidth(((pPmFloat_t)pn)->val); NATIVE_SET_TOS(PM_NONE); return retval; @@ -769,7 +792,7 @@ } PmReturn_t -nat_19_mbed_puslewidth_ms(pPmFrame_t *ppframe) +nat_20_mbed_puslewidth_ms(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -810,7 +833,7 @@ } PmReturn_t -nat_20_mbed_pulsewidth_us(pPmFrame_t *ppframe) +nat_21_mbed_pulsewidth_us(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -841,7 +864,6 @@ PM_RETURN_IF_ERROR(retval); pwm = (PwmOut *)((pPmInt_t)pn)->val; - /* Write value to DAC */ pn = NATIVE_GET_LOCAL(1); pwm->pulsewidth_us(((pPmInt_t)pn)->val); @@ -851,7 +873,7 @@ } PmReturn_t -nat_21_mbed___init__(pPmFrame_t *ppframe) +nat_22_mbed___init__(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -900,7 +922,7 @@ } PmReturn_t -nat_22_mbed_putc(pPmFrame_t *ppframe) +nat_23_mbed_putc(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -941,7 +963,7 @@ } PmReturn_t -nat_23_mbed_puts(pPmFrame_t *ppframe) +nat_24_mbed_puts(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -982,7 +1004,7 @@ } PmReturn_t -nat_24_mbed_getc(pPmFrame_t *ppframe) +nat_25_mbed_getc(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -1016,7 +1038,7 @@ } PmReturn_t -nat_25_mbed___init__(pPmFrame_t *ppframe) +nat_26_mbed___init__(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -1069,7 +1091,7 @@ } PmReturn_t -nat_26_mbed_format(pPmFrame_t *ppframe) +nat_27_mbed_format(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -1118,7 +1140,7 @@ } PmReturn_t -nat_27_mbed_frequency(pPmFrame_t *ppframe) +nat_28_mbed_frequency(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -1159,7 +1181,7 @@ } PmReturn_t -nat_28_mbed_write(pPmFrame_t *ppframe) +nat_29_mbed_write(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -1201,7 +1223,7 @@ } PmReturn_t -nat_29_mbed___init__(pPmFrame_t *ppframe) +nat_30_mbed___init__(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -1250,7 +1272,7 @@ } PmReturn_t -nat_30_mbed_frequency(pPmFrame_t *ppframe) +nat_31_mbed_frequency(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -1291,7 +1313,7 @@ } PmReturn_t -nat_31_mbed_read(pPmFrame_t *ppframe) +nat_32_mbed_read(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -1340,7 +1362,7 @@ } PmReturn_t -nat_32_mbed_write(pPmFrame_t *ppframe) +nat_33_mbed_write(pPmFrame_t *ppframe) { pPmObj_t pself; @@ -1387,86 +1409,41 @@ } -PmReturn_t -nat_33_mbed_set_led(pPmFrame_t *ppframe) -{ - - pPmObj_t pled; - pPmObj_t pval; - int32_t nled; - int32_t nval; - PmReturn_t retval = PM_RET_OK; - - /* If wrong number of args, raise TypeError */ - if (NATIVE_GET_NUM_ARGS() > 2) - { - PM_RAISE(retval, PM_RET_EX_TYPE); - return retval; - } - - /* If arg is not an int, raise TypeError */ - pled = NATIVE_GET_LOCAL(0); - pval = NATIVE_GET_LOCAL(1); - if ((OBJ_GET_TYPE(pled) != OBJ_TYPE_INT) - || (OBJ_GET_TYPE(pval) != OBJ_TYPE_INT)) - { - PM_RAISE(retval, PM_RET_EX_TYPE); - return retval; - } - - /* Get int value from the arg */ - nled = ((pPmInt_t)pled)->val; - nval = ((pPmInt_t)pval)->val; - - /* Set the LED to the given value */ - switch (nled) - { - case 1: led1 = nval; break; - case 2: led2 = nval; break; - case 3: led3 = nval; break; - case 4: led4 = nval; break; - } - - NATIVE_SET_TOS(PM_NONE); - return retval; - -} - /* Native function lookup table */ pPmNativeFxn_t const usr_nat_fxn_table[] = { nat_placeholder_func, nat_01_mbed___init__, - nat_02_mbed_read_u16, + nat_02_mbed_write, nat_03_mbed_read, nat_04_mbed___init__, - nat_05_mbed_write_u16, - nat_06_mbed_write, - nat_07_mbed_read, - nat_08_mbed___init__, - nat_09_mbed_read, - nat_10_mbed___init__, - nat_11_mbed_read, - nat_12_mbed_write, + nat_05_mbed_read, + nat_06_mbed___init__, + nat_07_mbed_read_u16, + nat_08_mbed_read, + nat_09_mbed___init__, + nat_10_mbed_write_u16, + nat_11_mbed_write, + nat_12_mbed_read, nat_13_mbed___init__, - nat_14_mbed_read, - nat_15_mbed_period, - nat_16_mbed_period_ms, - nat_17_mbed_period_us, - nat_18_mbed_pulsewidth, - nat_19_mbed_puslewidth_ms, - nat_20_mbed_pulsewidth_us, - nat_21_mbed___init__, - nat_22_mbed_putc, - nat_23_mbed_puts, - nat_24_mbed_getc, - nat_25_mbed___init__, - nat_26_mbed_format, - nat_27_mbed_frequency, - nat_28_mbed_write, - nat_29_mbed___init__, - nat_30_mbed_frequency, - nat_31_mbed_read, - nat_32_mbed_write, - nat_33_mbed_set_led, + nat_14_mbed_write, + nat_15_mbed_read, + nat_16_mbed_period, + nat_17_mbed_period_ms, + nat_18_mbed_period_us, + nat_19_mbed_pulsewidth, + nat_20_mbed_puslewidth_ms, + nat_21_mbed_pulsewidth_us, + nat_22_mbed___init__, + nat_23_mbed_putc, + nat_24_mbed_puts, + nat_25_mbed_getc, + nat_26_mbed___init__, + nat_27_mbed_format, + nat_28_mbed_frequency, + nat_29_mbed_write, + nat_30_mbed___init__, + nat_31_mbed_frequency, + nat_32_mbed_read, + nat_33_mbed_write, };
--- a/vm/interp.c Sat Mar 02 11:54:20 2013 +0000 +++ b/vm/interp.c Sun Mar 10 10:13:36 2013 +0000 @@ -166,11 +166,21 @@ TOS = pobj2; continue; +#ifdef HAVE_PYTHON27 + case LIST_APPEND: + t16 = GET_ARG(); + C_ASSERT(t16 >= 2); + retval = list_append((*(PM_SP - t16)), TOS); + PM_SP--; + continue; + +#else /* HAVE_PYTHON27 */ case LIST_APPEND: /* list_append will raise a TypeError if TOS1 is not a list */ retval = list_append(TOS1, TOS); PM_SP -= 2; continue; +#endif /* HAVE_PYTHON27 */ case BINARY_POWER: case INPLACE_POWER: @@ -1561,7 +1571,50 @@ t16 = GET_ARG(); PM_IP += t16; continue; + +#ifdef HAVE_PYTHON27 + case JUMP_IF_FALSE_OR_POP: + t16 = GET_ARG(); + if (obj_isFalse(TOS)) + { + PM_IP = PM_FP->fo_func->f_co->co_codeaddr + t16; + } + else + { + --PM_SP; + } + continue; + case JUMP_IF_TRUE_OR_POP: + t16 = GET_ARG(); + if (!obj_isFalse(TOS)) + { + PM_IP = PM_FP->fo_func->f_co->co_codeaddr + t16; + } + else + { + --PM_SP; + } + continue; + + case POP_JUMP_IF_FALSE: + t16 = GET_ARG(); + if (obj_isFalse(TOS)) + { + PM_IP = PM_FP->fo_func->f_co->co_codeaddr + t16; + } + --PM_SP; + continue; + + case POP_JUMP_IF_TRUE: + t16 = GET_ARG(); + if (!obj_isFalse(TOS)) + { + PM_IP = PM_FP->fo_func->f_co->co_codeaddr + t16; + } + --PM_SP; + continue; +#else /* HAVE_PYTHON27 */ case JUMP_IF_FALSE: t16 = GET_ARG(); if (obj_isFalse(TOS)) @@ -1577,6 +1630,7 @@ PM_IP += t16; } continue; +#endif /* HAVE_PYTHON27 */ case JUMP_ABSOLUTE: case CONTINUE_LOOP: @@ -2154,6 +2208,10 @@ default: +#ifdef HAVE_PYTHON27 + printf("SystemError unimplemented opcode %02x\n", bc); + C_ASSERT(0); +#endif /* SystemError, unknown or unimplemented opcode */ PM_RAISE(retval, PM_RET_EX_SYS); break;
--- a/vm/interp.h Sat Mar 02 11:54:20 2013 +0000 +++ b/vm/interp.h Sun Mar 10 10:13:36 2013 +0000 @@ -86,6 +86,267 @@ */ typedef enum PmBcode_e { +#ifdef HAVE_PYTHON27 + STOP_CODE=0, /* 0x00 */ + POP_TOP=1, /* 0x01 */ + ROT_TWO=2, /* 0x02 */ + ROT_THREE=3, /* 0x03 */ + DUP_TOP=4, /* 0x04 */ + ROT_FOUR=5, /* 0x05 */ + UNUSED_06=6, + UNUSED_07=7, + UNUSED_08=8, + NOP=9, /* 0x09 */ + UNARY_POSITIVE=10, /* 0x0a */ + UNARY_NEGATIVE=11, /* 0x0b */ + UNARY_NOT=12, /* 0x0c */ + UNARY_CONVERT=13, /* 0x0d */ + UNUSED_0E=14, + UNARY_INVERT=15, /* 0x0f */ + UNUSED_10=16, + UNUSED_11=17, + UNUSED_12=18, + BINARY_POWER=19, /* 0x13 */ + BINARY_MULTIPLY=20, /* 0x14 */ + BINARY_DIVIDE=21, /* 0x15 */ + BINARY_MODULO=22, /* 0x16 */ + BINARY_ADD=23, /* 0x17 */ + BINARY_SUBTRACT=24, /* 0x18 */ + BINARY_SUBSCR=25, /* 0x19 */ + BINARY_FLOOR_DIVIDE=26, /* 0x1a */ + BINARY_TRUE_DIVIDE=27, /* 0x1b */ + INPLACE_FLOOR_DIVIDE=28, /* 0x1c */ + INPLACE_TRUE_DIVIDE=29, /* 0x1d */ + SLICE_0=30, /* 0x1e */ + SLICE_1=31, /* 0x1f */ + SLICE_2=32, /* 0x20 */ + SLICE_3=33, /* 0x21 */ + UNUSED_22=34, + UNUSED_23=35, + UNUSED_24=36, + UNUSED_25=37, + UNUSED_26=38, + UNUSED_27=39, + STORE_SLICE_0=40, /* 0x28 */ + STORE_SLICE_1=41, /* 0x29 */ + STORE_SLICE_2=42, /* 0x2a */ + STORE_SLICE_3=43, /* 0x2b */ + UNUSED_2C=44, + UNUSED_2D=45, + UNUSED_2E=46, + UNUSED_2F=47, + UNUSED_30=48, + UNUSED_31=49, + DELETE_SLICE_0=50, /* 0x32 */ + DELETE_SLICE_1=51, /* 0x33 */ + DELETE_SLICE_2=52, /* 0x34 */ + DELETE_SLICE_3=53, /* 0x35 */ + STORE_MAP=54, /* 0x36 */ + INPLACE_ADD=55, /* 0x37 */ + INPLACE_SUBTRACT=56, /* 0x38 */ + INPLACE_MULTIPLY=57, /* 0x39 */ + INPLACE_DIVIDE=58, /* 0x3a */ + INPLACE_MODULO=59, /* 0x3b */ + STORE_SUBSCR=60, /* 0x3c */ + DELETE_SUBSCR=61, /* 0x3d */ + BINARY_LSHIFT=62, /* 0x3e */ + BINARY_RSHIFT=63, /* 0x3f */ + BINARY_AND=64, /* 0x40 */ + BINARY_XOR=65, /* 0x41 */ + BINARY_OR=66, /* 0x42 */ + INPLACE_POWER=67, /* 0x43 */ + GET_ITER=68, /* 0x44 */ + UNUSED_45=69, + PRINT_EXPR=70, /* 0x46 */ + PRINT_ITEM=71, /* 0x47 */ + PRINT_NEWLINE=72, /* 0x48 */ + PRINT_ITEM_TO=73, /* 0x49 */ + PRINT_NEWLINE_TO=74, /* 0x4a */ + INPLACE_LSHIFT=75, /* 0x4b */ + INPLACE_RSHIFT=76, /* 0x4c */ + INPLACE_AND=77, /* 0x4d */ + INPLACE_XOR=78, /* 0x4e */ + INPLACE_OR=79, /* 0x4f */ + BREAK_LOOP=80, /* 0x50 */ + WITH_CLEANUP=81, /* 0x51 */ + LOAD_LOCALS=82, /* 0x52 */ + RETURN_VALUE=83, /* 0x53 */ + IMPORT_STAR=84, /* 0x54 */ + EXEC_STMT=85, /* 0x55 */ + YIELD_VALUE=86, /* 0x56 */ + POP_BLOCK=87, /* 0x57 */ + END_FINALLY=88, /* 0x58 */ + BUILD_CLASS=89, /* 0x59 */ + + /* Opcodes from here have an argument */ + HAVE_ARGUMENT=90, /* 0x5a */ + STORE_NAME=90, /* 0x5a */ + DELETE_NAME=91, /* 0x5b */ + UNPACK_SEQUENCE=92, /* 0x5c */ + FOR_ITER=93, /* 0x5d */ + LIST_APPEND=94, /* 0x5e */ + STORE_ATTR=95, /* 0x5f */ + DELETE_ATTR=96, /* 0x60 */ + STORE_GLOBAL=97, /* 0x61 */ + DELETE_GLOBAL=98, /* 0x62 */ + DUP_TOPX=99, /* 0x63 */ + LOAD_CONST=100, /* 0x64 */ + LOAD_NAME=101, /* 0x65 */ + BUILD_TUPLE=102, /* 0x66 */ + BUILD_LIST=103, /* 0x67 */ + BUILD_SET=104, /* 0x68 */ + BUILD_MAP=105, /* 0x69 */ + LOAD_ATTR=106, /* 0x6a */ + COMPARE_OP=107, /* 0x6b */ + IMPORT_NAME=108, /* 0x6c */ + IMPORT_FROM=109, /* 0x6d */ + JUMP_FORWARD=110, /* 0x6e */ + JUMP_IF_FALSE_OR_POP=111, /* 0x6f */ + JUMP_IF_TRUE_OR_POP=112, /* 0x70 */ + JUMP_ABSOLUTE=113, /* 0x71 */ + POP_JUMP_IF_FALSE=114, /* 0x72 */ + POP_JUMP_IF_TRUE=115, /* 0x73 */ + LOAD_GLOBAL=116, /* 0x74 */ + UNUSED_75=117, + UNUSED_76=118, + CONTINUE_LOOP=119, /* 0x77 */ + SETUP_LOOP=120, /* 0x78 */ + SETUP_EXCEPT=121, /* 0x79 */ + SETUP_FINALLY=122, /* 0x7a */ + UNUSED_7B=123, + LOAD_FAST=124, /* 0x7c */ + STORE_FAST=125, /* 0x7d */ + DELETE_FAST=126, /* 0x7e */ + UNUSED_7F=127, + UNUSED_80=128, + UNUSED_81=129, + RAISE_VARARGS=130, /* 0x82 */ + CALL_FUNCTION=131, /* 0x83 */ + MAKE_FUNCTION=132, /* 0x84 */ + BUILD_SLICE=133, /* 0x85 */ + MAKE_CLOSURE=134, /* 0x86 */ + LOAD_CLOSURE=135, /* 0x87 */ + LOAD_DEREF=136, /* 0x88 */ + STORE_DEREF=137, /* 0x89 */ + UNUSED_8A=138, + UNUSED_8B=139, + CALL_FUNCTION_VAR=140, /* 0x8c */ + CALL_FUNCTION_KW=141, /* 0x8d */ + CALL_FUNCTION_VAR_KW=142, /* 0x8e */ + SETUP_WITH=143, /* 0x8f */ + UNUSED_90=144, + EXTENDED_ARG=145, /* 0x91 */ + SET_ADD=146, /* 0x92 */ + MAP_ADD=147, /* 0x93 */ + UNUSED_94=148, + UNUSED_95=149, + UNUSED_96=150, + UNUSED_97=151, + UNUSED_98=152, + UNUSED_99=153, + UNUSED_9A=154, + UNUSED_9B=155, + UNUSED_9C=156, + UNUSED_9D=157, + UNUSED_9E=158, + UNUSED_9F=159, + UNUSED_A0=160, + UNUSED_A1=161, + UNUSED_A2=162, + UNUSED_A3=163, + UNUSED_A4=164, + UNUSED_A5=165, + UNUSED_A6=166, + UNUSED_A7=167, + UNUSED_A8=168, + UNUSED_A9=169, + UNUSED_AA=170, + UNUSED_AB=171, + UNUSED_AC=172, + UNUSED_AD=173, + UNUSED_AE=174, + UNUSED_AF=175, + UNUSED_B0=176, + UNUSED_B1=177, + UNUSED_B2=178, + UNUSED_B3=179, + UNUSED_B4=180, + UNUSED_B5=181, + UNUSED_B6=182, + UNUSED_B7=183, + UNUSED_B8=184, + UNUSED_B9=185, + UNUSED_BA=186, + UNUSED_BB=187, + UNUSED_BC=188, + UNUSED_BD=189, + UNUSED_BE=190, + UNUSED_BF=191, + UNUSED_C0=192, + UNUSED_C1=193, + UNUSED_C2=194, + UNUSED_C3=195, + UNUSED_C4=196, + UNUSED_C5=197, + UNUSED_C6=198, + UNUSED_C7=199, + UNUSED_C8=200, + UNUSED_C9=201, + UNUSED_CA=202, + UNUSED_CB=203, + UNUSED_CC=204, + UNUSED_CD=205, + UNUSED_CE=206, + UNUSED_CF=207, + UNUSED_D0=208, + UNUSED_D1=209, + UNUSED_D2=210, + UNUSED_D3=211, + UNUSED_D4=212, + UNUSED_D5=213, + UNUSED_D6=214, + UNUSED_D7=215, + UNUSED_D8=216, + UNUSED_D9=217, + UNUSED_DA=218, + UNUSED_DB=219, + UNUSED_DC=220, + UNUSED_DD=221, + UNUSED_DE=222, + UNUSED_DF=223, + UNUSED_E0=224, + UNUSED_E1=225, + UNUSED_E2=226, + UNUSED_E3=227, + UNUSED_E4=228, + UNUSED_E5=229, + UNUSED_E6=230, + UNUSED_E7=231, + UNUSED_E8=232, + UNUSED_E9=233, + UNUSED_EA=234, + UNUSED_EB=235, + UNUSED_EC=236, + UNUSED_ED=237, + UNUSED_EE=238, + UNUSED_EF=239, + UNUSED_F0=240, + UNUSED_F1=241, + UNUSED_F2=242, + UNUSED_F3=243, + UNUSED_F4=244, + UNUSED_F5=245, + UNUSED_F6=246, + UNUSED_F7=247, + UNUSED_F8=248, + UNUSED_F9=249, + UNUSED_FA=250, + UNUSED_FB=251, + UNUSED_FC=252, + UNUSED_FD=253, + UNUSED_FE=254, + UNUSED_FF=255, +#else /* HAVE_PYTHON27 */ /* * Python source to create this list: * import dis @@ -272,6 +533,7 @@ UNUSED_F4, UNUSED_F5, UNUSED_F6, UNUSED_F7, UNUSED_F8, UNUSED_F9, UNUSED_FA, UNUSED_FB, UNUSED_FC, UNUSED_FD, UNUSED_FE, UNUSED_FF +#endif /* HAVE_PYTHON27 */ } PmBcode_t, *pPmBcode_t;