Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
src/lut.cpp@9:816b9a4e4f21, 2018-12-07 (annotated)
- Committer:
- mfwic
- Date:
- Fri Dec 07 00:15:19 2018 +0000
- Revision:
- 9:816b9a4e4f21
- Parent:
- 7:860b3a8275cb
- Child:
- 11:01dcfb29fbc4
Added 1024 entry LUT.; Has bug if my12 > 21247
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mfwic | 4:db38665c3727 | 1 | //------------------------------------------------------------------------------- |
mfwic | 4:db38665c3727 | 2 | // |
mfwic | 4:db38665c3727 | 3 | // Treehouse Designs Inc. |
mfwic | 4:db38665c3727 | 4 | // Colorado Springs, Colorado |
mfwic | 4:db38665c3727 | 5 | // |
mfwic | 4:db38665c3727 | 6 | // Copyright (c) 2016 by Treehouse Designs Inc. |
mfwic | 4:db38665c3727 | 7 | // Copyright (c) 2018 by Agility Power Systems Inc. |
mfwic | 4:db38665c3727 | 8 | // |
mfwic | 4:db38665c3727 | 9 | // This code is the property of Treehouse Designs, Inc. (Treehouse) and |
mfwic | 4:db38665c3727 | 10 | // Agility Power Systems Inc. (Agility) and may not be redistributed |
mfwic | 4:db38665c3727 | 11 | // in any form without prior written permission from |
mfwic | 4:db38665c3727 | 12 | // both copyright holders, Treehouse and Agility. |
mfwic | 4:db38665c3727 | 13 | // |
mfwic | 4:db38665c3727 | 14 | // The above copyright notice and this permission notice shall be included in |
mfwic | 4:db38665c3727 | 15 | // all copies or substantial portions of the Software. |
mfwic | 4:db38665c3727 | 16 | // |
mfwic | 4:db38665c3727 | 17 | // |
mfwic | 4:db38665c3727 | 18 | //------------------------------------------------------------------------------- |
mfwic | 4:db38665c3727 | 19 | // |
mfwic | 4:db38665c3727 | 20 | // REVISION HISTORY: |
mfwic | 4:db38665c3727 | 21 | // |
mfwic | 4:db38665c3727 | 22 | // $Author: $ |
mfwic | 4:db38665c3727 | 23 | // $Rev: $ |
mfwic | 4:db38665c3727 | 24 | // $Date: $ |
mfwic | 4:db38665c3727 | 25 | // $URL: $ |
mfwic | 4:db38665c3727 | 26 | // |
mfwic | 4:db38665c3727 | 27 | //------------------------------------------------------------------------------- |
mfwic | 4:db38665c3727 | 28 | |
mfwic | 4:db38665c3727 | 29 | #include "mbed.h" |
mfwic | 5:09be5bbb5020 | 30 | #include "stdint.h" |
mfwic | 6:39442d493098 | 31 | #include "globals.h" |
mfwic | 4:db38665c3727 | 32 | #include "lut.h" |
mfwic | 4:db38665c3727 | 33 | |
mfwic | 4:db38665c3727 | 34 | //unsigned int binCode[6]; |
mfwic | 9:816b9a4e4f21 | 35 | /* |
mfwic | 5:09be5bbb5020 | 36 | #define MAX_LUT_ENTRIES 1024 |
mfwic | 5:09be5bbb5020 | 37 | |
mfwic | 7:860b3a8275cb | 38 | uint8_t binC[MAX_LUT_ENTRIES] { 0, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; |
mfwic | 7:860b3a8275cb | 39 | uint8_t thermC[MAX_LUT_ENTRIES]{ 0, 0, 1, 1, 2, 2, 3, 3, 4, 5}; |
mfwic | 9:816b9a4e4f21 | 40 | */ |
mfwic | 9:816b9a4e4f21 | 41 | |
mfwic | 9:816b9a4e4f21 | 42 | #include "lut_data_en_v1.h" |
mfwic | 9:816b9a4e4f21 | 43 | #include "lut_data_slot_v1.h" |
mfwic | 5:09be5bbb5020 | 44 | |
mfwic | 6:39442d493098 | 45 | /******************************************************************************* |
mfwic | 6:39442d493098 | 46 | dec2bin_fix - Converts decimal to binary with fixed width as specified. |
mfwic | 6:39442d493098 | 47 | *******************************************************************************/ |
mfwic | 6:39442d493098 | 48 | void dec2bin_fix(unsigned int dec, unsigned int n){ |
mfwic | 4:db38665c3727 | 49 | int k; |
mfwic | 4:db38665c3727 | 50 | |
mfwic | 6:39442d493098 | 51 | for (int c = 5; c >= 0; c--){ |
mfwic | 4:db38665c3727 | 52 | k = dec >> c; |
mfwic | 4:db38665c3727 | 53 | if (k & 1) |
mfwic | 4:db38665c3727 | 54 | binCode[n] = 1; |
mfwic | 4:db38665c3727 | 55 | else |
mfwic | 4:db38665c3727 | 56 | binCode[n] = 0; |
mfwic | 4:db38665c3727 | 57 | n--; |
mfwic | 4:db38665c3727 | 58 | } |
mfwic | 4:db38665c3727 | 59 | } |
mfwic | 4:db38665c3727 | 60 | |
mfwic | 6:39442d493098 | 61 | /******************************************************************************* |
mfwic | 6:39442d493098 | 62 | dec2therm_fix - Converts decimal to thermometer code with fixed width as specified. |
mfwic | 6:39442d493098 | 63 | *******************************************************************************/ |
mfwic | 6:39442d493098 | 64 | void dec2therm_fix(unsigned int dec, unsigned int n){ |
mfwic | 6:39442d493098 | 65 | for (int i = 0; i <= n; i++){ |
mfwic | 4:db38665c3727 | 66 | thermCode[i] = 0; |
mfwic | 4:db38665c3727 | 67 | } |
mfwic | 4:db38665c3727 | 68 | |
mfwic | 6:39442d493098 | 69 | for (int i = 0; i <= dec; i++){ |
mfwic | 4:db38665c3727 | 70 | thermCode[i] = 1; |
mfwic | 4:db38665c3727 | 71 | } |
mfwic | 6:39442d493098 | 72 | } |
mfwic | 6:39442d493098 | 73 | |
mfwic | 6:39442d493098 | 74 | /******************************************************************************* |
mfwic | 6:39442d493098 | 75 | getLUTcode - gets output codes from LUT using row reference. |
mfwic | 6:39442d493098 | 76 | *******************************************************************************/ |
mfwic | 6:39442d493098 | 77 | void getLUTcode(unsigned short row){ |
mfwic | 6:39442d493098 | 78 | |
mfwic | 6:39442d493098 | 79 | dec2bin_fix(binC[row], (unsigned int)WEIGHT_BIN_WIDTH); |
mfwic | 6:39442d493098 | 80 | dec2therm_fix(thermC[row], (unsigned int)BOARDS_THERMCODE_WIDTH); |
mfwic | 4:db38665c3727 | 81 | |
mfwic | 4:db38665c3727 | 82 | } |
mfwic | 4:db38665c3727 | 83 | |
mfwic | 6:39442d493098 | 84 | /******************************************************************************* |
mfwic | 6:39442d493098 | 85 | getLUT_binCode - gets output codes from LUT using row reference. |
mfwic | 6:39442d493098 | 86 | *******************************************************************************/ |
mfwic | 6:39442d493098 | 87 | unsigned int getLUT_binCode(unsigned short row){ |
mfwic | 6:39442d493098 | 88 | return binC[row]; |
mfwic | 6:39442d493098 | 89 | } |
mfwic | 4:db38665c3727 | 90 | |
mfwic | 6:39442d493098 | 91 | /******************************************************************************* |
mfwic | 6:39442d493098 | 92 | getLUT_binCode - gets output codes from LUT using row reference. |
mfwic | 6:39442d493098 | 93 | *******************************************************************************/ |
mfwic | 6:39442d493098 | 94 | unsigned int getLUT_thermCode(unsigned short row){ |
mfwic | 6:39442d493098 | 95 | return thermC[row]; |
mfwic | 4:db38665c3727 | 96 | } |