]> jspc29.x-matter.uni-frankfurt.de Git - hades_mdc_settings.git/commitdiff
new T sensors for plane 2
authorhadaq <hadaq@hades33.gsi.de>
Tue, 12 Nov 2024 13:35:15 +0000 (14:35 +0100)
committerhadaq <hadaq@hades33.gsi.de>
Tue, 12 Nov 2024 13:35:15 +0000 (14:35 +0100)
installation/mbo_positions.db
installation/powerdistributor_positions.db
installation/temperature_sensors.db
scripts/MDC.pm
scripts/read_1wire_sensors.pl
settings_power/settings_voltage.db

index 13f1a00e42745adee1f2762087f729a68ac967e7..f21e6b3f819badc82d09b05a7a6a1600e2bd393d 100644 (file)
@@ -16,7 +16,7 @@
 0        0        13       0        306
 
 0        1        0        0        341
-0        1        1        1        837
+0        1        1        1        822
 0        1        2        1        838
 0        1        3        0        338
 0        1        4        0        330
 0        4        4        0        362
 0        4        5        0        342
 0        4        6        1        827
-0        4        7        1        825
+0        4        7        1        818
 0        4        8        0        360
 0        4        9        0        357
 0        4        10       1        840
 0        4        11       0        348
 0        4        12       1        843
-0        4        13       0        349
+0        4        13       0        435
 
 0        5        0        0        312
 0        5        1        1        809
-0        5        2        1        819
+0        5        2        1        800
 0        5        3        0        361
 0        5        4        0        354
 0        5        5        0        335
 
 ##########################################
 
-1        0        0        0        0
-1        0        1        0        0
-1        0        2        0        0
-1        0        3        0        0
-1        0        4        0        0
-1        0        5        0        0
-1        0        6        0        0
-1        0        7        0        0
-1        0        8        0        0
-1        0        9        0        0
-1        0        10       0        0
-1        0        11       0        0
-1        0        12       0        0
-1        0        13       0        0
-1        0        14       1        0
-1        0        15       1        0
+1        0        0        0        432
+1        0        1        0        452
+1        0        2        0        439
+1        0        3        0        448
+1        0        4        0        436
+1        0        5        0        316
+1        0        6        0        326
+1        0        7        0        329
+1        0        8        0        442
+1        0        9        0        445
+1        0        10       0        416
+1        0        11       0        444
+1        0        12       0        424
+1        0        13       0        441
+1        0        14       1        871
+1        0        15       1        873
 
-1        1        0        0        0
-1        1        1        0        0
-1        1        2        0        0
-1        1        3        0        0
-1        1        4        0        0
-1        1        5        0        0
-1        1        6        0        0
-1        1        7        0        0
-1        1        8        0        0
-1        1        9        0        0
-1        1        10       0        0
-1        1        11       0        0
-1        1        12       0        0
-1        1        13       0        0
-1        1        14       1        0
-1        1        15       1        0
+1        1        0        0        463
+1        1        1        0        462
+1        1        2        0        386
+1        1        3        0        383
+1        1        4        0        307
+1        1        5        0        417
+1        1        6        0        461
+1        1        7        0        447
+1        1        8        0        464
+1        1        9        0        453
+1        1        10       0        323
+1        1        11       0        460
+1        1        12       0        408
+1        1        13       0        303
+1        1        14       1        875
+1        1        15       1        876
 
-1        2        0        0        0
-1        2        1        0        0
-1        2        2        0        0
-1        2        3        0        0
-1        2        4        0        0
-1        2        5        0        0
-1        2        6        0        0
-1        2        7        0        0
-1        2        8        0        0
-1        2        9        0        0
-1        2        10       0        0
-1        2        11       0        0
-1        2        12       0        0
-1        2        13       0        0
-1        2        14       1        0
-1        2        15       1        0
+1        2        0        0        450
+1        2        1        0        457
+1        2        2        0        344
+1        2        3        0        451
+1        2        4        0        376
+1        2        5        0        414
+1        2        6        0        308
+1        2        7        0        409
+1        2        8        0        387
+1        2        9        0        405
+1        2        10       0        331
+1        2        11       0        420
+1        2        12       0        410
+1        2        13       0        395
+1        2        14       1        112
+1        2        15       1        855
 
