Sorry for the late response on this, here are tables we use in sculptures. Exponential Beta value for these was 2.
For a given desired intensity index, the output of the lookup table would be your duty ratio (out of a max of 256)
#ifndef LOOKUP_H
#define LOOKUP_H
/*
//beta = 2
const rom unsigned char INTENSITY[64] =
{
0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,
1 ,1 ,1 ,2 ,2 ,2 ,3 ,3 ,
4 ,4 ,5 ,5 ,6 ,6 ,7 ,8 ,
8 ,9 ,10 ,11 ,11 ,12 ,13 ,14 ,
15 ,16 ,17 ,18 ,19 ,20 ,22 ,23 ,
24 ,25 ,27 ,28 ,29 ,31 ,32 ,34 ,
35 ,37 ,38 ,40 ,42 ,43 ,45 ,47 ,
49 ,50 ,52 ,54 ,56 ,58 ,60 ,62 };
*/
/*
const unsigned char INTENSITY[256] =
{
0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
0 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,2 ,2 ,2 ,2 ,2 ,2 ,3 ,3 ,
3 ,3 ,4 ,4 ,4 ,4 ,5 ,5 ,5 ,5 ,6 ,6 ,6 ,7 ,7 ,7 ,8 ,
8 ,8 ,9 ,9 ,9 ,10 ,10 ,11 ,11 ,11 ,12 ,12 ,13 ,13 ,14 ,14 ,15 ,
15 ,15 ,16 ,16 ,17 ,18 ,18 ,19 ,19 ,20 ,20 ,21 ,21 ,22 ,23 ,23 ,24 ,24 ,25 ,
26 ,26 ,27 ,28 ,28 ,29 ,30 ,30 ,31 ,32 ,32 ,33 ,34 ,34 ,35 ,36 ,37 ,
37 ,38 ,39 ,40 ,41 ,41 ,42 ,43 ,44 ,
45 ,45 ,46 ,47 ,48 ,49 ,50 ,51 ,52 ,52 ,53 ,54 ,55 ,56 ,57 ,58 ,59 ,
60 ,61 ,62 ,63 ,64 ,65 ,66 ,67 ,68 ,69 ,70 ,71 ,72 ,73 ,74 ,75 ,76 ,
78 ,79 ,80 ,81 ,82 ,83 ,84 ,85 ,87 ,88 ,89 ,90 ,91 ,92 ,94 ,95 ,96 ,
97 ,99 ,100 ,101 ,102 ,104 ,105 ,106 ,107 ,
109 ,110 ,111 ,113 ,114 ,115 ,117 ,118 ,119 ,
121 ,122 ,124 ,125 ,126 ,128 ,129 ,131 ,132 ,
133 ,135 ,136 ,138 ,139 ,141 ,142 ,144 ,145 ,
147 ,148 ,150 ,151 ,153 ,154 ,156 ,158 ,159 ,
161 ,162 ,164 ,166 ,167 ,169 ,170 ,172 ,174 ,
175 ,177 ,179 ,180 ,182 ,184 ,185 ,187 ,189 ,
190 ,192 ,194 ,196 ,197 ,199 ,201 ,203 ,205 ,
206 ,208 ,210 ,212 ,214 ,215 ,217 ,219 ,221 ,
223 ,225 ,227 ,228 ,230 ,232 ,234 ,236 ,238 ,
240 ,242 ,244 ,246 ,248 ,250 ,252 ,254 ,256
};
*/
//beta = 2
/*
const unsigned char INTENSITY[128] ={
0 ,0 ,
0 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,1 ,2 ,2 ,2 ,
2 ,3 ,3 ,3 ,3 ,4 ,4 ,4 ,5 ,5 ,6 ,6 ,7 ,7 ,
7 ,8 ,8 ,9 ,10 ,10 ,11 ,11 ,12 ,12 ,13 ,14 ,14 ,15 ,
16 ,17 ,17 ,18 ,19 ,20 ,20 ,21 ,22 ,23 ,24 ,24 ,25 ,26 ,
27 ,28 ,29 ,30 ,31 ,32 ,33 ,34 ,35 ,36 ,37 ,38 ,39 ,40 ,
42 ,43 ,44 ,45 ,46 ,47 ,49 ,50 ,51 ,52 ,54 ,55 ,56 ,58 ,
59 ,60 ,62 ,63 ,65 ,66 ,67 ,69 ,70 ,72 ,73 ,75 ,76 ,78 ,
80 ,81 ,83 ,84 ,86 ,88 ,89 ,91 ,93 ,94 ,96 ,98 ,100 ,101 ,
103 ,105 ,107 ,109 ,110 ,112 ,114 ,116 ,118 ,120 ,122 ,124 ,126 ,128 ,
};
*/
// adjusted intensity for offset needed for AP8800 drivers
// beta = 2
const unsigned char INTENSITY[128] ={
0,0,0,1,1,1,2,2,2,2,3,3,3,4,4,5,5,6,6,7,7,8,9,9,10,11,12,13,13,14,15,16,17,18,19,20,22,23,24,25,26,28,29,30,32,33,35,36,38,39,41,42,44,46,47,49,51,53,54,56,58,60,62,64,66,68,70,72,74,77,79,81,83,86,88,90,93,95,98,100,103,105,108,110,113,116,118,121,124,127,130,132,135,138,141,144,147,150,153,157,160,163,166,169,173,176,179,183,186,190,193,197,200,204,207,211,215,218,222,226,230,233,237,241,245,249,253,255
};
#endif //LOOKUP_H