Zamaninda TI firmasina TMS320 serisi icin boyle bir geri bildirimde bulundum. Ilk dokuman revizyonunda dedigim duzeltme yapildi. Bir sonrakinde ise geri kaldirildi.
Adamlarin bu ise bakan kismini yanlis yonlendirip onlarin da kafasini bulandirmisim. Sonra asil uzmanlari olayin dedigim gibi degil orjinal dokumandaki gibi oldugu icin bir sonraki revizyonda o aciklamayi eski haline getirdiler.
Bu olaydan sonra hic bir firmaya geri bildirimde bulunmam. Cunku elimizdeki bilgi cok sinirli.
Benim buldugum hata su sekildeydi.
Timerin 2 kanalinda 1. kanal A adresinde, ikinci kanal A+ 0x100 adresindeydi. H bridge uygulamalarinda DC motoru gayet guzel kontrol ediyordum.
Sonra 3 fazli uygulama yapmak icin ucuncu kanali devreye almam gerekti ve A+0x200 adresine ulasarak 3 kanali kumanda etmeye calistim ve olmadi.
Halbuki A ve A+100 adreslerindeki registerin hepsi duzgun ilerliyordu. Mesela A+4 Duty register, ise A+0x104 de diger kanalin Duty registeriydi.
A+8 PWM modu ise A+0x108x de giger kanalin PWM modu idi. Bu sekilde registerler hep simetrik idi.
Bu sebeple A+0x200 de ucuncu kanala ait registerlerin base degeri olmaliydi. Fakat yazdigim kod 3. kanala hukmedemiyordu.
Adamlar sebebini bilmedigim bir nedenden oturu 3. kanali B gibi kel alaka bir adres alaninda olusturmuslar ve bunu da dokumante etmisler.
Bana mi kaldi bu adresin A+0x200 de olmasi gerektigini ve buna gore yazilan kodun calismadigini bildirerek timerin 3. kanalinda hata oldugunu bildiren duzeltme talebinde bulunmak.
Adamlar yazdigim kodu da denemisler evet hakli Cipin 3. kanalinda hata var demisler. Dokumani revize ettiler. Sonra da asil gercek ortaya cikti.
Kendimi cok suclu buldum utandim hala da utaniyorum.