-1        3        0        0        0
-1        3        1        0        0
-1        3        2        0        0
-1        3        3        0        0
-1        3        4        0        0
-1        3        5        0        0
-1        3        6        0        0
-1        3        7        0        0
-1        3        8        0        0
-1        3        9        0        0
-1        3        10       0        0
-1        3        11       0        0
-1        3        12       0        0
-1        3        13       0        0
-1        3        14       1        0
-1        3        15       1        0
+1        3        0        0        392
+1        3        1        0        372
+1        3        2        0        393
+1        3        3        0        418
+1        3        4        0        332
+1        3        5        0        394
+1        3        6        0        367
+1        3        7        0        390
+1        3        8        0        412
+1        3        9        0        373
+1        3        10       0        419
+1        3        11       0        391
+1        3        12       0        374
+1        3        13       0        304
+1        3        14       1        850
+1        3        15       1        880
 
-1        4        0        0        0
-1        4        1        0        0
-1        4        2        0        0
-1        4        3        0        0
-1        4        4        0        0
-1        4        5        0        0
-1        4        6        0        0
-1        4        7        0        0
-1        4        8        0        0
-1        4        9        0        0
-1        4        10       0        0
-1        4        11       0        0
-1        4        12       0        0
-1        4        13       0        0
-1        4        14       1        0
-1        4        15       1        0
+1        4        0        0        415
+1        4        1        0        328
+1        4        2        0        381
+1        4        3        0        334
+1        4        4        0        369
+1        4        5        0        368
+1        4        6        0        400
+1        4        7        0        429
+1        4        8        0        422
+1        4        9        0        427
+1        4        10       0        389
+1        4        11       0        430
+1        4        12       0        301
+1        4        13       0        437
+1        4        14       1        872
+1        4        15       1        803
 
-1        5        0        0        0
-1        5        1        0        0
-1        5        2        0        0
-1        5        3        0        0
-1        5        4        0        0
-1        5        5        0        0
-1        5        6        0        0
-1        5        7        0        0
-1        5        8        0        0
-1        5        9        0        0
-1        5        10       0        0
-1        5        11       0        0
-1        5        12       0        0
-1        5        13       0        0
-1        5        14       1        0
-1        5        15       1        0
+1        5        0        0        421
+1        5        1        0        314
+1        5        2        0        352
+1        5        3        0        440
+1        5        4        0        349
+1        5        5        0        428
+1        5        6        0        320
+1        5        7        0        411
+1        5        8        0        309
+1        5        9        0        433
+1        5        10       0        401
+1        5        11       0        318
+1        5        12       0        317
+1        5        13       0        319
+1        5        14       1        802
+1        5        15       1        801
 
 ##########################################                                
 
index 6848c651d5fd7bdc60cf4e209afed9869cdbfef6..7d09d1a680137918e07464c66f5226bf4fdc6a2f 100644 (file)
@@ -4,18 +4,18 @@
 #  Plane   #  Sector  #  Serial
 ###################################
     0           0          066
-    0           1          000
-    0           2          000
-    0           3          000
-    0           4          000
+    0           1          067
+    0           2          069
+    0           3          061
+    0           4          059
     0           5          062
 
-    1           0          000
-    1           1          000
-    1           2          000
-    1           3          000
-    1           4          000
-    1           5          000
+    1           0          073
+    1           1          064
+    1           2          072
+    1           3          077
+    1           4          055
+    1           5          065
 
     2           0          000
     2           1          000
index cbbe995050a5b8bf37e264204e1a341ad054f270..ad2eace2c70c876dcfba6c0ae86999480332c5e1 100644 (file)
@@ -1,23 +1,23 @@
-#  Plane   #  Sector  #     inner short     #     outer short     #     inner long      #     outer long      #
-###############################################################################################################
-    0           0        0                     0                     ce000001f1108e28      0
-    0           1        22000001f1438f28      54000001f130e628      54000001f130e628      81000001f1496e28
-    0           2        0                     0                     0                     0
-    0           3        df000001f1508528      1f000001f1449e28      68000001f1438228      2d000001f1299428
-    0           4        3b000001f159ad28      21000001f110ad28      1c0000028f6efa28      e4000001f12a8028
-    0           5        3f000001f10c6928      1e000001f12efc28      0                     53000001f122ed28
+#  Plane   #  Sector  #     inner short     #     outer short     #     inner long      #     outer long      #     inner center    #
+#####################################################################################################################################
+    0           0        A3000001f1408528      1F000001f14F7D28      B7000001f110A428      78000001F149E028         A2000001F1194E28
+    0           1        22000001f1438f28      54000001f130e628      7e000001f12f9e28      81000001f1496e28      72000001F10CD428      
+    0           2        96000001f1132328      a6000001f14adc28      55000001f141EE28      AD000001F12B0228      0D000001F10B8428
+    0           3        df000001f1508528      1f000001f1449e28      68000001f1438228      2d000001f1299428      94000001F1CF2628
+    0           4        3b000001f159ad28      21000001f110ad28      1c0000028f6efa28      e4000001f12a8028      D4000001F12B2828
+    0           5        3f000001f10c6928      1e000001f12efc28      ce000001f1108e28      53000001f122ed28      66000001F140D028
 
-    1           0        5c000001f111b828      0                     0                     0
-    1           1        4d000001f14ebd28      0                     d4000001f12b2828      0a0000028f9a8b28
-    1           2        0                     0                     d1000001f116bc28      df000001f128d928
-    1           3        fb000001f129cf28      0                     d4000001f1291a28      0
-    1           4        0f000001f12b9c28      0                     70000001f1217928      b2000001f1284d28
-    1           5        0                     0                     0c000001f14e6a28      a40000028f6ac728
+    1           0        5c000001f111b828      0                     46000001F1325F28      3A000001F13F6328      70000001f14cd128
+    1           1        4d000001f14ebd28      0                     d4000001f12b2828      0a0000028f9a8b28      87000001f12C3B28
+    1           2        42000001f1188828      0                     d1000001f116bc28      df000001f128d928      E3000001f1278528
+    1           3        fb000001f129cf28      0                     F6000001F1162528      00000001F1485628      C2000001f1424928
+    1           4        0f000001f12b9c28      0                     70000001f1217928      b2000001f1284d28      D5000001f13C6B28
+    1           5        0                     0                     0c000001f14e6a28      a40000028f6ac728      18000001f10BBF28
 
     2           0        0                     0                     0                     0
     2           1        0                     0                     0                     0
     2           2        0                     0                     0                     0
-    2           3        0                     0                     0                     0
+    2           3        5C000001F116F728      0                     0                     0
     2           4        0                     0                     0                     0
     2           5        0                     0                     0                     0
 
index afa725076d3761a9b05f9aa77f56d5d48c028388..0c0d0d94859a976f3abf453260ade3e689f0d0d6 100644 (file)
@@ -41,20 +41,23 @@ sub get_position {
   my $addr = shift @_;
   my ($p,$s,$b,$e);
   
-  if(($addr&0xf000) == 0x8000) {
+  if(($addr&0xfe00) == 0x8e00) {
     $e = 5;
     $b = $addr & 0xf;
     $s = (($addr>>4)&0xf)%6;
     $p = (($addr>>8)==0x8e)?0:2;
     $p += 1 if (($addr>>4)&0xf)>=6;
     }
-  else {
+  elsif($addr > 0xa000 && $addr < 0xbfff) {
     $e = $addr & 0x3;
     $b = ($addr>>4) & 0xf;
     $s = (($addr>>8)&0xf)%6;
     $p = (($addr>>12)&1)?2:0;
     $p += 1 if (($addr>>8)&0xf)>=6;
     }
+  else {
+    return(-1,-1,-1,-1);
+    } 
     
   if($e == 2) {
     if($longboards->[$p][$b]==0) { return(-1,-1,-1,-1); }
index 58c5b9f88a612ca0b84ea42ebcd651e0729fcf40..3dda5df535fb8f2e56301556359a659b806d55ae 100755 (executable)
@@ -4,50 +4,135 @@ use Getopt::Long;
 use HADES::TrbNet;
 use Time::HiRes qw(usleep);
 use Data::Dumper;
+use POSIX qw/strftime/;
 
 
 trb_init_ports() or die trb_strerror();
 
 
-i2c_cmd(0xfe90,0x30,0xd2,0xe1);
-usleep(1000);
+my $boards;
 
-i2c_cmd(0xfe90,0x30,,0xb4);
-usleep(2000);
 
-i2c_cmd(0xfe90,0x30,0xa5,0xcc);
-usleep(2000);
-i2c_cmd(0xfe90,0x30,0xa5,0x44);
-usleep(2000);
+trb_register_write(0xfe90,0xd680,25); #not 400kHz speed
+#Configure I2C chips
+i2c_cmd(0xfe90,0x30,0xd2,0xe1); 
+usleep(1000);
 
-sleep(1);
+#Detect I2C buses
+my $res = trb_register_read(0xfe90,0xd684);
+foreach my $b (keys %$res) {
+  if (($res->{$b}&0xff0000) == 0) {
+    $boards->{$b}=();
+    }
+  }
 
-i2c_cmd(0xfe90,0x30,,0xb4);
-usleep(2000);
+#print Dumper $res;
+#exit;
+#Loop through buses and find sensors  
+foreach my $b (sort keys %$boards) {
+  searchROM($b);
+  }
 
-i2c_cmd(0xfe90,0x30,0xa5,0xcc);
-usleep(2000);
-i2c_cmd(0xfe90,0x30,0xa5,0xbe);
-usleep(2000);
+while(1) {  
+  print strftime("%Y-%m-%d %H:%M:%S\n",localtime);
+  #Send broadcast conversion command
+  i2c_cmd(0xfe90,0x30,,0xb4);
+  usleep(2000);
+  i2c_cmd(0xfe90,0x30,0xa5,0xcc);
+  usleep(2000);
+  i2c_cmd(0xfe90,0x30,0xa5,0x44);
+  sleep(1);
+
+  #Loop through buses and read data
+  foreach my $b (sort keys %$boards) {
+    readData($b);
+    }
+  last;
+  sleep 10;
+  }
 
-i2c_cmd(0xfe90,0x30,0x96);
-usleep(2000);
-i2c_cmd(0xfe90,0x30,0xe1,0xe1);
-usleep(2000);
-my $ret1 = i2c_cmd(0xfe90,0x30,0xe1);
 
-i2c_cmd(0xfe90,0x30,0x96);
-usleep(2000);
-i2c_cmd(0xfe90,0x30,0xe1,0xe1);
-usleep(2000);
-my $ret2 = i2c_cmd(0xfe90,0x30,0xe1);
 
-foreach my $f (keys %$ret1) {
-  next if ($ret1->{$f} == 0xff && $ret2->{$f} == 0xff);
-  printf("%04x\t%2.1f\n",$f,($ret1->{$f}+($ret2->{$f} << 8))/2);
+sub searchROM {
+  my($board) = @_;
+  my $LastDiscrepancy = -1;
+  my $LastZero = -1;
+  my $currentROM = 0;
+  my $lastROM = 0;
+  my $direction = 0;
+#   printf("%04x\n",$board);
+  while(1) {
+    $currentROM = 0;
+    $LastZero = -1;
+    #reset, search ROM
+    i2c_cmd($board,0x30,,0xb4);
+    usleep(2000);
+    i2c_cmd($board,0x30,0xa5,0xf0);
+    usleep(2000);
+    
+    for my $i (0..63) {
+      $direction = 0                        if $i > $LastDiscrepancy;
+      $direction = 1                        if $i == $LastDiscrepancy;
+      $direction = ($lastROM>>$i)&1         if $i < $LastDiscrepancy;
+      
+      i2c_cmd($board,0x30,0x78,$direction << 7);
+      usleep(2000);  
+      my $ret2 = i2c_cmd(0xfe90,0x30,0xe1);
+      my $idbit = ($ret2->{$board}&0x20)?1:0;
+      my $notidbit = ($ret2->{$board}&0x40)?1:0;
+      my $realdir = ($ret2->{$board}&0x80)?1:0;
+      return if $idbit && $notidbit;
+      $LastZero = $i if ($realdir == 0 && $idbit == 0 && $notidbit == 0);
+      $currentROM |= ($realdir << $i);
+      }
+#     printf("%08x %i %i\n",$currentROM,$LastZero,$LastDiscrepancy);
+    $LastDiscrepancy = $LastZero;
+    $boards->{$board}{$currentROM}=0;
+    $lastROM = $currentROM;
+    last if $LastDiscrepancy == -1;
+    }
+    
+  return;
   }
 
-
+sub readData {
+  my($board) = @_;
+  foreach my $uid (sort keys %{$boards->{$board}}) {
+    i2c_cmd($board,0x30,,0xb4);
+    usleep(2000);
+    i2c_cmd($board,0x30,0xa5,0x55);
+    usleep(2000);
+    
+    for my $i (0..7) {
+      i2c_cmd($board,0x30,0xa5,($uid>>8*$i)&0xff);
+      usleep(2000);
+      }
+    i2c_cmd($board,0x30,0xa5,0xbe);
+    usleep(2000);
+    
+    i2c_cmd($board,0x30,0x96);
+    usleep(2000);
+    i2c_cmd($board,0x30,0xe1,0xe1);
+    usleep(2000);
+    my $ret1 = i2c_cmd($board,0x30,0xe1);
+    i2c_cmd($board,0x30,0x96);
+    usleep(2000);
+    i2c_cmd($board,0x30,0xe1,0xe1);
+    usleep(2000);
+    my $ret2 = i2c_cmd($board,0x30,0xe1);
+    usleep(2000);
+
+    my $temp = ($ret1->{$board}+($ret2->{$board} << 8));
+    printf("%04x\t%016x\t---\n",$board,$uid) and next if $temp == 0xffff;
+    $temp /= 16;
+    printf("%04x\t%016x\t%2.2f\n",$board,$uid,$temp);
+    $boards->{$board}{$uid} = $temp;
+    }
+  }
+  
+  
+  
+  
 
 sub i2c_cmd {
   my ($fpga,$addr,$cmd,$byte1,$byte2) = @_;
@@ -64,13 +149,20 @@ sub i2c_cmd {
 
   if(defined($byte1)) {
     trb_register_write_mem($fpga,0xd681,0,[$reg_flag,$reg_data],2);
+    usleep(2000);
+    $reg_return = trb_register_read($fpga,0xd684);
+    my $error = ($reg_return->{$fpga} >> 16) & 0xdf;
+    print STDERR $error."\n" if $error;
+    printf("E: %x %x %x %x %x\n",$fpga,$addr,$cmd,$byte1,$byte2) and die if $error == 0x80;
     }
   else {
     $reg_flag |= 0x100;
     trb_register_write_mem($fpga,0xd681,0,[$reg_flag,$reg_data],2);
-    usleep(1000);
+    usleep(2000);
     $reg_return = trb_register_read($fpga,0xd684);
-
+    my $error = ($reg_return->{$fpga} >> 16) & 0xdf;
+    print STDERR $error."\n" if $error;
+    printf("E: %x %x %x %x %x\n",$fpga,$addr,$cmd,$byte1,$byte2) and die if $error == 0x80;
     my $ret;
     foreach my $f (keys %$reg_return) {
       $ret->{$f} = $reg_return->{$f}&($word?0xffff:0xff);
index c00547c96df166c4b3efe4dd7a2baf5647867327..6b4631d5e970356aead00ba944735638b96ddf26 100644 (file)
   0x8e0b          4              5
   0x8e0c          4              5
   0x8e0d          4              4
-  0x8e10          7              7
-  0x8e11          7              7
-  0x8e12          7              7
-  0x8e13          7              7
-  0x8e14          7              7
-  0x8e15          7              7
-  0x8e16          7              7
-  0x8e17          7              7
-  0x8e18          7              7
-  0x8e19          7              7
-  0x8e1a          7              7
-  0x8e1b          7              7
-  0x8e1c          7              7
-  0x8e1d          7              7
-  0x8e20          7              7
-  0x8e21          7              7
-  0x8e22          7              7
-  0x8e23          7              7
-  0x8e24          7              7
-  0x8e25          7              7
-  0x8e26          7              7
-  0x8e27          7              7
-  0x8e28          7              7
-  0x8e29          7              7
-  0x8e2a          7              7
-  0x8e2b          7              7
-  0x8e2c          7              7
-  0x8e2d          7              7
-  0x8e30          7              7
-  0x8e31          7              7
-  0x8e32          7              7
-  0x8e33          7              7
-  0x8e34          7              7
-  0x8e35          7              7
-  0x8e36          7              7
-  0x8e37          7              7
-  0x8e38          7              7
-  0x8e39          7              7
-  0x8e3a          7              7
-  0x8e3b          7              7
-  0x8e3c          7              7
-  0x8e3d          7              7
-  0x8e40          7              7
-  0x8e41          7              7
-  0x8e42          7              7
-  0x8e43          7              7
-  0x8e44          7              7
-  0x8e45          7              7
-  0x8e46          7              7
-  0x8e47          7              7
-  0x8e48          7              7
-  0x8e49          7              7
-  0x8e4a          7              7
-  0x8e4b          7              7
-  0x8e4c          7              7
-  0x8e4d          7              7
-  0x8e50          5              6
-  0x8e51          4              4
-  0x8e52          4              4
-  0x8e53          4              6
-  0x8e54          5              5
-  0x8e55          6              7
+  0x8e10          4              4
+  0x8e11          4              4
+  0x8e12          5              6
+  0x8e13          5              5
+  0x8e14          5              5
+  0x8e15          5              6
+  0x8e16          4              5
+  0x8e17          4              4
+  0x8e18          4              4
+  0x8e19          4              4
+  0x8e1a          4              5
+  0x8e1b          4              4
+  0x8e1c          5              5
+  0x8e1d          4              4
+  0x8e20          4              5
+  0x8e21          3              3
+  0x8e22          3              3
+  0x8e23          4              4
+  0x8e24          3              4
+  0x8e25          3              3
+  0x8e26          3              4
+  0x8e27          3              3
+  0x8e28          3              3
+  0x8e29          3              3
+  0x8e2a          3              4
+  0x8e2b          3              3
+  0x8e2c          4              4
+  0x8e2d          3              3
+  0x8e30          4              5
+  0x8e31          3              5
+  0x8e32          3              3
+  0x8e33          4              5
+  0x8e34          4              5
+  0x8e35          2              3
+  0x8e36          3              3
+  0x8e37          2              3
+  0x8e38          5              5
+  0x8e39          4              5
+  0x8e3a          4              5
+  0x8e3b          3              3
+  0x8e3c          4              4
+  0x8e3d          3              3
+  0x8e40          4              4
+  0x8e41          4              5
+  0x8e42          4              4
+  0x8e43          5              6
+  0x8e44          5              6
+  0x8e45          5              5
+  0x8e46          4              4
+  0x8e47          4              4
+  0x8e48          5              6
+  0x8e49          5              6
+  0x8e4a          4              4
+  0x8e4b          4              5
+  0x8e4c          4              4
+  0x8e4d          4              5
+  0x8e50          5              5
+  0x8e51          3              4
+  0x8e52          3              3
+  0x8e53          4              7
+  0x8e54          4              5
+  0x8e55          5              7
   0x8e56          4              4
   0x8e57          4              4
-  0x8e58          6              7
+  0x8e58          5              6
   0x8e59          5              6
   0x8e5a          4              5
   0x8e5b          4              4
   0x8e5c          4              5
-  0x8e5d          4              5
+  0x8e5d          4              4
   0x8e60          7              7
-  0x8e61          7              7
-  0x8e62          7              7
-  0x8e63          7              7
-  0x8e64          7              7
-  0x8e65          7              7
-  0x8e66          7              7
-  0x8e67          7              7
-  0x8e68          7              7
-  0x8e69          7              7
-  0x8e6a          7              7
-  0x8e6b          7              7
-  0x8e6c          7              7
-  0x8e6d          7              7
-  0x8e6e          7              7
+  0x8e61          3              4
+  0x8e62          3              4
+  0x8e63          3              4
+  0x8e64          3              3
+  0x8e65          4              4
+  0x8e66          3              4
+  0x8e67          3              4
+  0x8e68          3              4
+  0x8e69          3              4
+  0x8e6a          3              3
+  0x8e6b          4              4
+  0x8e6c          3              3
+  0x8e6d          3              3
+  0x8e6e          3              3
   0x8e6f          7              7
-  0x8e70          7              7
-  0x8e71          7              7
-  0x8e72          7              7
-  0x8e73          7              7
-  0x8e74          7              7
-  0x8e75          7              7
-  0x8e76          7              7
-  0x8e77          7              7
-  0x8e78          7              7
-  0x8e79          7              7
-  0x8e7a          7              7
-  0x8e7b          7              7
-  0x8e7c          7              7
-  0x8e7d          7              7
-  0x8e7e          7              7
-  0x8e7f          7              7
-  0x8e80          7              7
-  0x8e81          7              7
-  0x8e82          7              7
-  0x8e83          7              7
-  0x8e84          7              7
-  0x8e85          7              7
-  0x8e86          7              7
-  0x8e87          7              7
-  0x8e88          7              7
-  0x8e89          7              7
-  0x8e8a          7              7
-  0x8e8b          7              7
-  0x8e8c          7              7
-  0x8e8d          7              7
-  0x8e8e          7              7
-  0x8e8f          7              7
-  0x8e90          7              7
-  0x8e91          7              7
-  0x8e92          7              7
-  0x8e93          7              7
-  0x8e94          7              7
-  0x8e95          7              7
+  0x8e70          2              2
+  0x8e71          2              3
+  0x8e72          2              3
+  0x8e73          2              3
+  0x8e74          2              3
+  0x8e75          3              4
+  0x8e76          3              3
+  0x8e77          3              3
+  0x8e78          2              3
+  0x8e79          2              3
+  0x8e7a          2              2
+  0x8e7b          3              4
+  0x8e7c          2              2
+  0x8e7d          2              3
+  0x8e7e          2              2
+  0x8e7f          3              3
+  0x8e80          2              2
+  0x8e81          2              3
+  0x8e82          4              4
+  0x8e83          2              3
+  0x8e84          2              3
+  0x8e85          3              4
+  0x8e86          2              3
+  0x8e87          2              3
+  0x8e88          3              3
+  0x8e89          2              3
+  0x8e8a          2              3
+  0x8e8b          4              4
+  0x8e8c          2              2
+  0x8e8d          2              2
+  0x8e8e          2              2
+  0x8e8f          2              2
+  0x8e90          2              3
+  0x8e91          3              3
+  0x8e92          3              3
+  0x8e93          3              3
+  0x8e94          2              3
+  0x8e95          3              3
   0x8e96          7              7
-  0x8e97          7              7
-  0x8e98          7              7
-  0x8e99          7              7
-  0x8e9a          7              7
-  0x8e9b          7              7
-  0x8e9c          7              7
-  0x8e9d          7              7
-  0x8e9e          7              7
-  0x8e9f          7              7
+  0x8e97          2              3
+  0x8e98          3              3
+  0x8e99          3              3
+  0x8e9a          2              3
+  0x8e9b          3              3
+  0x8e9c          2              2
+  0x8e9d          2              2
+  0x8e9e          2              2
+  0x8e9f          2              2
   0x8ea0          7              7
   0x8ea1          7              7
   0x8ea2          7              7
   0x8ead          7              7
   0x8eae          7              7
   0x8eaf          7              7
-  0x8eb0          7              7
-  0x8eb1          7              7
-  0x8eb2          7              7
-  0x8eb3          7              7
-  0x8eb4          7              7
-  0x8eb5          7              7
-  0x8eb6          7              7
-  0x8eb7          7              7
-  0x8eb8          7              7
-  0x8eb9          7              7
-  0x8eba          7              7
-  0x8ebb          7              7
-  0x8ebc          7              7
+  0x8eb0          3              3
+  0x8eb1          3              4
+  0x8eb2          3              4
+  0x8eb3          3              4
+  0x8eb4          3              4
+  0x8eb5          4              4
+  0x8eb6          4              4
+  0x8eb7          3              4
+  0x8eb8          4              4
+  0x8eb9          3              4
+  0x8eba          3              4
+  0x8ebb          4              4
+  0x8ebc          4              4
   0x8ebd          7              7
-  0x8ebe          7              7
-  0x8ebf          7              7
+  0x8ebe          3              3
+  0x8ebf          4              4
   0x8f00          7              7
   0x8f01          7              7
   0x8f02          7              7